Skip to main content

使用 Economy v2、Unity 和 Android 快速入门

Economy v2 现已正式发布。如需支持和反馈,请访问 PlayFab 论坛
本教程向你介绍如何使用 PlayFab、Unity + IAP 服务和 Android Billing API 设置应用内购 (IAP)。

开始之前

Android Billing API 和 PlayFab 一起为你的客户端提供 IAP 体验: PlayFab Economy v2 - 兑换时间线 首先通过 PlayMarket 设置你的产品 ID价格。最初,所有产品都是_无面目的_——你的玩家能够购买的数字实体——但对 PlayFab 玩家没有意义。 为了让这些实体有用,我们需要在 PlayFab 物品目录中镜像它们。PlayFab 将无面目的实体变成捆绑包、容器和单个物品。 每个都有自己独特的面貌,包含:
  • 标题 (Titles)
  • 描述 (Descriptions)
  • 标签 (Tags)
  • 类型 (Types)
  • 图像 (Images)
  • 行为 (Behaviors)
所有物品通过共享 ID 链接到市场产品。 访问可购买的真钱物品的最佳方式是使用 GetItems 物品的 ID 是 PlayFab 和任何外部 IAP 系统之间的链接。因此我们将物品 ID 传递给 IAP 服务。 此时,购买过程开始。玩家与 IAP 界面交互——如果购买成功——你会获得收据。 PlayFab 验证收据并注册购买,向 PlayFab 玩家授予他们刚购买的物品。

设置客户端应用

本节向你展示如何配置应用以使用 PlayFab、UnityIAP 和 Android Billing API 测试 IAP。 先决条件:
  • 一个 Unity 项目。
  • 已导入并配置为与你的 title 一起工作的 PlayFab Unity SDK
  • 已安装并配置为与你的 Unity 项目一起工作的 Visual Studio 等编辑器。
我们的第一步是设置 UnityIAP:
  1. 导航到 Services
  2. 确保选择了 Services 选项卡。
  3. 选择你的 Unity Services 个人资料或组织。
  4. 选择 Create 按钮。
设置 UnityIAP 服务
  1. 接下来,导航到 In-App Purchasing (IAP) 服务。
导航到 UnityIAP 服务
  1. 通过设置 Simplify cross-platform IAP 切换开关,确保启用服务
  2. 然后选择 Continue 按钮。
启用 UnityIAP 服务 会出现一个带有插件列表的页面。
  1. 选择 Import 按钮。
UnityIAP 服务 - 导入插件 继续 Unity 安装和导入过程,直到所有插件都被导入。
  1. 验证插件已就位。
  2. 然后创建一个新的脚本,名为 AndroidIAPExample.cs
UnityIAP 创建新脚本 AndroidIAPExample.cs 包含以下代码(有关更多解释,请参见代码注释)。
  1. 创建一个名为 Code 的新 GameObject
  2. AndroidIAPExample 组件添加到它(单击并拖动,或)。
  3. 确保保存场景。
UnityIAP 创建示例游戏对象 最后,导航到 Build Settings
  1. 验证你的场景已添加到 Scenes In Build 区域。
  2. 确保已选择 Android 平台。
  3. 移动到 Player Settings 区域。
  4. 分配你的 Package Name
请务必提出你_自己_的软件包名称以避免任何 PlayMarket 冲突。
UnityIAP 添加示例游戏对象 最后,像往常一样构建应用程序,并确保有一个 APK。 为了测试,我们需要配置 PlayMarket 和 PlayFab。

为 IAP 设置 PlayMarket 应用

本节介绍如何为 PlayMarket 应用启用 IAP 的具体细节。
设置应用本身超出了本教程的范围。我们假设你已经_拥有_一个应用,并且已配置为至少发布 Alpha 版本。
启用 PlayMarket 应用 有用的说明:
  • 要达到这一点,你需要上传一个 APK。使用我们在上一节中构造的 APK。
  • 将 APK 作为 AlphaBeta 应用上传以启用 IAP 沙盒。
  • 配置内容分级包括有关如何在应用中启用 IAP 的问题。
  • PlayMarket 不_允许发布者使用或测试 IAP。选择_另一个 Google 账户用于测试目的,并将其添加为你的 Alpha/Beta 构建的测试者。
  1. 发布应用构建。
  2. 从菜单中选择 In-app products
    • 如果要求你提供商家账户,请链接或创建一个。
  3. 选择 Add New Product 按钮。PlayMarket 添加新产品
  4. 在新产品屏幕上,选择 Managed Product
  5. 给它一个描述性的_产品 ID_,例如 100diamonds
  6. 选择 ContinuePlayMarket 添加产品 ID
  7. PlayMarket 要求你填写标题 (1)描述 (2),例如 100 DiamondsA pack of 100 diamonds to spend in-game数据物品数据完全来自 PlayFab 服务,只要求 ID 匹配。PlayMarket 添加产品标题描述
  8. 进一步向下滚动并选择 Add a price 按钮。PlayMarket 添加产品价格
  9. 输入有效的价格,例如”$0.99”(注意价格如何独立地为每个国家/地区转换)。
  10. 选择 Apply 按钮。PlayMarket 添加产品应用本地价格
  11. 最后,滚动回屏幕顶部,将物品的状态更改为 ActivePlayMarket 使产品激活
  12. 保存授权密钥以将 PlayFab 与 PlayMarket 链接。
  13. 在菜单中导航到 Services & APIs
  14. 然后找到并保存 Base64 版本的密钥
