---
title: "发布检查清单"
description: "遵循 Adapty 的发布检查清单，确保应用更新过程顺畅无误。"
---

我们非常高兴您决定使用 Adapty！希望集成过程一切顺利。本指南将引导您完成确保应用准备好在商店发布所需的各个步骤，让您确信变现流程运行正常。

## 起飞前必备事项 \{#pre-flight-essentials\}

开始验证前您需要准备：

- 一台配置了沙盒账号的真实设备

- 访问 Adapty 看板的权限

- 访问 App Store Connect / Google Play Console 的权限

:::note
虽然沙盒购买可以在模拟器上运行，但要完整测试所有流程（包括支付对话框和生物识别提示），仍需要真实设备。
:::

<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)
- [ ] **优惠活动**：如果应用中包含 App Store 促销活动，请确保已将内购密钥[添加到主字段和 **App Store promotional offers** 部分](app-store-connection-configuration#step-4-for-trials-and-special-offers--set-up-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 付费墙编辑工具创建的付费墙
- 你实现了自定义付费墙，并在其中使用 `makePurchase` 方法处理购买
- 你以观察者模式使用 Adapty（无论是配合付费墙编辑工具还是自定义付费墙）
<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)。
- [ ] 付费墙上能正常显示产品和价格。注意，Apple 的 API 在测试期间（尤其是配置了不同地区时）偶尔会返回不准确的价格，因此请优先测试购买流程的功能，而非价格准确性——Adapty 不会影响商店价格。
- [ ] 沙盒购买成功完成，并收到购买成功的回调。
- [ ] 访问权限已解锁且持续有效。确认[基于当前 Adapty 用户画像授予付费访问权限](ios-check-subscription-status#connect-profile-with-paywall-logic)。
    - [ ] 购买完成后，Adapty 用户画像拥有有效的访问等级。
    - [ ] 当用户画像包含对应访问等级时，付费功能解锁（而不仅仅依赖购买回调）。
- [ ] 恢复购买功能正常。重新安装应用或在新设备上安装时，自动恢复购买按照[在用户账号之间共享付费访问权限](sharing-paid-access-between-user-accounts)的设置运行。如果没有后端身份验证，购买将无论该设置如何都自动恢复。其他情况下，请确保用户在重新安装应用后能够恢复购买。
- [ ] 应用商店审核要求：
    - [ ] 付费墙上有**恢复购买**按钮。你可以在付费墙编辑工具中添加该按钮，点击后将自动处理购买恢复。
    - [ ] 付费墙页面上可以访问使用条款和隐私政策，点击相关链接可在浏览器中打开。
</TabItem>
<TabItem value="makepurchase" label="Custom paywall (makePurchase)" default>

**目标**：您负责渲染 UI；Adapty 负责处理购买、用户画像更新和恢复购买。
- [ ] 产品 ID 未硬编码在应用代码中。你只需硬编码[版位](placements) ID。
- [ ] 你的应用从实际发布时使用的同一版位[获取产品](fetch-paywalls-and-products)。
    - [ ] 产品列表加载成功。如果加载时间过长（例如你或用户网络不稳定），请考虑[调整获取策略](fetch-paywalls-and-products#fetch-paywall-information)。
    - [ ] 获取到的产品与预期的实验变体（目标受众/语言区域，如适用）匹配。如有需要，可[调整目标受众优先级](change-audience-priority)。
- [ ] 产品和价格正确显示在付费墙上。请注意，Apple 的 API 在测试期间（尤其是使用不同地区配置时）偶尔会返回不准确的价格，因此请优先验证购买流程是否正常，而非价格是否准确——Adapty 不会影响商店价格。
- [ ] 使用 [makePurchase](making-purchases) 完成沙盒购买：
    - [ ] 购买成功的结果已正确处理。
    - [ ] 待处理/失败/取消等情况已妥善处理。
- [ ] 如果你[使用了远程配置](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 / 后端）：
    - [ ] 沙盒购买在商店 UI 中成功完成。
    - [ ] 应用能妥善处理待处理/失败/取消等异常情况。
- [ ] **交易已上报至 Adapty**。
    - [ ] 已在应用代码中[启用观察者模式](implement-observer-mode)。
    - [ ] 购买记录出现在 Adapty Event Feed 中。
    - [ ] 续订、取消和退款情况能随时间推移得到正确反映（如适用）。
- [ ] **付费墙展示已被追踪**。在付费墙展示时调用 [`logShowFlow`（iOS SDK v4+）/ `logShowPaywall` 方法](present-remote-config-paywalls#track-paywall-view-events)。
- [ ] **恢复购买功能在您的实现中正常工作**。重新安装应用或切换设备后，访问权限能正确恢复。
- [ ] **商店审核要求**：
    - [ ] **恢复购买**操作可访问，并能触发您的恢复流程。
    - [ ] 使用条款和隐私政策可从付费墙或购买界面访问，并在浏览器中打开。
</TabItem>
</Tabs>

如有任何关于集成 Adapty SDK 的问题，请使用右下角的 AI 聊天机器人，或发送邮件至 [support@adapty.io](mailto:support@adapty.io) 联系我们。