App 内购买项目

在所有 Apple 平台上,您都可以利用 app 内购买项目,直接在您的 app 内为用户提供额外的内容和功能,包括数字商品、订阅和增值内容等。您甚至可以直接在 App Store 上推广和提供 app 内购买项目。

App 内购买项目类型

App 内购买项目分为四种类型,您可以在您的 app 内提供多种类型的 app 内购买项目。当您的 app 在多个 Apple 平台上提供时,这些平台上的用户都可以访问您的 app 内购买项目。

消耗型项目

用户可以购买不同类型的消耗型项目,例如游戏中用来推动进程的生命或宝石,或者约会 app 中用来提升个人资料曝光度的升级。消耗型的 app 内购买项目在使用之后即失效,并可再次购买。采用免费增值业务模式的 app 和游戏中经常提供这种项目。

非消耗型项目

用户可以购买非消耗型项目,解锁更多进阶功能。这些功能只需购买一次,不会过期。例如,照片 app 中的额外滤镜或游戏中的皮肤。

自动续期订阅

用户可以购买对 app 中内容、服务或进阶功能的持续访问权限。此类订阅会自动续期,除非用户选择取消。提供自动续期订阅的常见类别包括提供媒体或内容库 (例如视频、音乐或文章) 访问权限的服务、软件即服务 (例如云存储、效率或图形与设计) 以及教育等等。

进一步了解订阅

非续期订阅

用户可购买有时限性的服务或内容 (例如游戏中内容的季度订阅)。这种类型的订阅不会自动续期,如果想要继续访问,用户需要在订阅结束时购买新的订阅。

家人共享 新增

如果您的 app 中提供非消耗型 app 内购买项目或自动续期订阅,您可以在 App Store Connect 中启用“家人共享”功能,让用户可以与最多其他五个家庭成员共享访问权限。“家人共享”功能为用户带来了简单便捷的体验,并有助于您吸引订阅用户、鼓励更多用户订阅付费内容、提升用户参与度并提高留存率。

为 app 内购买项目开启“家人共享”功能

对特定地区设置价格

具有自动续期订阅的 app 可按地区设置价格。您可以从所有可用货币和价格等级的 200 个价格点中选择,为每个地区提供合适的定价。

了解如何提供订阅

提供 App 内购买项目

在提供 app 内购买项目之前,您必须签署付费 App 协议,并设置好您的银行和税务信息。

App Store Connect 帮助:协议、税务和银行业务概述

设置 Xcode 配置

使用 Xcode 来为您的 app 开启 app 内购买项目服务。

Xcode 帮助:为对象添加功能 (英文)

App Store Connect 中设置 App 内购买项目

您可以在 App Store Connect 中配置 app 内购买项目,为其添加产品名称、描述、价格和销售范围等详细信息。如果您的 app 会在多个不同的地区提供,您也可以添加本地化信息,确保这些不同地区的用户能以其首选语言获得顺畅的购买体验。

App Store Connect 帮助:app 内购买项目配置工作流程 App Store Connect 帮助:查看和编辑 app 内购买项目信息

设计和创建项目

设计您的 App 内购买项目体验

您的 app 内购买项目的用户界面应当与 app 的整体风格相融合,并能有效突出您的产品的亮点。

查看 Human Interface Guidelines (英文)


实施您的 App 内购买项目

使用 StoreKit 框架,在所有 Apple 平台上为您的用户打造安全无虞的购买体验。您可以利用 StoreKit API 来检索产品信息,处理交易,确定产品授权和用户状态,以及提供促销优惠等。

欧洲经济区用户的在线购买流程可能会受到欧盟强客户认证要求的影响。App Store 将支持强客户认证。我们建议您对 app 中的 StoreKit 实现情况进行验证,确保能正确处理购买流程。

查看 StoreKit 文档


确定用户状态

App Store 服务器通知提供用户状态的实时更新,以及与 app 内购买项目相关的重要事件,例如退款或订阅状态变化。您可以使用这些信息在 app 中打造定制体验。例如,如果订阅用户关闭了自动续期,您可以通过显示促销优惠来鼓励用户再次订阅。要启用 App Store 服务器通知,您需要在 App Store Connect提供链接至您服务器的 URL

利用 App Store 服务器 API 确定产品授权和用户状态。您将获得 app 内购买项目交易的最新状态和历史记录,包括在您的 app 之外发生的状态变化或用户设备可能离线时的状态变化。

App Store 服务器通知文档 (英文)

