借助 AI 将 Adapty 集成到 React Native 应用

本指南将带你一步步完成 React Native 应用与 Adapty 的集成,借助 AI 编程工具——按正确顺序将 Adapty 文档喂给它即可。

自动化集成 · Beta
Adapty SDK 集成技能可在你的 AI 编程工具中通过一条命令完成整个集成。

开始之前:看板配置

在编写任何 SDK 代码之前,Adapty 需要进行一些看板配置。你可以通过交互式 LLM 技能来完成,也可以通过看板手动操作。

Adapty CLI 技能让你的 LLM 可以直接设置应用、产品、访问等级、付费墙和版位——无需为每个步骤打开看板。你只需在看板中连接你的应用商店即可。

npx skills add adaptyteam/adapty-cli --skill adapty-cli

添加技能后,在你的 agent 中运行 /adapty-cli。它将引导你完成每个步骤——包括何时打开看板连接你的应用商店。

看板配置方式

如果你更倾向于手动配置,以下是写代码前需要准备的内容。你的 LLM 无法自动查询看板中的值——需要你自行提供。

  1. 连接应用商店:在 Adapty 看板中,前往 App settings → General,将 App Store 和 Google Play 都连接上(如果你的应用同时支持两个平台)。这是购买功能正常运行的必要条件。 连接应用商店

  2. 复制你的 Public SDK key:在 Adapty 看板中,进入 App settings → General,找到 API keys 部分。在代码中,这就是你传给 adapty.activate("YOUR_PUBLIC_SDK_KEY") 的字符串。

  3. 至少创建一个产品:在 Adapty 看板中,进入 Products 页面。你无需在代码中直接引用产品——Adapty 会通过付费墙将产品下发给用户。 添加产品

  4. 创建付费墙和版位:在 Adapty 看板中,先在 Paywalls 页面创建付费墙,再在 Placements 页面将其分配到版位。在代码中,版位 ID 就是传给 adapty.getPaywall("YOUR_PLACEMENT_ID") 的字符串。 创建付费墙

  5. 设置访问等级:在 Adapty 看板的 Products 页面中为每个产品进行配置。在代码中,通过 profile.accessLevels['premium']?.isActive 检查对应字符串。默认的 premium 访问等级适用于大多数应用。如果付费用户根据所购产品可以访问不同的功能(例如 basic 方案和 pro 方案),请在开始编写代码前创建额外的访问等级

准备好这五项信息后,就可以开始写代码了。把以下内容告诉你的 LLM:“我的 Public SDK key 是 X,我的版位 ID 是 Y”,这样它就能生成正确的初始化和付费墙获取代码。

准备就绪后再设置

以下内容不是开始编码的必要条件,但随着集成的成熟,你会需要它们:

  • A/B 测试:在 Placements 页面进行配置。无需更改代码。 A/B 测试
  • 额外的付费墙和版位:使用不同的版位 ID 添加更多 getPaywall 调用。
  • 分析集成:在 Integrations 页面进行配置。设置因集成而异。参见分析集成归因集成

向你的 LLM 提供 Adapty 文档

使用 Context7(推荐)

Context7 是一个 MCP 服务器,可让你的 LLM 直接访问最新的 Adapty 文档。LLM 会根据你的问题自动获取相关文档,无需手动粘贴 URL。

Context7 支持 CursorClaude CodeWindsurf 以及其他兼容 MCP 的工具。运行以下命令即可完成配置:

npx ctx7 setup

该命令会自动检测你的编辑器并配置 Context7 服务器。如需手动配置,请参阅 Context7 GitHub 仓库。 配置完成后,在你的提示词中引用 Adapty 库:

Use the adaptyteam/adapty-docs library to look up how to install the React Native SDK

尽管 Context7 省去了手动粘贴文档链接的步骤,但实施顺序仍然很重要。请按照下方的实施步骤逐步操作,确保一切正常运行。

使用纯文本文档

你可以以纯文本 Markdown 格式访问任意 Adapty 文档。在其 URL 末尾添加 .md,或点击文章标题下方的 Copy for LLM。例如:adapty-cursor-react-native.md

