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

Если вы столкнулись с проблемами при транзакциях, сначала убедитесь, что выполнили все шаги из чеклиста для релиза. Если вы всё проверили, но проблемы не исчезли, воспользуйтесь рекомендациями ниже:

Мобильное приложение возвращает ошибку

Обратитесь к списку ошибок для вашей платформы: для iOS, для Android, для React Native, Flutter и Unity — и следуйте нашим рекомендациям.

Транзакция отсутствует в Event Feed, хотя приложение не вернуло ошибку

Чтобы решить эту проблему, проверьте следующее:

  1. Для iOS: убедитесь, что используете реальное устройство, а не симулятор.
  2. Убедитесь, что Bundle ID/Package name вашего приложения совпадает с тем, что указан в App settings.
  3. Убедитесь, что PUBLIC_SDK_KEY в приложении совпадает с Public SDK key в дашборде Adapty: App settings -> вкладка General -> раздел API keys.
  4. Убедитесь, что используете sandbox-аккаунт, а не локальный файл конфигурации StoreKit. Если вы ранее использовали локальный файл конфигурации StoreKit для тестирования, проверьте, что он не подключён в текущей сборке.

В моём тестовом профиле нет событий

Это нормальное поведение. Новая запись профиля пользователя автоматически создаётся в Adapty в следующих случаях:

  • пользователь запускает приложение впервые;
  • пользователь выходит из приложения.

Почему так происходит: все транзакции и события привязаны к профилю, который совершил первую транзакцию. Это позволяет хранить всю историю транзакций (пробные периоды, покупки, продления) в рамках одного профиля.

Что вы увидите: новые записи профилей (так называемые «неоригинальные профили») могут появляться без событий, но с сохранёнными уровнями доступа. Вы можете видеть события access_level_updated — это ожидаемое поведение.

При тестировании: чтобы не плодить несколько профилей, создавайте новый тестовый аккаунт (Sandbox Apple ID) при каждой переустановке приложения.

Подробнее см. в разделе Создание профиля.

Ниже показан пример неоригинального профиля. Обратите внимание: в разделе User history нет событий, но уровень доступа присутствует.

98d0dad-non-original_profile.webp

Цены не соответствуют тем, что установлены в 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-устройстве:

  1. Откройте Settings и нажмите App Store.
  2. Нажмите на свой Sandbox Apple ID.
  3. Во всплывающем окне выберите Manage.
  4. На странице Account Settings нажмите Clear Purchase History.

Подробнее см. в документации Apple Developer.