Есть ли способ идентифицировать учетную запись, которая купила приложение?

#iphone #cocoa-touch #encryption #in-app-purchase #account

#iPhone #cocoa-touch #шифрование #покупка в приложении #Учетная запись

Вопрос:

Я хочу использовать In-App-Purchase для загрузки содержимого в приложение. Чтобы предотвратить «кражу» контента, я хочу предоставить каждому пользователю зашифрованную ссылку для скачивания, которую можно расшифровать только на текущем устройстве. Файлы, в которых хранятся зашифрованные ссылки, должны быть синхронизированы на других устройствах того же пользователя, поэтому использование UUID для шифрования / дешифрования не сработает.

Есть ли какая-либо информация (идентификатор учетной записи, хэш, что угодно), которую мое приложение может запрашивать на всех устройствах пользователей и которая дает тот же результат при вызове на устройствах, которые купили приложение с той же учетной записью Itunes?

Если нет, то какой был бы подходящий способ решить исходную проблему? Я хочу, чтобы кто-нибудь не получал ссылку для скачивания с одного устройства и не использовал ее на другом устройстве без необходимости платить за это.

Ответ №1:

Я полагаю, что платформа Store Kit позаботится об этом за вас. Если я не неправильно понял ваш вопрос. Я не уверен, как ваш контент мог быть украден, если он может быть загружен вашим приложением только после того, как ваше приложение подтвердит, что платеж был авторизован.

Из руководства для разработчиков iOS:

Вы внедряете покупку в приложении в своем приложении iOS, используя платформу Store Kit. Store Kit подключается к App Store от имени вашего приложения для безопасной обработки платежей от пользователя. Store Kit предлагает пользователю авторизовать платеж, затем уведомляет ваше приложение, чтобы оно могло предоставить приобретенные пользователем товары.

Ответ №2:

Лучший способ выполнить то, что вы пытаетесь сделать, — отправить квитанцию IAP на сервер и заставить его ответить содержимым, если квитанция подтвердится. Смотрите раздел Проверка чеков в магазине.