在App Store和Google Play上获得应用程序批准可能很困难,尤其是在实施内购(IAP)和订阅时。 2025年更严格的指南,了解审查员在看什么至关重要。这份全面指南涵盖了您需要在第一次提交时通过审查的所有内容。
需要详细的设置说明吗? 查看我们的完整指南: iOS App Store审查 | Android Play Store审查
为什么IAP应用程序会被拒绝
涉及实物交易的应用程序(IAP)面临更高的审查,因为它们涉及真实的钱交易。根据 苹果App Store审查指南 和 Google Play的营利政策2025年排除原因排名前几名是:
- 价格不明确 (排除原因占42%)
- 订阅条款缺失或混淆 (31%)
- 欺骗性UI模式 (18%)
- 隐私政策违规 (9%)
让我们深入了解如何避免这些陷阱。
iOS App Store要求
📖 iOS全面指南: 完整设置指南,请参见我们的 iOS App Store审查指南
1. 清晰透明的定价
Apple 需要准确的定价透明 前 购买按钮之前。 这是不可谈判的。
Apple 想要看到的内容:
- 价格清晰显示: “每月 $9.99”
- 账单频率在事前说明
- 用户为钱得到的内容
- 费用发生的时间
- 取消指南可见

常见错误: Hiding price until users tap “Subscribe” or showing price only in fine print.
解决方案:
// Example: Compliant subscription display
<div className="subscription-card">
<h2>Premium Plan</h2>
<p className="price">$9.99/month</p>
<ul>
<li>✓ Ad-free experience</li>
<li>✓ Unlimited cloud storage</li>
<li>✓ Priority support</li>
</ul>
<p className="terms">
Renews automatically. Cancel anytime in Settings.
</p>
<button>Subscribe Now</button>
</div>
价格一致性规则: 所有价格必须匹配以下渠道:
- App Store 列表
- 内购屏幕
- 订阅管理
- 营销材料
即使是 $1 的差异也会触发自动拒绝。
2. 订阅计划展示
苹果会标记使用“暗模式”推广高昂价格的应用程序。
必备:
- 显示所有订阅等级
- 没有预选的高级选项
- 清晰的功能比较
- 找到更便宜的替代方案
禁止:
- 自动切换到年付计划
- 将月付选项隐藏在额外的点击后
- 使用倒计时器制造假的紧迫感
- 假的稀缺性(‘仅剩3个位置!’)
3. 恢复购买功能
每个应用程序都必须提供一个恢复购买按钮,且不需要支持联系。更多信息请参阅我们的 开始使用指南.
Implementation:
import { NativePurchases } from '@capgo/native-purchases';
async function restorePurchases() {
try {
const { customerInfo } = await NativePurchases.restorePurchases();
if (customerInfo.activeSubscriptions.length > 0) {
showSuccess('Purchases restored!');
unlockPremiumFeatures();
} else {
showInfo('No previous purchases found.');
}
} catch (error) {
showError('Restore failed. Please try again.');
}
}
4. 隐私合规 (第 5.1.1 条)
2025 年将实施更严格的隐私执法。苹果现在要求:
对于每个权限:
- 清晰的说明 在 请求
- 具体用途(而不是通用)
- 数据如何存储/共享
- 是否可选
示例 Info.plist 条目:
<key>NSCameraUsageDescription</key>
<string>Camera access lets you scan product barcodes for quick upgrades. Photos are never uploaded.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location shows relevant local content in your Premium subscription.</string>
In 2025 年,隐私标签不准确是最常见的拒绝原因。
Android Google Play Requirements
📖 全面Android指南: 要了解完整的设置说明,请参阅我们的 Android Play Store Review 指南
1. 必须使用 Google Play Billing
对于数字产品(订阅、内购内容),您 必须 使用 Google Play Billing。alternative 支付方法将被拒绝。
数字产品(必须使用Play Billing):
- 功能的订阅
- 内购货币
- 数字内容(电子书,音乐)
- 高级解锁
实体商品(无法使用Play Billing):
- 真实商品
- 实体服务
- 非营利捐赠
使用native-purchases进行实现:
完整的Android设置,请参见 Android沙盒测试 和 创建订阅.
import { NativePurchases } from '@capgo/native-purchases';
// Automatically uses Google Play Billing on Android
await NativePurchases.configure({
apiKey: 'your_api_key'
});
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly']
});
2.透明自动续订
Google 需要明确告知订阅会自动续订,包括:
- 续费通知前收费
- 价格提醒
- 易于取消访问
符合规范的 UI:
<div className="subscription-terms">
<p>Subscription renews automatically at $9.99/month</p>
<p>Cancel anytime in Google Play Subscriptions</p>
<p>Next billing date: February 15, 2025</p>
<button onClick={openManagement}>
Manage in Google Play
</button>
</div>
3.隐私政策要求
IAP 应用必须:
- 隐私政策 URL 在 Play Console 中
- 在应用内可访问的隐私政策链接
- 准确的数据安全部分声明
数据安全必须声明:
- 收藏购买历史
- 电子邮件地址(收据)
- 设备ID(欺诈防御)
- 分析数据