PlayMarket 保存产品授权密钥 下一步是启用 IAP 测试。虽然沙盒会自动为 Alpha 和 Beta 构建启用,但我们需要设置获得授权测试应用的账户:
  1. 导航到 Home
  2. 找到并选择左侧菜单中的 Account details
  3. 找到 License Testing 区域。
  4. 验证你的测试账户在列表中。
  5. 确保 License Test Response 设置为 RESPOND_NORMALLY
不要忘记应用设置! PlayMarket 启用 IAP 测试 至此,集成的 Play Market 端应该已经设置好了。

设置 PlayFab title

我们的最后一步是配置 PlayFab title 以反映我们的产品,并与 Google Billing API 集成。
  1. 选择 Add-ons
  2. 然后,选择 Google 加载项。
PlayFab 打开 Google 加载项
  1. 填写你的 Package ID
  2. 填写你在上一节中获得的 Google App License Key
  3. 通过选择 Install Google 按钮提交你的更改。
我们的下一步是在 PlayFab 中反映我们的 100 Diamonds 捆绑包:

Game Manager

  1. 创建一个新的 Economy Catalog (V2) Currency。
  2. 编辑 Title 并添加描述 - 例如 DiamondsOur in-game currency of choice.
  3. 添加一个 Friendly ID 让你更容易找到你的货币,diamonds
  4. 选择 Save and publish 完成你的更改。
  5. Currency 列表中观察你的货币。
  6. 接下来,创建一个新的 Economy Catalog (V2) Bundle。
  7. 编辑 Title 并添加描述 - 例如 100 Diamonds BundleA pack of 100 diamonds to spend in-game.
请记住,此数据与 Play Market 物品标题描述无关——它是独立的。
  1. 你可以使用内容类型来组织你的捆绑包 - 例如 appstorebundles。内容类型在 ⚙️ > Title Settings > Economy (V2) 中管理。
  2. 通过向 Display properties 添加本地化定价来跟踪真实世界的价格。
  3. 向 Bundle 添加一个新物品。在过滤器中选择 Currencies,选择你在上一集中创建的货币。将 Quantity 设置为你希望在此捆绑包中销售的货币数量。
  4. 为”GooglePlay”市场添加一个新平台。如果你还没有 GooglePlay 市场,可以在 Economy Settings 页面中创建它。将 Marketplace ID 设置为与你在上一节中创建的 Google Play Console Product ID 匹配。
  5. 选择 Save and publish 完成你的更改。
  6. Bundles 列表中观察你的捆绑包。

REST API


接下来,我们可以设置游戏内购,供玩家用他们的货币消费,其中 PlayFab 商店代表游戏内 NPC 供应商:

Game Manager

  1. 创建一个新的 Economy Catalog (V2) Item。
  2. 编辑 Title 并添加描述 - 例如 “Golden Sword”、“A sword made of gold.”。
  3. 你可以添加本地化关键词,以帮助玩家在商店中找到你的物品。添加 Tags 和 Content type 以帮助你整理物品,以便日后通过 API 检索。使用 Display Properties 存储游戏数据,例如护甲值、艺术资产的相对路径或你游戏需要存储的任何其他数据。
  4. 添加一个新的价格,选择你在上一步中创建的货币。将 Amount 设置为你想要默认设置的价格。你可以稍后在你创建的任何 Store 中覆盖 Price。
  5. 选择 Save and publish 完成你的更改。
  6. Items 列表中观察你的物品。
  7. 最后,创建一个新的 Economy Catalog (V2) Store。
  8. 编辑 Title 并添加描述 - 例如 Villager StoreA humble store run by a humble villager.
  9. 给它一个 Friendly ID 使检索更容易,例如 villagerstore
  10. 将你在上一步创建的物品添加到商店。你可以将多个物品添加到商店,并在需要时覆盖任何默认价格。
  11. 选择 Save and publish 完成你的更改。
  12. Stores 列表中观察你的商店。

REST API


我们已完成 PlayFab title 的设置。

测试

为了测试目的,使用 Alpha/Beta 版本下载应用。
  • 确保使用测试账户和真实的 Android 设备。
  • 一旦启动应用,你应该会看到 IAP 已初始化,并且_有一个按钮_代表你的物品。
  • 选择该按钮。
测试应用 - 购买 100 Diamonds 按钮 IAP 购买已启动。按照 Google Play 说明操作,直到购买成功。 测试应用 - Google Play - 支付成功 最后,导航到 PlayFab Game Manager 仪表板中的你的 title 并找到 New Events 验证购买是否已提供、验证并管道到 PlayFab 生态系统。 你已成功将 UnityIAP 和 Android Billing API 集成到你的 PlayFab 应用中!

后续步骤

  1. 构建一个 Unity UI Toolkit 界面用于购买,以替换演示 IMGUI 显示。
  2. 创建一个自定义 Unity Logger 来处理 PlayFab 错误并将其显示给用户。
  3. 向你的 PlayFab 物品图像字段添加图标图像以在 Unity UI 中显示。
最后修改于 2026年8月13日