设置可从 Apple App Store 购买的 PlayFab 订阅
注意
IOS 订阅兑换目前处于个人预览状态。 要访问此功能,请向 PFEconomyPreviews@microsoft.com 发送主题为 PlayFab 移动订阅的电子邮件,并附上你的 PlayFab 游戏 ID,我们将在你的环境中启用该功能。
本教程介绍如何成功创建 PlayFab 订阅、将其添加到 Apple App Store 中的游戏以供玩家购买,以及如何兑换其中包含的物品。
先决条件
- PlayFab Game Manager 中的游戏。
- 现有的 PlayFab 中的所选游戏与 Apple App Store 之间的集成。
- 访问 App Store Connect。
- 已在 App Store Connect 中创建的应用。
- 在 App Store Connect 的应用内创建的应用内购买。 应用内购买应包括定价和本地化。
- 其相应交易观察程序已成为应用的一部分的付款队列。
步骤 1:创建测试用户
为了正确测试购买而又不进行实际付款,请首先为应用创建测试用户。
导航到 App Store Connect>“用户和访问 ”。
选择“沙盒”。
选择“测试帐户”旁边的加号 (+) 按钮。
填写表单并选择“创建”。
步骤 2:在 Game Manager 中创建订阅
注意
在 Game Manager 中创建订阅之前,请确保已创建并已发布要添加到目录中订阅的物品。 在本教程中,我们假定你已创建了一个名为 Super Awesome Sword 的 PlayFab 目录项。 如果需要有关如何创建物品的指导,请参考此步骤。
转到 Game Manager 并导航到“游戏”。
在左侧导航菜单中,选择“参与>经济”。
选择“订阅。
选择“新建订阅”。
将任何所需信息添加到订阅,例如物品和价格。 在本教程中,请使用 Super Awesome Sword 订阅作为名称。
向下滚动到页面末尾,如果希望玩家可以立即兑换,请选择“保存并发布”。 如果要在以后发布,请选择“另存为草稿”。
将物品添加到订阅
订阅本身不会向玩家授予任何物品的访问权限。 我们需要将物品链接到订阅,以便玩家物品清单知道玩家有权访问哪些物品。
要将物品添加到订阅,请执行以下步骤:
- 在编辑模式下转到“物品”部分。
- 选择 Add。 此时将显示一个窗口,其中显示了所有目录物品。
- 可以按类型筛选或搜索特定物品。
- 找到 Super Awesome Sword,然后选择它旁边的“添加”。
- 最后,选择底部的“添加”按钮。
这会将物品添加到订阅。
步骤 3:启用商城映射
要确保当玩家从应用购买订阅时可在 Game Manager 中正确购买和分配,必须配置“商城映射”。 在 Game Manager 中创建订阅时,或通过在创建订阅后在编辑模式下返回订阅,可以执行此操作。
- 在编辑模式下导航到订阅。
- 向下滚动到“商城映射”部分。
- 从“商城”下拉列表中,选择所需的商城。 (在本教程中,它是 AppleAppStore)。
- 对于你的“商城 ID”,请确保在 App Store Connect 中使用与你的产品 ID 相同的 ID。 在本教程中,我们使用了 pf.commerce.ios.sas1。
- 若要完成,请选择该行右侧的 +,然后选择“保存”以保存所做的更改。
步骤 4:进行购买
现在,你已在“App Store Connect”中创建了 IAP,则已在 Game Manager 中向订阅配置了物品,并设置了订阅的商城映射。 让我们继续从应用购买订阅。
公开 IAP 物品并将其设置为可从应用中购买后,可以使用我们在步骤 1 中创建的测试用户在应用上购买 IAP。 完成此操作后,Apple 的 API 应返回收据,然后你必须将其与 PlayFab 的兑换 API 配合使用以验证购买,并确保向玩家授予访问订阅的权限。
步骤 5:兑换应用内购买
从 Apple 的 API 收到收据后,必须使用 PlayFab 的 RedeemAppleAppStoreInventoryItems API 调用成功兑换 IAP。 在本例中,它应向经过身份验证的玩家授予 Super Awesome Sword 订阅,这会授予对 Super Awesome Sword 目录物品的访问权限。
检查这两个 ID 是否匹配
在进行兑换调用之前,必须确保 Game Manager 中用于商城映射的这两个备用 ID 都与 App Store Connect 中的产品 ID 匹配。
下面的屏幕截图来自 Game Manager 中的捆绑包,我们称 商城 ID 为 AlternateId,基本上它是另一种识别捆绑包的方法。
从 App Store Connect 中,转到“我的应用”,选择所需的应用,然后从左侧导航菜单导航到“功能”>“应用内购买”,最后选择你的 IAP,从 IAP 元数据中会看到产品 ID。
让玩家进行身份验证
若要兑换物品,请使用 RedeemAppleAppStoreInventoryItems。 但在此之前,我们必须确保希望兑换该物品的玩家在你的应用中正确进行身份验证,为此你会使用 LoginWithApple。
成功调用 LoginWithApple 后,PlayFab 的 API 将返回一个 EntityToken,该令牌必须用作 RedeemAppleAppStoreInventoryItems 标头的一部分,其中包含 X-EntityToken
密钥。 如果使用 API 平台进行测试,则会如下所示。
进行兑换调用
通过对玩家进行身份验证后,你的两个 ID 均已检查并匹配,并且已收到玩家进行应用购买产生的收据。 你已准备好进行兑换调用。 为此,请使用 RedeemAppleAppStoreInventoryItems API 调用。
{
"Receipt": "{Your receipt}"
}
兑换调用只有一个值,即 Apple 在成功购买 IAP 后返回的收据。
成功的响应将包括200 status code
以及时间戳和 MarketplaceTransactionId 等数据。
成功执行兑换调用后,你应能够在经过身份验证的玩家的物品栏中看到 Super Awesome Sword。