测试

测试交易流程

在整个开发流程中测试您的 app 内购买项目,确保您的 app 和服务器能够正确处理常见的购买情景,如订阅优惠或退款。在开发早期,您可以使用 Xcode 来模拟和测试 app 内购买项目。在 App Store Connect 中配置 app 内购买项目后,您可以在沙盒环境中使用真实产品信息进行测试。

在所有开发阶段进行测试 在 Xcode 中进行测试 (英文) 使用沙盒环境进行测试

测试完整的用户体验

准备就绪后,您可以使用 TestFlight 向内部和外部测试员征集有关 app 和 app 内购买项目的宝贵反馈意见。只需使用对方的电子邮件地址或通过分享公开邀请链接,您即可邀请多达 10,000 名外部测试员。TestFlight 中的 app 内购买项目使用的是沙盒环境,因此它们是免费提供给测试员的,并不会在 app 发布到 App Store 之后转移到生产环境中。

使用 TestFlight 进行测试

发布

提交您的 App 内购买项目以供审核

完成测试,并确认项目已完全遵循 App Review 准则和配置清单的要求,然后您即可在 App Store Connect 中进行提交。

App Store 审核指南 App Store Connect 帮助:提交 app 内购买项目

App Store 上推广您的 App 内购买项目

您可在产品页面上一次性推广多达 20 个 app 内购买项目,为那些从前只能在 app 中找到的内容有效地提升曝光度。现在用户不但能直接在 App Store 上浏览 app 内购买项目,更可在下载 app 之前就购买这些项目。

推广您的 App 内购买项目

分发促销代码

App Store Connect 中获取促销代码,让媒体和有影响力的用户率先体验您的 app 内购买项目。您可以为每款 app 内购买项目提供最多 100 个促销代码,每个 app 的 app 内购买项目代码总上限为 1,000 个。

App Store Connect 帮助:促销代码概述
用户付款方式

App Store 提供全方位的商业支持,包括超过 60 个地区的付款处理和纳税方面的协助,让您能轻松方便地向全球用户提供内容。用户用于购买您的 app 和 app 内购买项目的付款方式包括信用卡、借记卡、手机账单支付、Apple Pay、其他付款服务或 Apple ID 余额 (使用充值卡或直接充值)。

进一步了解

提供用户支持

周到的支持可以帮助您管理与用户的关系,从而提高用户的留存率、参与度,获得更好的评分和评论。使用 StoreKit 和 App Store 服务器 API 可以提供更加顺畅的支持选项,快速、高效地解决 app 内购买项目问题。

处理退款

利用请求退款 StoreKit API (英文) 并在 app 中为退款请求提供专门的位置,让用户能够直接在 app 发内起退款请求。您也可以在提供请求退款的选项之前,提供其他选项,如技术支持或游戏内免费项目等。

如果启用了 App Store 服务器通知,您将在用户请求退款后收到有关请求是否已获批准的通知。您可以根据这一信息采取相应行动,例如,根据退款状态更新用户的帐户余额,或限制对 app 内购买项目所解锁内容的访问权限。如果您选择采取行动,请告知用户所有相关更改,以及他们是否需要进行任何操作。今年晚些时候,您也可以利用已退款购买 API 来判断用户之前有没有在您的 app 中收到过任何 app 内购买项目的退款。

Apple 会根据各种因素来确定要批准还是拒绝退款请求。为帮助提供参考并改进退款流程,您可以在用户请求退款时向 Apple 发送有关用户的 app 内购买项目的信息 (英文)。这包括详细信息,例如购买项目是否已被消耗,或者您是否无法提供购买项目。

查看退款请求 UI 最佳做法 (英文)

启用 App Store 服务器通知 (英文)

处理退款通知

为订阅用户提供支持

管理购买项目

如果用户重新下载您的 app 或换用新设备,请务必确保用户能够立即访问他们以往 app 内购买项目对应的内容或功能。根据 App Store 审核指南 3.1.1,您的 app 也必须包含任何可恢复 app 内购买项目的恢复机制。

今年晚些时候,如果用户针对 app 内购买项目请求支持,您可以使用发票查找 API 来确保您对正确的购买项目采取行动。只需让用户提供 Apple 针对购买项目发送的电子邮件发票中列出的订单 ID,您即可使用这个 API 来确认发票和任何相关信息 (例如,用户是不是已经收到了购买项目的退款),或者将购买日期和时间与您的记录进行比对。