营收手册
复制一个设置提示,包括安装步骤和该插件的完整 Markdown 指南。

应用内购买的购买 SDK 只是赚钱的其中一部分。收入来自清晰的问题、用户可以尝试的小产品、可靠的商店付款和教会用户他们愿意购买什么的付墙。
在添加订阅或高级解锁时使用此剧本 @capgo/native-purchases.
从一个简单的收入目标开始
标题:从一个简单的收入目标开始使第一个目标具体化。例如:
| 月度价格 | 需要约 1K 美元 MRR 的活跃订阅者 |
|---|---|
| $4.99 | 201 |
| $7.99 | 126 |
| $9.99 | 101 |
| 29.99 美元的年费 | 约 400 年的订阅者,取决于时间 |
这些数字是在商店费用、税费、退款和汇率差异之前的。它们仍然有用,因为它们使启动计划保持现实:你需要几百名 мотив的用户,而不是一个庞大的观众。
构建最小的付费产品
标题:构建最小的付费产品-
选择一个痛苦的用例
围绕用户已经在搜索的结果建立应用。例如:为新父母设计的健身计划、为夫妻设计的预算追踪器、为自由职业者设计的收据扫描器、或为一次考试设计的语言练习应用。
-
查看商店中的需求
在App Store和Google Play中搜索核心关键词。阅读竞争应用的低分和中分评分的评论,找出缺失的功能、混乱的引导流程、价格投诉和UI阻力。
-
交付一个狭窄的MVP
第一个版本应该包括引导流程、一个有用的核心操作、基本的错误处理和足够的分析来看是否用户达到价值时刻。
-
尽早添加购买功能
不要等待应用感觉完整。一个基本的付费墙有助于您了解用户是否理解应用的价值以及您的定价是否可行。
在优化之前,先测量漏斗
标题:在优化之前,先测量漏斗在开始调整价格或屏幕之前,跟踪这些事件:
| 事件 | 为什么它重要 |
|---|---|
install 或首先打开 | 基线流量 |
onboarding_completed | 用户是否理解设置 |
core_action_completed | 产品是否提供价值 |
paywall_viewed | 用户是否达到盈利 |
trial_started | 是否有吸引力的优惠 |
purchase_completed | 付费转化 |
restore_started 和 restore_completed | 购买恢复和审查符合 |
subscription_status_checked | 权利可靠性 |
cancel_feedback_submitted | 流失原因 |
如果许多用户无法看到付费墙,请在更改付费墙之前修复引导。 如果用户看到付费墙但没有开始试用,改进优惠、证明或价格展示。
选择一个营利模式
营利模式选择先选择一个模式,数据才会清晰可读。
| 模式 | 合适 | 第一版 |
|---|---|---|
| 免费加收费 | 每日工具、跟踪器、重复使用的工具 | 免费核心功能,收费或限额或高级功能 |
| 付费墙加免费试用 | 快速价值交付的应用程序 | 付费墙在登录后3-14天试用 |
| 一次性解锁 | 功能有限的工具 | 终身产品,未来可选订阅 |
避免在首次发布时提供多个价格计划、多个套餐和复杂的升级路径。使用一个月度计划和一个年度计划,当您需要订阅时再添加本地化价格。等到一个国家的流量有意义后再添加本地化价格。
配置产品以获取收入数据
标题:配置产品以获取收入数据保持产品标识符稳定和可读:
com.example.app.premium.monthlycom.example.app.premium.yearlycom.example.app.premium.lifetime使用商店产品名称来强调用户正在搜索的价值,例如“Meal Planner Pro Monthly”而不是仅仅“Monthly”。商店元数据和应用内购买名称可以帮助发现和清晰度。
从商店加载产品数据,以便价格、货币和推广活动始终准确:
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.priceString根据商店数据,获取本地化的产品标题、计费周期和试用条款。
创建第一个付费墙
第一个付费墙应该清晰而不是聪明:标题:付费结果,如“解锁无限健身计划”。
- 好处:3到5个具体改进,而不是长长的功能列表。
- 计划:月度和年度,提供实实在在的年度节省。
- 试用:准确的试用长度和试用结束后发生的事情。
- CTA:“开始免费试用”或“立即升级”。
- 链接:条款、隐私政策、恢复购买和管理订阅。
- 将第一个付费墙放在用户理解应用程序功能后,之后再测试其他触发器,如使用限制、premium功能点击或完成核心动作。
购买和恢复流程
Purchase and restore flow
Section titled “购买和恢复流程”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保留本地权益缓存,但将商店和您的后端视为真实来源。
带来第一个用户
Section titled “带来第一个用户”收入需要流量。从您品牌未成立之前就能工作的渠道开始:
- ASO:标题、副标题、关键词、截图、应用描述、图标、评分和内购名称。
- 短视频:发布快速演示、问题/解决方案剪辑和目标国家的前后对比示例。
- Reddit 和社区:先参与讨论,然后以有用的故事的形式分享您构建的内容,而不是广告。
- Beta 组:TestFlight、Google Play 内部测试、Discord 和专门论坛。
每个渠道都应该将用户引入同一可测量的漏斗中,以便您可以比较保留率、付费墙浏览次数、试用和购买。
正确读取流失率
正确读取流失率一些流失率意味着用户试用了应用并决定它不是他们的选择。这是正常的。关键的是模式:
- 试用期间取消:不明确的价值、入门体验不佳或流量不正确。
- 一轮后取消:重复价值不足或习惯循环弱。
- 退款:价格不符、意外购买风险或条款不明确。
- 无恢复:失效的权益处理或缺失的恢复UI。
在可能的情况下添加一个一问流失率调查。使用答案来改进入门体验、功能范围、商店截图和付费墙文本。
发布清单
发布清单- 产品解决一个明确的付费问题。
- 商店产品处于活跃状态,并在iOS和Android上进行了测试。
- 付费墙显示商店加载的价格和条款。
- 订阅购买、恢复、管理和后端验证已实现。
- 从首次打开到购买,事件流程被跟踪。
- 应用商店元数据在第一张截图中解释了价值。
- 在发布之前至少有一条获取渠道处于活跃状态。
- 从第一批订阅者收集流失反馈。