__CAPGO_KEEP_0__

如何通过2025年App Store审查的内购

了解如何在iOS和Android上获得通过审查的内购应用的完整指南。了解常见的拒绝原因、要求和最佳实践。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销专家

如何通过2025年App Store审查的内购

在App Store和Google Play上获得通过审查的应用程序可能会很困难,尤其是在实施内购(IAP)和订阅时。2025年更严格的指南,了解审查员在看什么至关重要。这份全面指南涵盖了您需要通过第一次提交审查的所有内容。

需要详细的设置指南吗? 查看我们的完整指南: iOS App Store Review | Android Play Store Review

为什么IAP应用程序会被拒绝

涉及真实货币交易的应用程序面临更高的审查,因为它们涉及应用内购买。 根据 苹果App Store Review指南 Google Play的营销政策

  1. ,2025年拒绝的主要原因是: 价格不明确
  2. (拒绝的42%) (31%)
  3. 缺失或混淆的订阅条款 (18%)
  4. 隐私政策违规 (9%)

避免这些陷阱的方法,我们来看看。

iOS App Store 要求

📖 iOS 全面指南: 完整的设置指南,请参阅我们的 iOS App Store 审核指南

1. 明确的价格透明度

苹果要求准确的价格披露 购买按钮之前。这是不可商量的。

苹果想要看到的内容:

  • 价格清晰显示:“每月 $9.99”
  • 账单频率在开头就明确
  • 用户的钱花在哪里
  • 收费时机
  • 取消指南可见

UI 设计最佳实践

常见错误: 隐藏价格直到用户点击“订阅”或只在细小字体中显示价格。

解决方案:

// 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. 恢复购买功能

每个支持内购的应用程序都必须提供一个恢复购买按钮,且不需要支持联系。了解更多信息,请参阅我们的 入门指南.

实现:

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 entries:

<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>

2025年,错误的隐私标签是顶级拒绝原因。

Android Google Play Requirements

📖 全面Android指南: 请参阅我们的 Android Play Store审查指南

1. 必须的Google Play Billing

对于数字商品(订阅、内购内容),您 必须 使用 Google Play Billing。

数字商品(必须使用 Play Billing):

  • 功能订阅
  • 内购货币
  • 数字内容(电子书、音乐)
  • 高级解锁

实物商品(不能使用 Play Billing):

  • 实物商品
  • 实物服务
  • 非营利捐款

native-purchases:

Android 设备的完整设置,请参见 Android Sandbox 测试创建订阅.

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应用中填写:

  1. 在Play Console中填写隐私政策URL
  2. 在应用内可访问的隐私政策链接
  3. 准确的数据安全部分声明

数据安全必须声明:

  • 收集购买历史
  • 收件人邮箱地址(收据)
  • 设备ID(防欺诈)
  • 分析数据

应用描述指南

两大平台上常见的拒绝原因

1. 元数据不匹配

Why It Fails:

  • 截图显示的功能并非当前版本功能
  • 描述承诺的功能并不存在
  • 价格与应用内不符

元数据检查清单

预防措施:

  • 更新截图以适应每次提交
  • 确保描述与实际功能相符
  • 测试所有声明的准确性
  • 移除过时的促销文案

2. 欺骗式营销

自动拒绝触发器:

  • “#1 app”没有证据
  • “无限”有隐含的限制
  • 虚假评论或评分
  • 竞争对手的抨击

营销指南

最佳实践: 具体和事实:

  • ✓ “加入50,000+用户”
  • ✗ “世界上最好的应用程序”
  • ✓ “年度计划可节省至多30%”
  • ✗ “限时优惠!”

3. 购买流程中断

__CAPGO_KEEP_0__

  • 产品在提交前进行测试:
  • 产品正确加载
  • 购买成功
  • 高级功能立即解锁
  • 恢复购买功能正常
  • 友好的错误信息
// 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.');
    }
  }
}

提交前检查清单

提交前检查清单

在提交前使用此清单进行测试。详细测试流程请参见:

测试

  • 测试所有订阅等级
  • 验证免费试用正确工作
  • 测试入门优惠
  • 确认恢复购买工作
  • 测试多台设备
  • 验证沙盒/测试帐户工作

定价 & 条款

  • 价格匹配所有平台
  • 订阅条款清楚说明
  • 取消指南可见
  • 账单频率显示
  • 免费试用期准确

隐私 &#x26; 权限

  • 商店中隐私政策链接
  • 在应用中访问隐私政策
  • 所有权限都有理由
  • iOS中的Info.plist描述清晰
  • Android中的数据安全完成