两种平台上常见的拒绝原因
1. 元数据不匹配
为什么会失败:
- 截图显示的功能不在当前版本中
- 描述承诺的功能并不存在
- 价格与应用中的不一致

预防措施:
- 更新每次提交的截图
- 描述与实际功能匹配
- 测试所有声明的准确性
- 移除过时的促销文本
2. 有误导性的营销
自动拒绝触发器:
- “#1 应用”没有证据
- “无限”有隐藏的限制
- 假评论或评分
- 竞争对手的抨击

最佳实践: Be specific and factual:
- ✓ “已有50,000+用户”
- ✗ “世界上最好的应用”
- ✓ “年度计划可节省至多30%”
- ✗ “限时优惠”
3. 购买流程中断
测试提交前这些内容:
- 产品加载正确
- 购买成功
- 高级功能立即解锁
- 恢复购买成功
- 错误信息友善
- 网络故障处理
// Comprehensive error handling
async function handlePurchase(productId: string) {
try {
const { customerInfo } = await NativePurchases.purchaseProduct({
productIdentifier: productId
});
if (customerInfo.entitlements.active['premium']) {
unlockPremiumFeatures();
}
} catch (error: any) {
switch (error.code) {
case 'USER_CANCELLED':
// Silent - user backed out
break;
case 'ITEM_ALREADY_OWNED':
await NativePurchases.restorePurchases();
break;
case 'NETWORK_ERROR':
showError('Check your connection and try again.');
break;
default:
showError('Purchase failed. Please try again.');
}
}
}
提交前检查清单

在每次提交前使用此清单。详细测试流程请参见:
- iOS测试: iOS沙盒测试指南
- Android测试: Android沙盒测试指南
测试
- 测试所有订阅等级
- 验证免费试用期正确工作
- 测试引导性优惠
- 确认恢复购买功能正常工作
- 在多台设备上进行测试
- 验证sandbox/测试帐户正常工作
价格和条款
- 价格在所有平台上都匹配
- 订阅条款清楚地说明
- 取消指南可见
- 账单频率显示
- 免费试用期的准确性
隐私和权限
- 商店中链接的隐私政策
- 在应用程序中可访问的隐私政策
- 所有权限得到合理的解释
- Info.plist 描述清晰 (iOS)
- 数据安全完成 (Android)
元数据
- 截图显示当前版本
- 描述与功能匹配
- 没有占位文本
- 年龄等级正确
- 所有声明都可测试
Code Quality
- 启动时没有崩溃
- 所有功能都如描述所示
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_0__
__CAPGO_KEEP_1__

__CAPGO_KEEP_2__ iOS:
- __CAPGO_KEEP_3__
- __CAPGO_KEEP_4__
- __CAPGO_KEEP_5__
- __CAPGO_KEEP_6__
__CAPGO_KEEP_7__
- __CAPGO_KEEP_8__
- Updates: 通常更快
- Rolling reviews: 可以随时上线
- Policy violations: 立即可能被暂停
Pro Tip: 避免周末延迟,周一至周三提交iOS应用
如果被拒绝的处理方法

步骤1: 理解问题
- 仔细阅读拒绝通知
- 注意被引用具体的指南
- 查看提供的示例
- 在反馈中寻找模式
第二步:彻底修复
- 解决根本问题,而不是症状
- 测试修复方案
- 记录所有修改
- 截图前后
第三步:专业回应

