Устранение неполадок с покупками в 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 не удаётся найти.

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

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