Синхронизация покупок между вебом и мобилкой
Если ваши пользователи могут купить продукт на сайте, вы можете автоматически синхронизировать их уровни доступа с мобильным приложением.
В этом гайде вы узнаете, как это сделать с помощью Adapty API и SDK.
Пример сценария
Допустим, в вашем приложении пользователи могут зарегистрироваться по freemium-плану как на мобильном устройстве, так и в вебе. Вы разрешаете им перейти на Premium-план на вашем сайте через Stripe или Chargebee. Как только пользователь оформляет подписку в вебе, вы хотите, чтобы он сразу получил доступ к Premium в мобильном приложении — без ожидания и повторного входа.
Именно это и помогает автоматизировать Adapty.
Шаг 1. Идентификация пользователей
Adapty использует customer_user_id для идентификации пользователей на разных платформах.
Создайте этот ID один раз и передавайте его как в мобильный SDK, так и в веб-бэкенд.
Регистрация через веб
Когда пользователи регистрируются на вашем сайте, нужно создать для них профиль в Adapty через серверный API.
Описание метода — здесь.
curl --request POST \
--url https://api.adapty.io/api/v2/server-side-api/profile/ \
--header 'Accept: application/json' \
--header 'Authorization: Api-Key YOUR_SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--header 'adapty-customer-user-id: YOUR_CUSTOMER_USER_ID'
Регистрация из приложения
Когда пользователь впервые регистрируется в приложении, можно передать его customer user ID при активации SDK. Если же SDK был активирован раньше, чем прошла регистрация, используйте метод identify, чтобы создать новый профиль и назначить ему customer user ID.
Если вы идентифицируете новых пользователей уже после активации SDK, то сначала SDK создаст анонимный профиль — без него он работать не может. Затем, когда вы идентифицируете пользователя и назначите ему новый customer user ID, будет создан новый профиль. Это поведение совершенно нормально и не влияет на точность аналитики. Подробнее здесь.
Шаг 2. Проверка статуса подписки через API
Когда пользователь входит на ваш сайт, получите его профиль Adapty через API.
Если у пользователя нет активной подписки, вы можете показать пейвол.
Описание метода — здесь.
curl --request GET \
--url https://api.adapty.io/api/v2/server-side-api/profile/ \
--header 'Accept: application/json' \
--header 'Authorization: Api-Key YOUR_SECRET_API_KEY' \
--header 'adapty-customer-user-id: YOUR_USER_ID' \
Шаг 3. Отображение пейвола на сайте
На сайте показывайте пейвол пользователям бесплатного плана. Вы можете использовать любой платёжный провайдер (Stripe, Chargebee, LemonSqueezy и др.).
Шаг 4. Обновите статус подписки в Adapty
После завершения оплаты на вашем сайте вызовите API Adapty, чтобы обновить уровень доступа пользователя в соответствии с купленным продуктом.
Справочник по методу — здесь.
curl --request POST \
--url https://api.adapty.io/api/v2/server-side-api/purchase/profile/grant/access-level/ \
--header 'Accept: application/json' \
--header 'Authorization: Api-Key YOUR_SECRET_API_KEY' \
--header 'Content-Type: application/json' \
--header 'adapty-customer-user-id: YOUR_USER_ID' \
--data '{
"access_level_id": "YOUR_ACCESS_LEVEL"
}'
Шаг 5. Синхронизация статуса в приложении
Когда пользователь открывает ваше мобильное приложение, получите обновлённый профиль и откройте доступ к платным функциям.
Нужно либо получить профиль вручную, либо синхронизировать его автоматически. Затем извлеките из него уровень доступа.
Ниже показано, как получить профиль и проверить его статус. Подробнее — здесь.