---
title: "Чеклист перед релизом"
description: "Следуйте чеклисту Adapty, чтобы обеспечить плавный процесс обновления приложения."
---

Рады, что вы выбрали Adapty! Надеемся, интеграция прошла гладко. Этот гайд поможет убедиться, что приложение готово к публикации в сторах, а монетизация работает корректно.

## Что нужно подготовить заранее \{#pre-flight-essentials\}

Перед началом проверки убедитесь, что у вас есть:

- Реальное устройство с sandbox-аккаунтом

- Доступ к дашборду Adapty

- Доступ к App Store Connect / Google Play Console

:::note
Хотя sandbox-покупки можно тестировать на симуляторах, реальные устройства необходимы для полноценного тестирования всех сценариев — включая диалоги оплаты и биометрическую аутентификацию.
:::

<Button id="test-purchases-in-sandbox">
    Гайд по тестированию для App Store
</Button>

<Button id="testing-on-android">
    Гайд по тестированию для Google Play
</Button>

## Универсальные проверки \{#universal-validations\}
- [ ] **Подключение стора**: Убедитесь, что вы подключили Adapty к App Store и/или Google Play:
    - [ ] [App Store](initial_ios)
    - [ ] [Google Play](initial-android)
- [ ] **Доставка событий подписки**: Убедитесь, что серверные уведомления настроены:
    - [ ] [Серверные уведомления App Store](enable-app-store-server-notifications)
    - [ ] [Уведомления разработчика в реальном времени (RTDN)](enable-real-time-developer-notifications-rtdn)
- [ ] **Идентификация профиля**: Проверьте логику идентификации пользователей и убедитесь, что покупки привязываются к нужному профилю:
    - [ ] [Убедитесь, что логика идентификации в коде приложения соответствует вашему сценарию использования](ios-quickstart-identify)
    - [ ] [Убедитесь, что вы понимаете логику parent/inheritor при совместном использовании платного доступа между профилями пользователей](sharing-paid-access-between-user-accounts)
