Проблема: у меня есть приложение, которое предоставляется по подписке. Пользователь может иметь или не иметь подключение к Интернету после его покупки. Мне нужно проверить статус подписки из приложения, но без сервера поддержки. Настоятельно не рекомендуется использовать доступ к API напрямую из приложения. Как, черт возьми, предупредить пользователя о том, что срок действия подписки истек и его нужно продлить, чтобы он мог заблокировать использование приложения? Я изучаю доступ к API OAuth2.0 для использования Purchases.subscriptions в моем приложении, чтобы я мог периодически проверять статус своей подписки и блокировать приложение, если оно закончилось, но у меня большие трудности с его реализацией. Я также подумал о том, чтобы поставить будильник в приложение, чтобы по истечении срока подписки уведомлять пользователя, которому необходимо ее продлить (я уже реализовал библиотеки покупки для этой цели), но это означает сохранение данных на устройстве пользователя, и мне это не нравится. . Все советы хорошо принимаются.
Android проверяет действительность подписки из приложения каждый раз (dayli) онлайн и офлайн без личного сервера
Ответы:
Если вы не планируете использовать внутренний сервер, вам придется использовать доступ к API непосредственно из приложения, как вы упомянули... на самом деле нет никакого способа обойти это. Я действительно думаю, что раздражает тот факт, что получить базовую информацию об истечении срока действия подписки не так просто для небольших разработчиков, которые не собираются использовать внутренний сервер.
Не вызывая API, вы можете получить логическое значение автоматического продления из объекта покупки, чтобы узнать, была ли подписка отменена или нет. Однако у вас не будет даты истечения срока действия, это очень важно.
Я бы сказал, что если ваше приложение не станет безумно популярным, которое другие попытаются перепроектировать, вы можете воспользоваться возможностью вызвать API из приложения, чтобы получить подробную информацию о подписке. Кроме того, сохранение данных о подписке должно нормально работать в общих настройках на пользовательском устройстве.
Пожалуйста, поделитесь, как это было для вас до сих пор.