Проверка статуса подписки в Android SDK

С Adapty отслеживать статус подписки очень просто. Вам не нужно вручную прописывать идентификаторы продуктов в коде — достаточно проверить наличие активного уровня доступа, чтобы убедиться, что у пользователя есть подписка.

Прежде чем начать проверку статуса подписки, настройте Real-time Developer Notifications (RTDN).

Уровень доступа и объект AdaptyProfile

Уровни доступа — это свойства объекта AdaptyProfile. Рекомендуем получать профиль при запуске приложения — например, когда вы идентифицируете пользователя — и обновлять его при каждом изменении. Так вы сможете использовать объект профиля без повторных запросов к серверу.

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

Хотите увидеть реальный пример интеграции Adapty SDK в мобильное приложение? Посмотрите наши примеры приложений — они демонстрируют полную настройку: отображение пейволов, совершение покупок и другие базовые функции.

Получение уровня доступа с сервера

Чтобы получить уровень доступа с сервера, используйте метод .getProfile():

Параметры ответа:

ПараметрОписание
Profile

Объект AdaptyProfile. Как правило, для определения наличия у пользователя премиум-доступа достаточно проверить только статус уровня доступа профиля.

Метод .getProfile возвращает наиболее актуальные данные, поскольку всегда пытается обратиться к API. Если по какой-либо причине (например, из-за отсутствия интернета) SDK Adapty не может получить данные с сервера, возвращаются данные из кэша. Важно также отметить, что SDK Adapty регулярно обновляет кэш AdaptyProfile, чтобы поддерживать информацию в актуальном состоянии.

Метод .getProfile() возвращает профиль пользователя, из которого можно получить статус уровня доступа. В приложении может быть несколько уровней доступа. Например, в новостном приложении с независимыми подписками на разные тематики можно создать уровни доступа «sports» и «science». Однако в большинстве случаев достаточно одного уровня доступа — тогда можно просто использовать уровень доступа «premium» по умолчанию.

Вот пример проверки уровня доступа «premium» по умолчанию:

Прослушивание обновлений статуса подписки

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

Чтобы получать сообщения от Adapty, необходимо выполнить дополнительную настройку:

Adapty также генерирует событие при запуске приложения. В этом случае передаётся кэшированный статус подписки.

Кэш статуса подписки

Кэш, реализованный в SDK Adapty, хранит статус подписки профиля. Это означает, что даже при недоступности сервера кэшированные данные позволяют получить информацию о статусе подписки профиля.

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