- [ ] **Офферы**: Если в приложении используются promotional offer из App Store, убедитесь, что вы [добавили ключ встроенных покупок](app-store-connection-configuration#step-4-for-trials-and-special-offers--set-up-promotional-offers) как в основное поле, так и в раздел **App Store promotional offers**.
- [ ] **Сбор данных**: Убедитесь в соответствии требованиям конфиденциальности:
    - [ ] Если вам необходимо соответствовать требованиям законодательства о конфиденциальности (например, GDPR или CCPA) или приложение предназначено для детей, управляйте тем, [включён ли сбор и передача IDFA и IP-адреса](sdk-installation-ios#data-policies).
    - [ ] Если в приложении используется AppTrackingTransparency, убедитесь, что вы [передаёте статус авторизации в Adapty](ios-deal-with-att).
- [ ] **Метки конфиденциальности**: [Узнайте подробнее](apple-app-privacy) о том, какие данные собирает Adapty и какие флаги нужно выставить при проверке.
## Проверка покупок \{#purchase-validations\}

:::tip
Есть вопросы или возникли проблемы? Загляните на наш [форум поддержки](https://adapty.featurebase.app/), где можно найти ответы на распространённые вопросы или задать свой. Наша команда и сообщество всегда готовы помочь!
:::

Перед запуском убедитесь, что покупки в вашем приложении работают корректно и пейвол готов к ревью в сторе.

Способ проверки встроенных покупок зависит от того, как вы их реализовали:

- Вы отображаете пейвол, созданный в Adapty Paywall Builder
- Вы реализовали собственный пейвол и используете метод `makePurchase` внутри него для обработки покупок
- Вы используете Adapty в режиме наблюдателя (как с Adapty Paywall Builder, так и с собственным пейволом)
<Tabs groupId="paywall" queryString>
<TabItem value="builder" label="Adapty Paywall Builder" default>

**Цель**: Adapty отображает пейвол, пользователи могут покупать продукты, доступ открывается, а флоу восстановления покупок работает.
- [ ] Ваше приложение [отображает пейвол](ios-present-paywalls) из того же плейсмента, который вы будете выпускать.
    - [ ] Пейвол отображается на экране. Если загрузка занимает слишком много времени (например, при нестабильном интернете у вас или ваших пользователей), рассмотрите возможность [настройки политики загрузки](get-pb-paywalls#fetch-paywall-designed-with-paywall-builder).
    - [ ] Пейвол соответствует ожидаемому варианту (аудитория/локаль, если применимо). При необходимости вы можете [изменить приоритет аудитории](change-audience-priority).
- [ ] Продукты и цены отображаются на пейволе. Обратите внимание, что API Apple иногда может предоставлять некорректные цены во время тестирования (особенно при различных региональных настройках), поэтому уделяйте приоритет тестированию функциональности процесса покупки, а не точности цен, — Adapty не влияет на цены в сторе.
- [ ] Покупка в песочнице завершается успешно. Получен коллбэк об успешной покупке.
- [ ] Доступ открывается и сохраняется. Убедитесь, что [платный доступ предоставляется на основе текущего профиля Adapty](ios-check-subscription-status#connect-profile-with-paywall-logic).
    - [ ] После покупки профиль Adapty содержит активный уровень доступа.
    - [ ] Платные функции открываются, когда профиль содержит этот уровень доступа (а не только по коллбэку покупки).
- [ ] Восстановление покупок работает. При переустановке приложения или установке на новое устройство автоматическое восстановление покупок работает согласно настройке [Sharing paid access](sharing-paid-access-between-user-accounts). Если у вас нет бэкенд-аутентификации, покупки восстанавливаются автоматически независимо от настройки. В остальных случаях убедитесь, что пользователи могут восстановить покупки после переустановки приложения.
- [ ] Требования для ревью стора:
    - [ ] Кнопка **Restore purchases** присутствует на пейволе. Вы можете добавить её в Paywall Builder, и при нажатии она будет автоматически обрабатывать восстановление покупок.
    - [ ] Условия использования и политика конфиденциальности доступны с экрана пейвола, а нажатие на эти ссылки открывает их в браузере.
</TabItem>
<TabItem value="makepurchase" label="Пользовательский пейвол (makePurchase)" default>

**Цель**: вы отрисовываете UI; Adapty обрабатывает покупки, обновления профиля и восстановления.
- [ ] Идентификаторы продуктов не зашиты в коде приложения. В коде хардкодятся только идентификаторы [плейсментов](placements).
- [ ] Приложение [загружает продукты](fetch-paywalls-and-products) из того же плейсмента, который будет в проде.
    - [ ] Список продуктов загружается успешно. Если загрузка занимает слишком много времени (например, при нестабильном интернете у вас или пользователей), рассмотрите возможность [изменить политику загрузки](fetch-paywalls-and-products#fetch-paywall-information).
    - [ ] Загруженные продукты соответствуют ожидаемому варианту (аудитории/локали, если применимо). При необходимости можно [изменить приоритет аудитории](change-audience-priority).
- [ ] Продукты и цены отображаются на пейволе. Обратите внимание: Apple API иногда возвращает неточные цены в процессе тестирования (особенно при разных региональных настройках), поэтому при тестировании важнее проверить корректность самого процесса покупки, а не точность цен — на цены в сторе Adapty не влияет.
- [ ] Покупка в [песочнице](making-purchases) через `makePurchase` завершается успешно:
    - [ ] Успешный результат покупки обрабатывается.
    - [ ] Статусы «ожидание», «ошибка» и «отмена» обрабатываются корректно.
- [ ] Если вы [используете Remote Config](present-remote-config-paywalls), его значения корректно передаются на пейвол.
- [ ] При показе пейвола вызывается метод [`logShowFlow` (iOS SDK v4+) / `logShowPaywall`](present-remote-config-paywalls#track-paywall-view-events).
- [ ] Покупка в песочнице завершается успешно. Получен коллбэк об успешной покупке.
- [ ] Доступ разблокируется и сохраняется. Убедитесь, что [платный доступ предоставляется на основе текущего профиля Adapty](ios-check-subscription-status#connect-profile-with-paywall-logic).
    - [ ] После покупки в профиле Adapty активен соответствующий уровень доступа.
    - [ ] Платные функции разблокируются при наличии этого уровня доступа в профиле, а не только по коллбэку покупки.
- [ ] Восстановление покупок работает. При переустановке приложения или установке на новом устройстве автоматическое восстановление покупок работает в соответствии с настройкой [общего доступа к покупкам](sharing-paid-access-between-user-accounts). Если у вас нет серверной аутентификации, покупки восстанавливаются автоматически независимо от этой настройки. В остальных случаях убедитесь, что пользователи могут восстановить покупки после переустановки приложения.
- [ ] Требования для ревью в сторе:
    - [ ] Кнопка **Restore purchases** доступна и [корректно обрабатывает восстановление покупок](restore-purchase).
    - [ ] Пользовательское соглашение и политика конфиденциальности доступны с экрана пейвола, а нажатие на соответствующие ссылки открывает их в браузере.
</TabItem>
<TabItem value="observer" label="Режим наблюдателя">

**Цель**: Вы самостоятельно обрабатываете покупки, обновления профиля и восстановление; Adapty получает отчёты о транзакциях.
- [ ] **Ваше приложение завершает покупки через собственный флоу покупки** (StoreKit / BillingClient / бэкенд):
    - [ ] Покупка в песочнице успешно проходит в интерфейсе стора.
    - [ ] Незавершённые/неудачные/отменённые сценарии корректно обрабатываются в приложении.
- [ ] **Транзакции передаются в Adapty**.
    - [ ] Observer mode [включён в коде приложения](implement-observer-mode).
    - [ ] Покупка отображается в ленте событий Adapty.
    - [ ] Обновления, отмены и возвраты отражаются со временем (при наличии).
- [ ] **Отслеживаются просмотры пейвола**. Метод [`logShowFlow` (iOS SDK v4+) / `logShowPaywall`](present-remote-config-paywalls#track-paywall-view-events) вызывается при показе пейвола.
- [ ] **Восстановление покупок работает в вашей реализации**. Переустановка приложения или смена устройства корректно восстанавливает доступ.
- [ ] **Требования к проверке стором**:
    - [ ] Действие **Restore purchases** доступно и запускает флоу восстановления.
    - [ ] Условия использования и политика конфиденциальности доступны с пейвола или экрана покупки и открываются в браузере.
</TabItem>
</Tabs>

Если у вас возникнут вопросы по интеграции SDK, воспользуйтесь AI-чатботом в правом нижнем углу или напишите нам на [support@adapty.io](mailto:support@adapty.io).