下面实施演练中的每个阶段都包含一个”发送给你的 LLM”代码块,其中包含可粘贴的 .md 链接。

如需一次获取更多文档,请参阅下面的索引文件和平台专属子集

实施演练

本指南的其余部分按实施顺序介绍 Adapty 集成。每个阶段都包含要发送给 LLM 的文档、完成后应看到的结果以及常见问题。

规划集成方案

在动手写代码之前,先让 LLM 分析你的项目并制定实施计划。如果你使用的 AI 工具支持规划模式(如 Cursor 或 Claude Code 的 plan mode),建议先用规划模式,让 LLM 在编写代码前同时读取你的项目结构和 Adapty 文档。

告诉 LLM 你采用的购买实现方式——这决定了它应该参考哪些指南:

不确定该选哪种?请查看快速入门中的对比表格

安装与配置 SDK

使用 npm(或 yarn)添加 Adapty SDK 依赖,并通过你的 Public SDK key 激活它。这是一切的基础——没有这一步,其他功能都无法使用。

我们为 Expo 和纯 React Native 项目分别提供了独立的安装指南——请根据你的项目类型选择对应的指南。

指南:

Checkpoint

  • 预期结果: 应用在 iOS 和 Android 上均能成功构建并运行。Metro bundler 日志中可以看到 Adapty 激活日志。
  • 常见问题: 出现 “Public API key is missing” → 检查是否已将占位符替换为 App settings 中的真实密钥。

展示付费墙并处理购买

通过版位 ID 获取付费墙,展示它,并处理购买事件。所需的指南取决于你处理购买的方式。

建议边开发边在沙盒中测试每次购买,不要等到最后再测。设置说明请参阅在沙盒中测试购买

检查订阅状态

购买后,检查用户画像中是否有激活的访问等级,以限制高级内容的访问。

指南: 检查订阅状态

将以下内容发送给你的 LLM:

Read these Adapty docs before writing code:
- https://adapty.io/docs/zh/react-native-check-subscription-status.md

检查点

  • 预期结果: 沙盒购买后,profile.accessLevels['premium']?.isActive 返回 true
  • 注意事项: 购买后 accessLevels 为空 → 检查产品在看板中是否已分配访问等级。

关联用户

将应用的用户账户与 Adapty 用户画像绑定,确保购买记录在多设备间持久保存。

如果你的应用无需登录,跳过此步骤。

指南: 关联用户

将以下内容发送给你的 LLM:

Read these Adapty docs before writing code:
- https://adapty.io/docs/zh/react-native-quickstart-identify.md

Checkpoint

  • 预期结果: 调用 adapty.identify("your-user-id") 后,看板的 Profiles 部分会显示你的自定义用户 ID。
  • 注意事项: 请在激活之后、获取付费墙之前调用 identify,以避免匿名用户画像归因问题。

准备发布

沙盒环境中的集成测试通过后,请逐项检查发布清单,确保一切都已准备好投入生产。

指南:发布清单

将以下内容发送给你的 LLM:

Read these Adapty docs before releasing:
- https://adapty.io/docs/zh/release-checklist.md

Checkpoint

  • 预期: 所有检查项均已确认:商店连接、服务器通知、购买流程、访问等级检查以及隐私合规要求。
  • 注意: 服务器通知缺失 → 请在 App settings → iOS SDK 中配置 App Store 服务器通知,并在 App settings → Android SDK 中配置 Google Play 实时开发者通知。

纯文本文档索引文件

如果你需要为 LLM 提供超出单个页面范围的更广泛上下文,我们提供了列出或汇总所有 Adapty 文档的索引文件:

  • llms.txt:列出所有页面的 .md 链接,是让网站对 LLM 友好的新兴标准。注意,对于某些 AI 智能体(如 ChatGPT),你需要先下载 llms.txt 再上传到对话中。
  • llms-full.txt:整个 Adapty 文档站合并为单个文件。体积很大——仅在需要完整内容时使用。
  • React Native 专属的 react-native-llms.txtreact-native-llms-full.txt:平台专属子集,相比完整站点可节省 token 消耗。