借助 AI 将 Adapty 集成到您的 Flutter 应用
本指南帮助您借助 LLM 将 Adapty 集成到 Flutter 应用中。您将从准备 Adapty 看板开始,然后通过向 LLM 发送针对性的文档链接,逐步完成每个实现阶段。在指南末尾,您还可以找到为 AI 工具配置 Adapty 文档的最佳实践。
将本页完整内容复制为 Markdown 并粘贴到您的 LLM 中即可开始——点击页面顶部的 Copy for LLM,或打开 .md 版本。LLM 将使用指南链接和检查点引导您完成每个阶段。
开始前:看板配置
在编写任何 SDK 代码之前,Adapty 需要进行一些看板配置。您可以使用交互式 LLM 技能,或通过看板手动操作。
技能方式(推荐)
Adapty CLI 技能让您的 LLM 能够直接设置应用、产品、访问等级、付费墙和版位——无需为每个步骤打开看板。您只需在看板中连接您的商店即可。
npx skills add adaptyteam/adapty-cli --skill adapty-cli
添加技能后,在您的代理中运行 /adapty-cli。它将引导您完成每个步骤——包括何时打开看板连接您的商店。
看板方式
如果您更喜欢手动配置,以下是在编写任何代码之前需要完成的事项。您的 LLM 无法为您查找看板中的值——您需要自行提供。
-
连接您的应用商店:在 Adapty 看板中,前往 App settings → General。如果您的 Flutter 应用同时面向两个平台,请同时连接 App Store 和 Google Play。这是购买功能正常运作的必要条件。 连接应用商店
-
复制您的 Public SDK 密钥:在 Adapty 看板中,前往 App settings → General,然后找到 API keys 部分。在代码中,这是您传递给 Adapty 配置的字符串。
-
创建至少一个产品:在 Adapty 看板中,前往 Products 页面。您无需在代码中直接引用产品——Adapty 通过付费墙来传递产品。 添加产品
-
创建付费墙和版位:在 Adapty 看板中,在 Paywalls 页面创建付费墙,然后在 Placements 页面将其分配给一个版位。在代码中,版位 ID 是您传递给
Adapty().getPaywall()的字符串。 创建付费墙 -
设置访问等级:在 Adapty 看板中,在 Products 页面按产品进行配置。在代码中,通过
profile.accessLevels['premium']?.isActive进行检查。默认的premium访问等级适用于大多数应用。如果付费用户根据产品获得不同功能的访问权限(例如basic计划与pro计划),请在开始编码前创建额外的访问等级。
一旦完成以上五项,您就可以开始编写代码了。请告知您的 LLM:“我的 Public SDK 密钥是 X,我的版位 ID 是 Y”,这样它就能生成正确的初始化和付费墙获取代码。
准备就绪后再设置
以下内容不是开始编码的必要条件,但随着集成的深入,您会需要它们:
- A/B 测试:在 Placements 页面进行配置,无需更改代码。 A/B 测试
- 更多付费墙和版位:使用不同的版位 ID 添加更多
getPaywall调用。 - 分析集成:在 Integrations 页面进行配置,具体设置因集成而异。请参阅分析集成和归因集成。
向 LLM 提供 Adapty 文档
使用 Context7(推荐)
Context7 是一个 MCP 服务器,让您的 LLM 能够直接访问最新的 Adapty 文档。LLM 根据您的提问自动获取相关文档——无需手动粘贴 URL。
Context7 支持 Cursor、Claude Code、Windsurf 及其他兼容 MCP 的工具。运行以下命令进行设置:
npx ctx7 setup
此命令会检测您的编辑器并配置 Context7 服务器。如需手动设置,请参阅 Context7 GitHub 仓库。
配置完成后,在提示词中引用 Adapty 库:
Use the adaptyteam/adapty-docs library to look up how to install the Flutter SDK
即使 Context7 无需手动粘贴文档链接,实现顺序仍然重要。请按照下面的实现演练逐步操作,以确保一切正常运作。
使用纯文本文档
您可以以纯文本 Markdown 格式访问任何 Adapty 文档。在 URL 末尾添加 .md,或点击文章标题下方的 Copy for LLM。例如:adapty-cursor-flutter.md。
下面实现演练的每个阶段都包含一个”发送给 LLM”的代码块,其中包含可粘贴的 .md 链接。
如需一次获取更多文档,请参阅下方的索引文件和平台特定子集。
实现演练
本指南的其余部分按实现顺序介绍 Adapty 集成。每个阶段都包含发送给 LLM 的文档、完成后的预期效果以及常见问题。
规划您的集成
在开始编写代码之前,请让您的 LLM 分析您的项目并制定实现计划。如果您的 AI 工具支持规划模式(如 Cursor 或 Claude Code 的规划模式),请使用它,这样 LLM 可以在编写代码之前同时读取您的项目结构和 Adapty 文档。
请告知您的 LLM 您使用哪种购买方式——这会影响它应该参考的指南:
- Adapty 付费墙编辑工具:您在 Adapty 的无代码编辑工具中创建付费墙,SDK 会自动渲染。
- 手动创建的付费墙:您在代码中构建自己的付费墙 UI,但仍使用 Adapty 获取产品和处理购买。
- 观察者模式:您保留现有的购买基础设施,仅使用 Adapty 进行分析和集成。
不确定选哪个?请阅读快速入门中的对比表。
安装并配置 SDK
使用 flutter pub add 添加 Adapty SDK 依赖,并使用您的 Public SDK 密钥激活它。这是基础——没有它,其他任何功能都无法运作。
发送给您的 LLM:
Read these Adapty docs before writing code:
- https://adapty.io/docs/zh/sdk-installation-flutter.md
检查点
- 预期效果: 应用在 iOS 和 Android 上均可构建并运行。调试控制台显示 Adapty 激活日志。
- 注意事项: “Public API key is missing” → 检查您是否已将占位符替换为来自 App settings 的真实密钥。
显示付费墙并处理购买
按版位 ID 获取付费墙,展示它,并处理购买事件。所需指南取决于您的购买处理方式。
在操作过程中,在沙盒中测试每次购买——不要等到最后再测。沙盒设置说明请参阅在沙盒中测试购买。
检查订阅状态
购买后,检查用户画像中的活跃访问等级,以控制高级内容的访问权限。
指南:检查订阅状态
发送给您的 LLM:
Read these Adapty docs before writing code:
- https://adapty.io/docs/zh/flutter-check-subscription-status.md
检查点
- 预期效果: 沙盒购买后,
profile.accessLevels['premium']?.isActive返回true。 - 注意事项: 购买后
accessLevels为空 → 检查看板中该产品是否已分配访问等级。
识别用户
将您的应用用户账户与 Adapty 用户画像关联,以便购买记录在设备间持久保存。
如果您的应用没有身份验证功能,请跳过此步骤。
指南:识别用户
发送给您的 LLM:
Read these Adapty docs before writing code:
- https://adapty.io/docs/zh/flutter-quickstart-identify.md
检查点
- 预期效果: 调用
Adapty().identify()后,看板 Profiles 部分显示您的自定义用户 ID。 - 注意事项: 在激活后、获取付费墙前调用
identify,以避免匿名用户画像归因问题。
准备发布
一旦您的集成在沙盒中正常运作,请按照发布检查清单确保一切已准备好投入生产。
指南:发布检查清单
发送给您的 LLM:
Read these Adapty docs before releasing:
- https://adapty.io/docs/zh/release-checklist.md
检查点
- 预期效果: 所有检查项均已确认:商店连接、服务器通知、购买流程、访问等级检查及隐私要求。
- 注意事项: 缺少服务器通知 → 在 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 文档站点合并为单个文件。体积非常大——仅在需要完整内容时使用。- Flutter 专用的
flutter-llms.txt和flutter-llms-full.txt:与完整站点相比,这些平台特定子集可节省 token 用量。