Правильно ли я делаю эти шаги для проверки подписки на подписку на пользователя в приложении?

Я делаю приложение для Android, которое продает ежемесячную подписку в приложении. Прежде чем я погружусь в это слишком много, можно ли сказать, как это должно быть сделано правильно? Я использую API разработчика Android для Google Play.

В первый раз, когда приложение установлено, отправьте следующее в sendBillingRequest ():

  • CHECK_BILLING_SUPPORTED. Если нет, не беспокойтесь о создании пользовательского интерфейса «купить».
  • RESTORE_TRANSACTIONS. Если были транзакции, сохраните токен покупки пользователя.

Когда пользователь совершает покупку:

  • Сохраните токен покупки.
  • Отправьте запрос GET с помощью токена покупки в API разработчика Google Play, чтобы проверить подписку.
    • Если подписка действительна, сохраните срок действия подписки и даты инициации. Обеспечить доступ к приобретенным данным.
    • Если подписка недействительна, удалите токен покупки. Не предоставляйте доступ к приобретенным данным и рисуйте «не приобретенную» версию пользовательского интерфейса.

Каждый раз, когда приложение запускается, проверьте, есть ли у вас сохраненный токен покупки.

Если токен покупки не существует:

  • Не предоставляйте доступ к приобретенным данным и рисуйте «не приобретенную» версию пользовательского интерфейса.

Если токен покупки существует, проверьте дату истечения срока действия и время инициации:

  • Если (истек) или (инициация была более месяца назад)
    • Отправьте запрос GET с помощью токена покупки в API разработчика Google Play, чтобы проверить подписку.
    • Если покупка действительна, обновите сохраненные даты истечения срока действия и даты инициации. Обеспечить доступ к приобретенным данным.
    • Если покупка недействительна, удалите сохраненный токен покупки и данные об истечении срока действия и инициации. Не предоставляйте доступ и не рисуйте «не приобретенную» версию пользовательского интерфейса.
  • еще
    • Обеспечить доступ к приобретенным данным.

Да.

Я успешно выполнил биллинг в приложении таким образом.

Intereting Posts
Использование вложенного фрагмента и объекта аниматора рядом Почему я получаю NullPointerException при отправке SMS на HTC Desire или что такое SubmitPdu? Цвет фона списка андроидов остается серым, не может быть изменен на пряничном телефоне Как удалить один маркер с помощью Google Maps V2? Как оставаться на связи с Facebook в приложении для Android Sqlite failed не удалось прочитать строку 0 col -1 из cursorwindow из курсора в службе сигнализации Как получить размер датчика камеры в устройстве Android? Белый фон во время запуска приложения Управление эмулятором отключено с помощью реального устройства для Android Отключение файлов cookie в браузере Android не работает BroadcastReceiver, Service и Wakelock Как интегрировать собственную библиотеку времени выполнения с dlopen на NDK? Soft Keyboard Скрытие ActionBar при использовании adjustPan Android: изменить цвет с цвета на цвет Может ли Android Studio использовать OpenJDK или требуется ли Oracle JDK для Linux?