Устранение проблем с тестовыми покупками
Если вы столкнулись с проблемами при транзакциях, сначала убедитесь, что выполнили все шаги из чеклиста для релиза. Если вы всё проверили, но проблемы не исчезли, воспользуйтесь рекомендациями ниже:
Мобильное приложение возвращает ошибку
Обратитесь к списку ошибок для вашей платформы: для iOS, для Android, для React Native, Flutter и Unity — и следуйте нашим рекомендациям.
Транзакция отсутствует в Event Feed, хотя приложение не вернуло ошибку
Чтобы решить эту проблему, проверьте следующее:
- Для iOS: убедитесь, что используете реальное устройство, а не симулятор.
- Убедитесь, что
Bundle ID/Package nameвашего приложения совпадает с тем, что указан в App settings. - Убедитесь, что
PUBLIC_SDK_KEYв приложении совпадает с Public SDK key в дашборде Adapty: App settings -> вкладка General -> раздел API keys. - Убедитесь, что используете sandbox-аккаунт, а не локальный файл конфигурации StoreKit. Если вы ранее использовали локальный файл конфигурации StoreKit для тестирования, проверьте, что он не подключён в текущей сборке.
В моём тестовом профиле нет событий
Это нормальное поведение. Новая запись профиля пользователя автоматически создаётся в Adapty в следующих случаях:
- пользователь запускает приложение впервые;
- пользователь выходит из приложения.
Почему так происходит: все транзакции и события привязаны к профилю, который совершил первую транзакцию. Это позволяет хранить всю историю транзакций (пробные периоды, покупки, продления) в рамках одного профиля.
Что вы увидите: новые записи профилей (так называемые «неоригинальные профили») могут появляться без событий, но с сохранёнными уровнями доступа. Вы можете видеть события access_level_updated — это ожидаемое поведение.
При тестировании: чтобы не плодить несколько профилей, создавайте новый тестовый аккаунт (Sandbox Apple ID) при каждой переустановке приложения.
Подробнее см. в разделе Создание профиля.
Ниже показан пример неоригинального профиля. Обратите внимание: в разделе User history нет событий, но уровень доступа присутствует.
Цены не соответствуют тем, что установлены в App Store Connect
В Sandbox и TestFlight (который также использует sandbox-среду для встроенных покупок) важно убедиться, что процесс покупки работает корректно, а не проверять точность цен. API Apple иногда возвращает некорректные данные, особенно когда для устройств или аккаунтов настроены разные регионы. Поскольку цены поступают напрямую из стора и бэкенд Adapty никак не влияет на цены покупок, любые расхождения в ценах при тестировании покупок через Adapty можно игнорировать.
Сосредоточьтесь на проверке самого процесса покупки, а не точности цен.
Время транзакции в Event Feed отображается некорректно
В Event Feed используется часовой пояс, заданный в App Settings. Чтобы время событий совпадало с вашим местным временем, измените Reporting timezone в разделе App settings -> вкладка General.
Пейволы и продукты загружаются слишком долго
Эта проблема может возникать, если у тестового аккаунта длинная история транзакций. Мы настоятельно рекомендуем каждый раз создавать новый тестовый аккаунт, как описано в разделе Создание тестового Sandbox-аккаунта (Sandbox Apple ID) в App Store Connect.
Если создать новый аккаунт не получается, можно очистить историю транзакций текущего аккаунта на iOS-устройстве:
- Откройте Settings и нажмите App Store.
- Нажмите на свой Sandbox Apple ID.
- Во всплывающем окне выберите Manage.
- На странице Account Settings нажмите Clear Purchase History.
Подробнее см. в документации Apple Developer.