大多数浏览器和
Developer App 均支持流媒体播放。
-
探索 App 内购买项目测试方法
了解如何在开发过程中使用 Xcode 中的 StoreKit Testing、App Store 沙盒和 TestFlight 进行 App 内购买项目的测试。探索每个工具的功能以及如何结合它们来构建测试你的 App 和游戏的工作流程。我们还将分享如何在 App Store 沙盒中测试 App 内购买项目和订阅的家庭共享的预览。
资源
- App Store Server Notifications
- Beta Testing Made Simple
- Message
- Setting up StoreKit Testing in Xcode
- Submit feedback
- Testing at all stages of development with Xcode and the sandbox
- Testing failing subscription renewals and In-App Purchases
- Testing In-App Purchases with sandbox
- Turn on Family Sharing for in-app purchases
相关视频
WWDC23
Tech Talks
WWDC22
-
下载
♪ ♪
Hemant:大家好 我叫 Hemant 是 App Store 的 Commerce Developer Advocate 我很高兴为你介绍 App Store 提供的工具 帮助你测试和验证 你的 App 内购买项目体验 我将介绍每个工具的优势 以及何时使用哪个工具最合适 我还将介绍今年为测试 App 内购买项目推出的所有新功能 那么 让我们开始吧 App Store 提供了三种工具 帮助你测试 App 内购买项目 首先是 Xcode 中的 StoreKit 测试 可以在本地测试 App 内购买项目 还有沙盒环境 使用你在 App Store Connect 中设置的产品 此外 TestFlight 用于进行端到端的 beta 测试 和收集测试人员的反馈 这些工具可以帮助你构建、 测试和优化 App 内购买项目的使用体验 我将简要介绍 这些工具 以帮助你确定 适合你 App 内购买项目测试的合适工具
首先介绍的是 Xcode 中的 StoreKit 测试 我们在 WWDC20 上推出了 Xcode 中的 StoreKit 测试 它使你能够在没有 从 App Store Connect 中设置 产品的情况下测试 App 内购买项目 在离线状态下 无需服务器 即可测试你的 App 内购买项目 你可以通过 StoreKit 配置文件 创建和管理 App 内购买项目 因此 你可以 在本地实时测试代码更改 在开始 StoreKit 集成时 你可以使用模拟器或真机 测试 App 内购买项目体验 你可以使用 StoreKitTest 框架构建自动化流程 持续测试 App 内购买项目 此外 你还可以将 App 内购买产品 从 App Store Connect 同步到 Xcode 这样就不需要手动 设置 StoreKit 配置文件了 你还可以测试高级订阅使用方案 例如优惠码兑换、提价表 和订阅进入与退出计费重试等 所有这些都能在 本地进行 无需依赖服务器 其中一个独特的功能 是灵活的订阅续订频率 你可以根据需要选择 实时更新订阅状态 或每两秒更新一次订阅状态 现在 我们在 Xcode 15 中提供了新的选项 为你提供了一组与订阅期限无关的 静态的续订频率 因此 月度产品或年度产品 将以相同频率续订 你可以模拟 App 可能遇到的 StoreKit 错误 这将帮助你 在 App 中构建错误处理 例如 产品不可销售 或用户取消购买等错误 如果你同时运行多个 App 实例 交易管理器将为 每个 App 实例显示交易记录 让你可以在多个设备上进行测试 交易管理器还增加了 直接购买 App 内购买项目的功能 无需打开你的 App 这样 你可以测试你的 App 是如何处理外部交易的 这些新功能在 Xcode 15 中可用 如欲进一步了解详细 信息 请观看 WWDC23 讲座 “Xcode 中的 StoreKit 2 和 StoreKit 测试新功能” 现在 让我们来看一下 App Store 的沙盒环境 App Store 沙盒环境使你能够 在客户端和服务器上测试和验证 完整的 App 内购买流程 这在构建和验证 完整的 App 体验 以及确保你成功 向用户提供内容时非常重要 要在沙盒中测试 App 内购买项目 你的开发者账号 需要具有付费 App 协议 你可以使用开发者账号 在注册设备上测试 App 和 App 内购买项目 要在沙盒中进行购买 你首先需要 在 App Store Connect 的 Users and Access 部分 创建一个沙盒 Apple ID 要在运行 iOS 16 或更高版本 的 iOS 设备上运行你的 App 你需要 在隐私设置中启用开发者模式 安装的 App 仅供开发和测试使用
沙盒帮助你 验证处理类似生产环境的场景 如购买、还原和订阅优惠 能够让你对发布你的 App 到正式生产环境中充满信心 要在沙盒中测试 你的 App 你需要一台设备 并可以使用两种选项进行分发 例如 你可以将设备连接到 Mac 并在设备上下载 App 或者使用以下任一分发方法 如发布测试、 调试和自定义生成一个 IPA 文件 这些方法可以帮助你将 App 交付给团队 进行测试 而无需提供源代码 我们一直在倾听你的反馈 并且我们了解沙盒对于你 测试客户体验非常重要 我们将继续改进沙盒 并添加新的测试功能 今年我们增加了 模拟强制流失等场景的支持 例如订阅计费问题消息 和计费宽限期 今年晚些时候 我们将发布 针对家人共享 App 内购买项目的测试支持 我们在 iOS 沙盒的 帐户设置页面上也添加了新选项 让我们深入了解所有这些功能 在沙盒环境中 你可以 使用计费问题消息模拟功能 今年晚些时候 当用户进入计费重试时 此功能将在 生产环境中向用户展示 计费问题报错帮助用户解决付款问题 无需离开你的 App 也可继续订阅内容及服务 计费问题表单使用 StoreKit 2 message API 并提供 billingIssue 当用户启动你的 App 或将其置于前台时 默认显示 StoreKit message API 你可以通过在视图中实现消息监听器 来选择推迟或抑制消息 其中计费问题表单的 呈现可能会让客户感到困惑 你可以在沙盒环境中模拟 原因为 billingIssue 时的消息 API 以测试你的 App 如何处理消息的展示 要进一步了解有关实现 StoreKit 2 Message API 的信息 请观看 WWDC22 讲座 “App 内购买项目的新功能” 现在 让我们回顾一下 在沙盒中模拟计费问题报错的步骤 要测试计费问题报错 你的沙盒 Apple ID 需要 订阅状态为有效的自动续订订阅 然后 你可以通过在设备上 导航到 App Store 设置 中的沙盒帐户设置页面 并禁用“Allow Purchases Renewals” 开关来模拟计费问题 禁用该开关 将模拟沙盒 Apple ID 的计费问题 且现有的自动续订订阅将无法按照 配置的订阅续订率进行续订 并进入计费重试状态 当你返回到 App 时 一旦订阅未能续订 App Store 将发送 billingIssue 消息 并且计费问题报错将会显示 当你轻点 Continue 按钮时 将打开 iOS 沙盒的帐户设置页面 你现在可以将 “Allow Purchases Renewals”切换至“ON” 以成功续订订阅 订阅成功续订后 你将不再收到计费问题报错 这帮助你模拟用户在 更新其 Apple ID 的付款方式时 无需离开 App 即可从计费问题中恢复 启用宽限期允许客户 在 Apple 尝试收取付款时 保留对你的 App 的付费内容 和服务的完全访问权限 如果在宽限期内 成功恢复了自动续订订阅 这将帮助开发者 避免付费服务的中断 要在沙盒环境中启用和模拟计费宽限期 你需要导航至 App Store Connect 中的 App 订阅部分 在 Billing Grace Period 部分 点击“Set Up Billing Grace Period” 这将打开一个对话框 允许你配置 App 的计费宽限期 你可以从可用的 宽限期持续时间中进行选择 请记住 这些持续时间仅适用于生产环境 所以在沙盒测试时 计费重试 和计费宽限期的持续时间是 根据沙盒帐户的续订率预设的 你还可以选择计费宽限期 的合格订阅用户并选择环境 你可以选择先在沙盒中启用 或同时在沙盒和生产环境中启用 然后点击确认 你将在 App Store Connect 中看到你的选择 现在我们来讨论一下家人共享 家人共享是一个强大 的工具 使客户可以轻松与 家庭成员共享他们的数字购买项目 为你的自动续订订阅和非消耗性产品 启用家人共享 可以帮助你吸引新客户、 增加用户参与度并提高留存率 我们希望为你提供在沙盒中 测试 App 内家人共享购买项目的功能
要在沙盒中测试家人共享 你需要登录到 App Store Connect 并导航至你需要启用 家人共享的订阅或非消耗性产品 然后 你需要 在 App Store Connect 中 组织沙盒家人共享成员 最后 使用已启用家人共享功能的 沙盒 Apple ID 进行购买 我们来详细讨论一下测试细节 一旦你启用了你的 App 内购买产品 以支持家人共享 你现在可以 导航到 App Store Connect 的 “User and Access”部分 在那里 你将看到一个 标有“家人共享”的新部分 在该部分 你将能够组织和查看 你的沙盒家庭成员的 storefront 我们说明一下在沙盒中的 App 内购买项目体验是什么样的 在这里 你在设备上发起购买 就像进行任何 其他寻常的沙盒购买一样 由于已启用家人共享 每个家庭成员都将创建交易 你的 App 现在将在启动时 或通过 StoreKit 实时看到这些新的交易 此时 你可以测试你的 App 逻辑 确保它验证并为交易提供服务资格 此外 你还可以模拟家庭成员 失去对服务的访问权的情况 为此 在 iOS 沙盒账户设置中 轻点”家人共享” 这将为你呈现一个视图 显示沙盒中的所有家庭成员 你可以选择停止家人共享 沙盒中的家人共享将允许你 验证以下使用案例: 使用 StoreKit 的 isFamilySharable 属性 为可共享的家庭产品进行推广 验证你的 App 逻辑 为家庭成员提供服务 无论是新的还是现有的购买项目 每个家庭成员可以 关闭共享 从而使你能够 测试家庭成员失去 先前共享的购买项目的情况 对于一个购买项目 停止家人共享的场景 你将能够使用 JWSTransactions 中的 revocationDate 来验证对服务访问权限的撤销 最后 你将收到适用于家庭成员的 App Store Server Notification 想进一步了解 有关实施家人共享的信息 请观看 Tech Talk 讲座 “探索家人共享 App 内购买项目” 今年晚些时候 我们将向 iOS 沙盒账户设置添加选项 一旦你在沙盒 App 中 进行了初始的 App 内购买项目 就可以访问 iOS 沙盒账户设置 你已登录的沙盒账户 可在 App Store 设置中查看 向下滚动页面 以查看你的沙盒 Apple ID 当你轻点沙盒 Apple ID 时 将出现一个对话框 轻点 Manage 按钮 你将导航到你的沙盒账户设置 今年晚些时候 你将看到 三个选项 这些选项之前在 App Store Connect 中可用 现在可用于 你在设备上进行的测试 现在通过账户设置页面 你可以调整 订阅续订率 测试中断的购买 并清除历史购买记录 当你轻点续订率时 你可以调整 沙盒账户的订阅续订率 你还可以清除 沙盒 Apple ID 的历史购买记录 以刷新你的沙盒 Apple ID 并重新测试你的使用案例 最后 让我们来看一下 TestFlight TestFlight 可以帮助你 测试 App 的端到端体验 分发你的 App 并从 更广泛的测试员群体中收集反馈 这有助于你在 将 App 发布到 App Store 之前 验证和改进 App 体验
TestFlight 允许你在 所有 Apple 平台上分发你的 App 你可以添加内部和外部测试人员 创建多个测试人员群组 并根据你想要每个群组测试的功能 为每个群组添加不同的构建版本 测试人员可以 自动安装最新的构建版本 并且每个构建版本 在上传后的 90 天内持续可用 如欲进一步了解信息 请观看 Tech Talks 讲座 “TestFlight 入门指南” 在测试 App 内 购买项目时 测试员需要使用 TestFlight App 下载你的 App 构建版本 当通过 TestFlight 下载的 App 购买 App 内购买项目时 使用的是你的已登录到设备 媒体与购买设置的 Apple ID 类似于沙盒环境 通过 TestFlight 下载的 App 内购买项目测试不会产生费用 对于测试自动续订订阅 TestFlight 中的续订率 与沙盒的默认续订率相同 如果你的 App 实现了 StoreKit 的 showManageSubscription API 则可以测试 订阅的取消或更改 今年 我们正在简化在 TestFlight 中管理测试员的流程 你可以按测试员的状态、 会话等数据进行筛选 并批量选择测试员 以添加或从群组中移除 为了简化 TestFlight App 的分发 我们为你添加了一种新的 构建版本分发方法 即仅限内部 使用此方法可以确保构建版本 对内部测试人员可用 并且无法 提交给 App Store 进行审核 如欲进一步了解信息 请观看 讲座“App Store Connect 的新功能” 和“简化 Xcode 和 Xcode Cloud 中的分发” 现在我已经介绍了可用于测试 App 内购买项目的工具 你需要知道这些工具具有 各自的优势和差异 但也有很多共同点 例如 它们都支持测试 所有类型的 App 内购买项目 并且订阅会以加速的速度进行续订 但是 对于 特定的功能实现或使用案例 某些工具可能更加理想 例如 使用 Xcode 中的 StoreKit 测试可以测试 订阅优惠码兑换和价格调整 使用 Xcode 和 沙盒中的 StoreKit 测试 可以测试计费重试和宽限期 为了验证服务器端的实现 沙盒和 TestFlight 都支持 App Store Server Notifications 和 App Store Server API 而 TestFlight 为你提供了 从内部和外部测试员 收集有关你的 App 性能 和整体体验反馈的简化流程 根据你的使用案例、 功能实现和组织团队结构 考虑利用这些工具 来测试 App 内购买项目 今天我们的讲座 涵盖了很多内容 希望本次讲座 对你了解可用的 App 内购买项目测试工具有所帮助 如欲进一步了解信息 请查阅 developer.apple.com 上 提供的文档 我们很乐意听取你的反馈 以改进你的 App 内购买项目测试体验 请通过反馈助理告诉我们 感谢你抽时间观看本次讲座
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。