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

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

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

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

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

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

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

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

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

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

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

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

Причина: В режиме наблюдателя покупки должны обрабатываться на вашей стороне — использовать метод 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.

makePurchasesCompletionHandlers не найден

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

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

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

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

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

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