Устранение проблем с покупками в React Native SDK

Этот гайд поможет вам решить распространённые проблемы при реализации покупок вручную в React Native SDK.

makePurchase вызывается успешно, но профиль не обновляется

Проблема: метод makePurchase завершается успешно, но профиль пользователя и статус подписки в Adapty не обновляются.

Причина: как правило, это указывает на неполную настройку Google Play Store или проблемы с конфигурацией.

Решение: убедитесь, что вы выполнили все шаги по настройке Google Play.

makePurchase вызывается дважды

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

Причина: обычно это происходит, когда процесс покупки запускается несколько раз из-за проблем с управлением состоянием UI или быстрых повторных действий пользователя.

Решение: убедитесь, что вы выполнили все шаги по настройке Google Play.

AdaptyError.cantMakePayments в режиме наблюдателя

Проблема: при использовании makePurchase в режиме наблюдателя возникает ошибка AdaptyError.cantMakePayments.

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

Решение: если вы используете makePurchase для покупок, отключите режим наблюдателя. Нужно либо использовать makePurchase, либо обрабатывать покупки самостоятельно в режиме наблюдателя. Подробнее см. в разделе Реализация режима наблюдателя.

Ошибка Adapty: (code: 103, message: Play Market request failed on purchases updated: responseCode=3, debugMessage=Billing Unavailable, detail: null)

Проблема: вы получаете ошибку о недоступности биллинга из Google Play Store.

Причина: эта ошибка не связана с Adapty. Это ошибка Google Play Billing Library, означающая, что биллинг недоступен на устройстве.

Решение: данная ошибка не связана с Adapty. Подробнее о ней можно узнать в документации Play Store: Handle BillingResult response codes | Play Billing | Android Developers.

Not found makePurchasesCompletionHandlers

Проблема: возникают ошибки, связанные с тем, что makePurchasesCompletionHandlers не найден.

Причина: как правило, это связано с проблемами при тестировании в песочнице.

Решение: создайте нового пользователя песочницы и повторите попытку. Обычно это решает проблемы с обработчиками завершения покупки в песочнице.

Другие проблемы

Проблема: у вас возникают другие проблемы с покупками, не описанные выше.

Решение: при необходимости обновите SDK до последней версии с помощью гайдов по миграции. Многие проблемы устранены в новых версиях SDK.