---
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)
    - [ ] [Убедитесь, что вы понимаете логику родительского/дочернего профилей при совместном доступе к платному контенту](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\}

---
no_index: true
---
import Callout from '../../../components/Callout.astro';

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

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

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

- Вы показываете пейвол, созданный в Adapty Paywall Builder
- Вы реализовали собственный пейвол и используете метод `makePurchase` для обработки покупок
- Вы используете 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 не влияет на цены в сторе.
- [ ] Sandbox-покупка завершается успешно. Получен callback об успешной покупке.
- [ ] Доступ открывается и сохраняется. Убедитесь, что [платный доступ предоставляется на основе текущего профиля 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="Custom paywall (makePurchase)" default>

**Цель**: вы отображаете интерфейс; Adapty обрабатывает покупки, обновления профиля и восстановление.

- [ ] ID продуктов не захардкожены в коде приложения. Хардкодятся только ID [плейсментов](placements).
- [ ] Приложение [загружает продукты](fetch-paywalls-and-products) из того же плейсмента, который будет в продакшене.
    - [ ] Список продуктов загружается успешно. Если загрузка занимает слишком много времени (например, при нестабильном интернете), рассмотрите [настройку политики загрузки](fetch-paywalls-and-products#fetch-paywall-information).
    - [ ] Загруженные продукты соответствуют ожидаемому варианту (аудитория/локаль, если применимо). При необходимости можно [изменить приоритет аудитории](change-audience-priority).
- [ ] Продукты и цены отображаются на пейволе. Обратите внимание: API Apple иногда может показывать некорректные цены во время тестирования (особенно при разных региональных настройках), поэтому при тестировании сосредоточьтесь на корректности самого процесса покупки, а не на ценах — Adapty не влияет на цены в сторе.
- [ ] Sandbox-покупка с помощью [makePurchase](making-purchases) завершается успешно:
    - [ ] Успешный результат покупки обрабатывается.
    - [ ] Отложенные/неудачные/отменённые сценарии обрабатываются корректно.
- [ ] Если вы [используете Remote Config](present-remote-config-paywalls), его значения корректно применяются к пейволу.
- [ ] При отображении пейвола вызывается [метод `logShowPaywall`](present-remote-config-paywalls#track-paywall-view-events).
- [ ] Sandbox-покупка завершается успешно. Получен callback об успешной покупке.
- [ ] Доступ открывается и сохраняется. Убедитесь, что [платный доступ предоставляется на основе текущего профиля Adapty](ios-check-subscription-status#connect-profile-with-paywall-logic).
    - [ ] После покупки у профиля Adapty есть активный уровень доступа.
    - [ ] Платные функции открываются, когда профиль содержит соответствующий уровень доступа (не только по коллбэку покупки).
- [ ] Восстановление покупок работает. При переустановке приложения или установке на новом устройстве автоматическое восстановление покупок работает в соответствии с настройкой [Sharing paid access](sharing-paid-access-between-user-accounts). Если у вас нет серверной аутентификации, покупки восстанавливаются автоматически независимо от настройки. В остальных случаях убедитесь, что пользователи могут восстановить покупки после переустановки.
- [ ] Требования для ревью стора:
    - [ ] Кнопка **Restore purchases** доступна и [обрабатывает восстановление](restore-purchase).
    - [ ] Условия использования и политика конфиденциальности доступны с экрана пейвола, и нажатие на эти ссылки открывает их в браузере.

</TabItem>
<TabItem value="observer" label="Observer mode">

**Цель**: вы самостоятельно обрабатываете покупки, обновления профиля и восстановление; Adapty получает информацию о транзакциях.

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

</Tabs>

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