Version: 6000.3
语言: 中文
设置 Unity IAP
配置 Google Play 商店

为 Apple App Store 和 Mac App Store 配置

本指南介绍了建立 Unity 游戏与应用内购买商店交互所需的数字记录和关系的过程。 这Unity IAPUnity In App Purchase
的缩写 术语表
purchasing API 是有针对性的。

应用内购买 (IAP) 是为数字商品进行货币交易的过程。平台的 Store 允许购买代表数字商品的商品。这些商品有一个标识符,通常是字符串数据类型。商品具有代表其持久性的类型:最常见的是订阅消耗品(能够重新购买)和非消耗品(只能购买一次)。

苹果应用商店

开始

  1. 编写一个实现 Unity IAP 的游戏。请参阅 Unity IAP 初始化

  2. 将游戏的产品标识符放在手边,以便以后在 iTunes Connect 中使用。

    应用程序产品标识符 com.unity3d.storeguidedemo.100gold。
    应用程序的产品标识符com.unity3d.storeguidedemo.100gold.

注册应用程序

  1. Apple 开发人员中心,导航到相应的标识符部分。

  2. 添加新的应用 ID 以使用 Apple 创建基本应用程序实体。

    注意: 使用显式应用 ID。您不能将通配符应用 ID (com.example.*) 用于使用应用内购买的应用。

    注意: 在开发人员中心创建应用 ID 后,可在 iTunes Connect 中使用。

    苹果应用商店
    苹果应用商店
  3. 导航到 iTunes Connect 并创建一个应用,以与你的游戏建立 Store 关系。

    iTunes 连接
    iTunes 连接
  4. 将新创建的应用 ID 用于应用的捆绑 ID。

    捆绑包 ID 弹出窗口
    捆绑包 ID 弹出窗口

添加应用内购买项目

  1. 选择功能并使用加号(“+”)按钮添加新的应用内购买。

    “应用内购买”摘要屏幕。
    “应用内购买”摘要屏幕。
  2. 选择产品类型

    产品类型选择屏幕。
    产品类型选择屏幕。
  3. 指定产品标识符,并根据要求填写其他字段。

    注意:此处的“产品 ID”与游戏源代码中使用的标识符相同,通过使用 AddProduct()AddProducts() 添加到 Unity IAP ConfigurationBuilder 实例中。

    注意:当定位多个 Apple 设备组时(例如,在 iOS 和 Mac 上发货),Apple 要求为每个不同的设备组使用不同的唯一产品标识符。使用 Unity IAP 的 Purchasing.IDs 类,定义一对多将产品 ID 映射到特定于商店的标识符,并在初始化 IAP 时传入该映射。

    应用内购买项目摘要。
    应用内购买项目摘要。
  4. 结果:

    产品类型选择窗口。
    产品类型选择窗口。

测试IAP

  1. 使用 iTunes Connect 创建沙盒测试程序,以便在测试设备的 iTunes 帐户上使用。为此,请转到 iTunes Connect >用户和角色,然后选择加号(“+”)按钮。您必须查看 Apple 的 Sandbox Tester 文档,因为还有一些其他重要的使用说明,并且您必须使用真实的电子邮件地址来创建 Tester。

    注意:有关更多信息,请参阅 iOS 和 Mac App Store 指南

    【提示】若要简化电子邮件地址的管理,请使用能够进行子地址 (emailaccount+subaddress@example.com) 的电子邮件服务,例如 Gmail、iCloud 和 Outlook.com。这允许一个电子邮件帐户接收多个子地址的电子邮件。

    将测试人员添加到您的应用。
    将测试人员添加到您的应用。
  2. 完成用户创建向导。

    创建一个测试人员帐户。
    创建一个测试人员帐户。
  3. 使用 Unity 为游戏生成 Xcode 项目。

    注意:确保 Unity 中的 Bundle Identifier(编辑>项目设置,然后选择其他设置类别,然后导航到 Bundle Identifier 部分)与 iTunes Connect 中使用的标识符匹配。

  4. 在游戏的 Xcode 项目中,确保将 团队(项目导航器>游戏目标>常规>身份>团队)设置为 Apple 开发者帐户的团队。

    在 Xcode 中设置您的开发者帐户。
    在 Xcode 中设置您的开发者帐户。

对于 iOS

  1. 使用目标 iOS 设备,退出任何现有的 Apple ID 帐户。稍后仅在应用程序提示时以沙盒测试人员身份登录。任何后续购买都通过 Apple Sandbox 而不是 Production Store 进行路由。

    以测试帐户身份登录。
    以测试帐户身份登录。
  2. 在您的 iOS 设备上构建并运行游戏。UnityPurchasing.Initialize()如果一切都已正确配置,则成功。

  3. 通过在设备上的游戏中进行购买来测试 IAP。将显示一个修改后的购买对话框,说明此购买是在沙盒环境中执行的。当提示购买时,请使用 Sandbox User Tester 密码。

    警告:如果该指标不存在,则将向账户收取产品的真实费用。

    确保您在沙盒模式下进行测试。
    确保您在沙盒模式下进行测试。

对于Mac

  1. 构建桌面 Mac 版本时,请在 Unity 的 Mac Player 设置中选择 Mac App Store 验证

  2. 构建应用后,更新其info.plist文件,其中包含您的捆绑标识符和版本字符串。右键单击.app文件,然后选择“显示包内容”,找到info.plist文件并更新CFBundleIdentifier字符串添加到应用程序的捆绑标识符。

  3. 对应用程序进行签名、打包和安装。从 OSX 终端运行以下命令,适当填写“your.app”和“your.pkg”。

    提示:要对捆绑包进行签名,您可能首先需要删除 Contents.meta 文件(如果存在):your.app/Contents/Plugins/unitypurchasing.bundle/Contents.meta

    1. codesign -f --deep -s "3rd Party Mac Developer Application: " your.app/Contents/Plugins/unitypurchasing.bundle

    2. codesign -f --deep -s "3rd Party Mac Developer Application: " your.app

    3. productbuild --component your.app /Applications --sign "3rd Party Mac Developer Installer: " your.pkg

  4. 若要正确安装包,请在运行新创建的包并安装之前删除未打包的.app文件。

  5. 应用程序文件夹启动应用程序。首次执行此作时,系统会提示您输入 iTunes 帐户详细信息,然后您可以针对沙盒环境进行测试购买。

有关 Apple App Store 测试和签名的更多信息,请参阅 iOS 和 Mac 扩展功能和构建 macOS 应用程序

设置 Unity IAP
配置 Google Play 商店