В одном из моих приложений пользователи могут разблокировать полную версию с помощью покупок внутри приложения. В следующем обновлении я представлю возможность входа в наше приложение, чтобы их ход можно было синхронизировать между устройствами.
Теперь возникает проблема - когда пользователь войдет в систему, я передам информацию об их покупке на наш сервер. Однако что произойдет, если пользователь выйдет из нашего приложения, а затем войдет его друг? Устройство все еще подключено к App Store с использованием оригинального Apple ID, и они могут восстановить покупку, которая теперь будет связана с учетной записью их друга.
Как видите, теоретически пользователи могут разрешить всем своим друзьям бесплатно разблокировать наше приложение, если только мы не найдем способ однозначно связать каждую покупку с конкретным пользователем на наших серверах.
Я уверен, что это обычная проблема, так как ее обычно решают? Нам необходимо обеспечить безопасность покупок с iOS и Android.
P.S. Синхронизация выполняется через Firestore.