Устранение неполадок с покупками в Kotlin Multiplatform SDK
Этот гайд поможет вам решить распространённые проблемы при ручной реализации покупок в Kotlin Multiplatform SDK.
makePurchase выполняется успешно, но профиль не обновляется
Проблема: Метод makePurchase завершается успешно, но профиль пользователя и статус подписки в Adapty не обновляются.
Причина: Как правило, это указывает на неполную настройку Google Play Store или ошибки конфигурации.
Решение: Убедитесь, что вы выполнили все шаги настройки Google Play.
makePurchase вызывается дважды
Проблема: Метод makePurchase вызывается несколько раз для одной и той же покупки.
Причина: Обычно это происходит из-за того, что процесс покупки запускается несколько раз вследствие проблем с управлением состоянием UI или быстрых повторных действий пользователя.
Решение: Убедитесь, что вы выполнили все шаги настройки Google Play.
AdaptyError.cantMakePayments в режиме Observer
Проблема: При использовании makePurchase в режиме Observer вы получаете ошибку AdaptyError.cantMakePayments.
Причина: В режиме Observer покупки должны обрабатываться на вашей стороне — использовать метод makePurchase от Adapty не следует.
Решение: Если вы используете makePurchase для покупок, отключите режим Observer. Нужно либо использовать makePurchase, либо обрабатывать покупки самостоятельно в режиме Observer. Подробнее см. в разделе Реализация режима Observer.
Ошибка 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.
makePurchasesCompletionHandlers не найден
Проблема: Вы сталкиваетесь с тем, что makePurchasesCompletionHandlers не удаётся найти.
Причина: Как правило, это связано с проблемами при тестировании в песочнице.
Решение: Создайте нового пользователя в песочнице и повторите попытку. Это обычно решает проблемы с обработчиком завершения покупки в песочнице.