Android: лучшая практика проверки статуса покупки в приложении? - PullRequest
0 голосов
/ 14 июня 2019

Я внедряю биллинг в приложении в моем первом приложении на примере тривиального диска 2.

Моя простая реализация: приложение бесплатное и может быть обновлено до премиум-версии через In App Billing, предоставляя некоторые дополнительные функции. Эти функции находятся в разных действиях, иногда действие может быть выполнено, только если куплен премиум, иногда действие выглядит иначе. Так что у меня может быть только два разных состояния: базовое или премиальное.

Я много читал об этой теме, но у меня все еще есть вопросы. Я полагаю, что многие ответы от stackoverflwo относятся к более старой реализации в биллинге приложений (например: Как наилучшим образом сохранить статус покупки InApp локально? ).

Теперь мой вопрос: я должен проверить, имеет ли пользователь статус премиум в различных действиях. Какова лучшая практика, когда вы делаете это не всегда с запросом на покупку (производительность)? Это можно проверить один раз и использовать во всем приложении? У кого-нибудь есть примеры кода чего-то подобного? Я думал, что это может быть общей реализацией, но ничего не нашел ...

Кстати: правильный метод проверки, если пользователь приобрел премию, это queryPurchases из BillingClint - это правильно?

Большое спасибо за вашу помощь и мысли!

Ответы [ 2 ]

1 голос
/ 14 июня 2019

Да, вы не должны запрашивать это все время. Вам следует проверить запуск приложения и сразу после того, как пользователь купил его в приложении.

У вас должен быть одноэлементный репозиторий, который вы вводите / передаете во все свои действия, где это важно. Действия должны запрашивать этот репозиторий для текущего состояния покупки (то есть: куплено, не куплено, неизвестно)

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

0 голосов
/ 15 июня 2019

Да, queryPurchases лучше, так как не требует сети.Не забудьте подтвердить покупку при использовании биллинга 2.0 или выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...