iOS 解决中心:
Thank you for the feedback. I have addressed the issue:
Issue: Subscription pricing not clear upfront
Fix: Added explicit pricing display on subscription screen
showing "$9.99/month" before purchase button. Also added
cancellation instructions on the same screen.
Screenshots showing changes are attached. Test account
provided in App Review Notes.
Android 上诉:
Subject: Policy Violation Appeal - [App Name]
I have received notification regarding [Policy X.Y].
Changes made:
1. Updated subscription UI to show all pricing upfront
2. Added clear cancellation instructions
3. Implemented restore purchases functionality
Version [X.Y.Z] addresses all concerns. Test account
credentials provided below for verification.
第四步:快速重新提交
- 重新提交将更快被审查
- 通常在24小时内
- 包含测试账户
- 参考之前的提交
2025 年更新和新要求
iOS 变更
AI 功能披露 (新)
- 必须标记 AI 生成内容
- 说明 AI 使用
- 记录内容安全
订阅明确度增强
- 要求侧面比较计划
- 不隐藏更便宜的选项
- 清晰的升级/降级路径
隐私强化
- 第 5.1.1 条规定的执行力度增加
- 数据正当性受到了更多的审查
- 儿童应用的规则更加严格
Android 变更
替代付款 (地区)
- EEA 和韩国允许
- 仍须提供 Google Play 选项
- 服务费率降低
订阅 API 要求
- 新应用必须使用 monetization.subscriptions API
- Legacy billing API 已过时
- 更好的订阅管理工具
成功的最佳实践
1. 使用正确的 SDK
The @capgo/native-purchases 该插件正确处理两种平台:
// Single API for iOS and Android
await NativePurchases.configure({
apiKey: 'your_api_key'
});
// Automatically uses correct billing system
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly']
});
// Platform-specific logic handled automatically
await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly'
});
2. 实现正确的错误处理
处理所有购买状态:
- 用户取消(静默)
- 网络错误(重试选项)
- 已经拥有(恢复)
- 产品不可用(通知用户)
- 支付待处理(稍后查看)
3. 清晰沟通
用户应该始终知道:
- 他们购买的内容
- 价格
- 他们将何时被收费
- 如何取消
- 试用后发生什么
4. 广泛测试
iOS沙盒:
- 创建测试账户在 App Store Connect 中
- 在设备上配置(设置 > App Store > 沙盒)
- 注意加速订阅时长
Android 许可测试:
- 在 Play Console 中添加测试账户
- 查看“测试购买”通知
- 不会发生真实的费用
资源
平台文档
实施指南
详细审查指南
需要专家帮助?
应用程序审查或需要现场辅导?我们的团队为在应用程序内购买实施和审查准备提供专门的支持。
与我们预约一个电话会议 To get personalized help with:
- IAP 实现审查
- App Store 审查准备
- 提交策略指导
- 拒绝审查解决方案
- 完整设置和测试支持
我们已经帮助数百个应用程序通过审查!
结论
2025 年通过在应用程序中实现审查所需的注意力细节、清晰的沟通和正确的实施。关键点:
- 透明度是必须的 - 一直显示价格
- 遵循平台规则 - 必须使用付款系统
- 进行彻底的测试 - 在审查者发现问题之前捕捉问题
- 明确沟通 - 用户永远不应感到困惑
- 准备文档 - 准备好测试账户
按照本指南和使用合适工具,如 native-purchases 插件 您将显著增加首次通过的机会。请记住:审查者正在寻找尊重用户并遵循指南的应用程序。以这种思维方式构建应用程序,审查将随之而来。
需要帮助实施内购功能?
__CAPGO_KEEP_0__ 去看看我们的 全面文档 或联系社区获得支持。
继续阅读《2025年如何通过App Store审查In-App购买》
如果您正在使用 《2025年如何通过App Store审查In-App购买》 来规划商店批准和分发,连接它到 @capgo/capacitor-in-app-review 查看@capgo/capacitor-in-app-review 的实现细节在@capgo/capacitor-in-app-review 使用@capgo/capacitor-in-app-review 实现原生能力在使用@capgo/capacitor-in-app-review, 为 @capgo/capacitor-native-market 的实现细节 使用 @capgo/capacitor-native-market 为 @capgo/capacitor-native-market 的本地能力 Capacitor OTA 更新:App Store 审核指南 为 Capacitor OTA 更新:App Store 审核指南 的实际背景