收入手册
复制一个包含安装步骤和本插件完整 Markdown 指南的配置提示。

应用内购买的SDK仅是赚钱的其中一部分。收入来自清晰的问题、用户可以尝试的小产品、可靠的商店计费和教会用户他们愿意购买的付墙。
在添加订阅或高级解锁时使用此手册 @capgo/native-purchases.
从简单的收入目标开始
标题:从简单的收入目标开始首先使目标具体化。例如:
| 月度价格 | 需要约$1千美元MRR的活跃订阅者 |
|---|---|
| $4.99 | 201 |
| $7.99 | 126 |
| $9.99 | 101 |
| 每年$29.99 | 约400名年度订阅者,取决于时间 |
这些数字不包括商店费用、税款、退款和汇率差异。它们仍然有用,因为它们使发布计划保持现实:您需要几百名 мотив的用户,而不是大规模的观众。
构建最小的付费产品
Section titled “最小化付费产品”-
选择一个痛点
围绕用户已经在寻找的结果建立产品。例如:为新父母设计的健身计划、为夫妻设计的预算追踪器、为自由职业者设计的收据扫描器、或为一次考试设计的语言练习应用。
-
检查需求
在App Store和Google Play中搜索核心关键词。阅读竞争应用的低分和中分评分的评论,找出缺失的功能、混乱的引导流程、价格投诉和UI阻力。
-
发布一个狭窄的MVP
第一个版本应该包括引导流程、一个有用的核心操作、基本的错误处理和足够的分析来查看用户是否达到了价值点。
-
早期添加付款
不要等待应用感觉完整。一个基本的付款墙有助于您了解用户是否理解价值,并且您的价格是否可信。
在优化之前,先测量漏斗
在开始改变价格或屏幕之前,跟踪这些事件:Section titled “在优化之前,先测量漏斗”
| 事件 | 为什么它很重要 |
|---|---|
install 或首先打开 | 基线流量 |
onboarding_completed | 用户是否理解设置 |
core_action_completed | 产品是否提供价值 |
paywall_viewed | 用户是否达到盈利 |
trial_started | 是否有吸引人的offer |
purchase_completed | 付费转化 |
restore_started 和 restore_completed | 购买恢复和审查符合 |
subscription_status_checked | 权利可靠性 |
cancel_feedback_submitted | 流失原因 |
如果许多用户无法看到付费墙,请在更改付费墙之前修复引导流程。如果用户看到付费墙但没有开始试用,改进的优惠、证明或价格展示。
选择一个营收模型
选择一个营收模型以一个模型开始,以便数据可读。
| 模型 | 合适度 | 首版 |
|---|---|---|
| 日常工具、跟踪器、工具 | 免费核心动作,付费限制或高级功能 | 付费墙加免费试用 |
| 首版 | 快速价值的应用 | 在注册后立即开通付费 |
| 一次性解锁 | 价值有限的工具 | 终身产品,未来可选续费 |
避免在首日推出多个等级、多个套餐和复杂的升级路径。使用一个月度计划和一个年度计划时需要订阅。等到从一个国家看到有意义的流量后再添加本地化价格。
配置产品以获取收入数据
配置产品以获取收入数据保持产品标识符稳定和可读:
com.example.app.premium.monthlycom.example.app.premium.yearlycom.example.app.premium.lifetime使用商店产品名称来强调用户正在寻找的价值,例如“月度计划师专业版”而不是“月度”。商店元数据和应用内购买名称可以帮助发现和清晰。
从商店加载产品数据,以确保价格、货币和介绍性优惠始终准确:
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({ productIdentifiers: [ 'com.example.app.premium.monthly', 'com.example.app.premium.yearly', ], productType: PURCHASE_TYPE.SUBS,});
const monthly = products.find((product) => product.identifier.endsWith('.monthly'));const yearly = products.find((product) => product.identifier.endsWith('.yearly'));不要在 UI 中硬编码商店价格。尽可能从商店数据中渲染 product.priceStringlocalized 产品标题、计费周期和试用期
构建第一个付费墙
第一个付费墙应该清晰而不是聪明:标题:付费结果,如“解锁无限健身计划”。
- 好处:3 到 5 个具体改进,而不是长列表。
- 计划:月度和年度,提供真实的年度节省。
- 试用:准确的试用长度和试用结束后发生的事情。
- CTA:“开始免费试用”或“立即升级”。
- 链接:条款、隐私政策、恢复购买和管理订阅。
- 第一个付费墙的标题
在用户理解应用功能后,首先在导航后放置第一道付费墙。之后,测试其他触发器,如使用限制、premium功能点击或核心动作完成。
购买和恢复流程
购买和恢复流程import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
export async function buyYearly(appAccountToken: string) { const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.example.app.premium.yearly', planIdentifier: 'yearly-plan', productType: PURCHASE_TYPE.SUBS, appAccountToken, });
await fetch('/api/purchases/validate', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ transactionId: transaction.transactionId, receipt: transaction.receipt, purchaseToken: transaction.purchaseToken, productIdentifier: transaction.productIdentifier, }), });
return transaction;}
export async function restorePurchases() { await NativePurchases.restorePurchases();
return NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, });}始终在后端验证购买之前授予持久的权利。为快速UI保留本地权利缓存,但将商店和后端视为真实来源。
带来第一批用户
带来第一批用户收入需要流量。使用以下渠道在没有品牌之前开始:
- ASO:标题、副标题、关键词、截图、应用描述、图标、评分和内购名称。
- 短视频:发布快速演示、问题/解决方案剪辑和目标国家的前后对比。
- Reddit和社区:先参与讨论,然后以有用的故事形式分享您构建的内容,而不是广告。
- 测试组:TestFlight、Google Play内部测试、Discord和专业论坛。
每个渠道都应该将用户引入同一测量通道,以便比较留存率、付费墙浏览次数、试用次数和购买次数。
正确读取流失率
标题:正确读取流失率一些流失率意味着用户尝试了应用程序并决定它不是他们的。正常情况下,这是正常的。关键是模式:
- 试用期间取消:不清楚的价值、不佳的引导或错误的流量。
- 一周期后取消:重复价值不足或弱的习惯循环。
- 退款:定价不符、意外购买风险或不明确的条款。
- 无恢复:破坏的权利处理或缺失的恢复UI。
在可能的情况下添加一个一项取消调查。使用答案来改进引导、功能范围、商店截图和付费墙复制。
启动清单
标题:启动清单- 产品解决一个明确的付费问题。
- 在 iOS 和 Android 上测试的商店产品处于活跃状态。
- 商店加载的价格和条款在付款墙上显示。
- 实现了购买、恢复、管理订阅和后端验证功能。
- 从首次打开到购买,跟踪了漏斗事件。
- 在第一张截图中,应用商店元数据解释了价值。
- 在发布前至少激活一个获取渠道。
- 从第一批订阅者收集了流失反馈。
相关指南
相关指南继续从Revenue Playbook
继续从Revenue Playbook如果您正在使用 收入手册 来规划付款和购买,连接它与 使用@capgo/native-purchases 为native能力在使用@capgo/native-purchases Capgo 价格策略 为产品工作流程在Capgo Pricing 支付系统 为支付系统的实现细节 @capgo/原生购买 为@capgo/native-purchases的实现细节 开始 为开始的实现细节