元数据

  • 截图显示当前版本
  • 描述与功能匹配
  • 无需翻译的文本
  • 年龄评级正确
  • 所有声明都可测试

Code Quality

  • 启动时无崩溃
  • 所有功能如描述
  • 错误处理已实现
  • 加载状态显示
  • 网络错误已处理

审阅时间表预期

审阅时间表

iOS:

  • 标准: 24-48 小时
  • 高峰期: 3-5 天
  • 周末: 无审查
  • 加急: 对于关键 bug 可用

Android:

  • 初始: 平均 7 天
  • 更新: 通常更快
  • 滚动审查: 可以随时上线
  • 政策违规: 立即可能停用

专业提示: 周末避免延迟,提交 iOS 应用程序周一至周三。

如果被拒绝,怎么办?

澄清流程

步骤 1: 理解问题

  • 仔细阅读拒绝通知
  • 注意引用具体的指南
  • 检查提供的示例
  • 寻找反馈中的模式

步骤 2: 全面修复

  • 解决根本问题,而不是症状
  • 广泛测试修复
  • 记录所有更改
  • 截图(前后)

步骤 3: 专业回复

文档请求

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.

步骤 4:快速重新提交

  • 重新提交将更快速地被审查
  • 通常在 24 小时内
  • 包含测试账户
  • 参考之前的提交

2025 年更新和新要求

iOS 变更

AI 功能披露 (新)

  • 必须标记 AI 生成的内容
  • 说明 AI 使用
  • 文档内容安全

订阅增强清晰度

  • 必须提供横向比较的计划
  • 不隐藏更便宜的选项
  • 清晰的升级/降级路径

隐私加强

  • 第 5.1.1 条规定的执行力度增加
  • 对数据正当性进行更严格的审查
  • 儿童应用程序的更严格规则

Android 变更

Alternative Billing (Regional)

  • Allowed in EEA, South Korea
  • Must still offer Google Play option
  • Reduced service fees

Subscription API Requirements

  • New apps must use monetization.subscriptions APIs
  • Legacy billing APIs deprecated
  • Better subscription management tools

Best Practices for Success

1. Use Proper SDKs

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. 清晰的沟通

用户始终应知道:

  • 他们正在购买什么
  • How much it costs
  • When they’ll be charged
  • How to cancel
  • What happens after trial

4. 测试全面

iOS Sandbox:

  • 在 App Store Connect 中创建测试账号
  • 在设备上配置(设置 > App Store > Sandbox)
  • 注意加速订阅时长

Android License Testing:

  • 在 Play Console 中添加测试账号
  • 查看“测试购买”通知
  • No real charges occur

资源

平台文档

实现指南

详细评审指南

需要专家帮助?

在应用程序评审或需要亲自辅导时遇到困难? 我们团队为在应用程序中实施购买和评审准备提供了专门的支持。

预约与我们进行电话会议 以获取以下内容的定制帮助:

  • IAP实施评审
  • App Store评审准备
  • 提交策略指导
  • 拒绝解决方案
  • 完整的设置和测试支持

我们已经帮助数百个应用程序顺利通过审核!

结论

2025年通过应用程序审核需要注意细节、清晰的沟通和正确的实施。关键点是:

  1. 透明度是必须的 - 一直显示价格
  2. 遵守平台规则 - 使用必需的billing系统
  3. 彻底测试 - 在审查员发现问题之前捕捉问题
  4. 清晰的沟通 - 用户永远不应该感到困惑
  5. 准备文档 - 准备好测试账号

通过遵循本指南并使用像 native-purchases 插件这样的合适工具,你将显著增加首次通过的机会。 请记住:审查员正在寻找尊重用户并遵循指南的应用程序。以这种思维方式构建应用程序,审查就会顺利通过。需要帮助实现内购功能?

查看我们的

全面文档 或联系社区获取支持。 继续阅读《2025 年 App Store 审核通过内购指南》 如果您正在使用《2025 年 App Store 审核通过内购指南》

- Have test accounts ready

By following this guide and using proper tools like the native-purchases plugin 为了计划商店审批和发布,连接它与 @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 在使用 @capgo/capacitor-native-market 的原生能力中, Capacitor OTA Updates: App Store 审批指南 在 Capacitor OTA Updates: App Store 审批指南 的实际背景中,

Capacitor应用的实时更新

当web层bug处于活跃状态时,通过Capgo将修复推送到应用,而不是等待几天的应用商店审批。用户在后台接收更新,而本机更改仍然在正常审查路径中。

立即开始

最新博客文章

Capgo 为您提供创建真正专业的移动应用所需的最佳见解。