Как я могу осуществить покупку «отключить рекламу» в моей игре?

18

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

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

user3807592
источник
1
Вторая часть вопроса слишком широка (я вижу, Байт уже отредактировал ее); первая часть вопроса неясна. Вы спрашиваете, нормально ли это, морально или этично? Или вы спрашиваете, как сохранить тот факт, что услуга была оплачена на устройстве?
1
Сейчас я просто собираюсь предположить, что вы спрашиваете, как это сделать, поскольку это единственный удаленный способ интерпретации вопроса.

Ответы:

29

Если вы используете API-интерфейсы покупок в Google Play для реализации покупки «отключить рекламу», это в основном для вас. Вы захотите создать непотребляемый продукт, который пользователи могут приобрести. Непотребляемые товары представляют собой, по сути, постоянную выгоду или разблокировку. Такие покупки могут быть восстановлены пользователем на вытертых / чистых / новых телефонах, поэтому им никогда не потребуется повторно отключать рекламу.

Эта страница содержит подробные инструкции по интеграции IAP API с вашей игрой. Шаги, по сути:

  • Добавьте библиотеку в ваш проект и обновите файлы манифеста.
  • Привязать к IInAppBillingServiceчерез сервисное соединение.
  • Отправляйте и получайте соответствующие данные службе через этот интерфейс ( getSkuDetailsчтобы получить список доступных продуктов, getBuyIntentначать транзакцию покупки и т. Д.).

Вам также нужно будет проверить через getPurchases, чтобы увидеть, приобрел ли пользователь элемент «отключить рекламу» (и если да, то фактически отключить рекламу).

Вы создаете фактический покупной элемент «отключить рекламу» из консоли разработчика Google Play.


источник
Итак, подождите, Google заранее знает, есть ли в приложении «расходуемые» IAP или нет? Они должны действительно показать это в магазине тогда; «Покупки в приложении» могут означать что угодно.
Random832
3
@ Random832 Нет, я так не думаю. Он только знает, является ли продукт подпиской или нет. Вы можете отправить запрос «Потребительская покупка» для любого продукта без подписки, это не сам продукт, который можно использовать. Я предполагаю, что теоретически они могли бы попытаться просканировать ваш двоичный файл и найти вызовы для этого интерфейса, но я сомневаюсь, что они беспокоятся.
1
Может быть, это не совпадение, что IAP и API являются анаграммами друг друга.
ArtOfCode
Я выкручиваю свой собственный язык, пытаясь произнести IAP API ...
StorymasterQ
10

Если вы не используете инструменты Google Play, как в ответе Джоша (хотя я рекомендую вам использовать эти инструменты). Вы должны сами управлять этой информацией.

Вы хотите избежать локального хранения чего-либо на устройстве пользователя. Пользователи не хотят платить за удаление рекламы с устройства или за установку.

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

Когда пользователь приобретает удаление рекламы, вы добавляете его учетную запись в базу данных и отключаете его.

MichaelHouse
источник