Как удалить рекламу, когда пользователь покупает покупку в приложении

У меня есть приложение, которое я хочу, чтобы пользователи могли заплатить небольшую плату за удаление рекламы. Я считаю, что лучший способ сделать это (приложение должно оставаться бесплатным) через покупку в приложении. Мне интересно, однако, лучший способ снять рекламу и как это сделать, как только пользователь купил обновление. Любая помощь или совет будут очень благодарны.

Ответ 1

Логическое значение в NSUserDefaults выглядит как правая ставка. Вы можете проверить его при запуске, чтобы увидеть, должны ли отображаться объявления, чтобы приложение скрывало или показывало рекламу соответствующим образом и устанавливало соответствующее значение, когда пользователь платит, чтобы отключить его.

Отредактировано для добавления:

Просто увидел это на форумах разработчиков. Если вы особенно обеспокоены тем, что пользователи на взломанных устройствах, играя с вашими NSUserDefaults boolean, вы можете альтернативно хранить данные с помощью keychain. Брелок не может вмешиваться так же, как NSUserDefaults. Подробнее об этой ссылке.

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

Ответ 2

Другим подходом было бы записать квитанцию ​​из SKPaymentTransaction, полученную при покупке или восстановлении. При последующих запусках вы можете проверить, что квитанция с хранилищем приложений в фоновом режиме, при необходимости повторно включить рекламу для следующего запуска.

Проверка документации о поступлениях в магазин

Хотя я не думаю, что это защитит вас от вставки в действительную пользовательскую квитанцию ​​из других источников, сложнее обойти, чем переключить логическое значение в NSUserDefaults. Любой, кто собирается на эту длину, вряд ли будет платить за ваше приложение в любом случае.

Ответ 3

Ну, эта проблема не ограничена iphone. Вы должны применить один из многих алгоритмов безопасности. (Я не знаю, как это делается, но я сделаю предложение) Вы можете, например, после покупки сделать приложение отправить IMEI на сервер покупки, который будет генерировать код, который приложение будет сохранять. Затем все приложения будут проверять, чтобы включить/отключить рекламу. (попробуйте сделать код с некоторым алгоритмом хеширования или таким)

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