# 设置 Codeless IAP

> 使用 Codeless IAP 以最少的脚本配置和测试应用内购，从而简化受支持的商店的设置。

Codeless IAP 允许您使用 Unity Editor 接口以最少的脚本实现应用内购。它处理底层交易流程，因此无需编写复杂的购买代码即可创建功能齐全的游戏内商店。

当玩家点击 IAP 按钮时，Unity 会启动关联商品的购买流程，与应用商店通信，并返回结果。

> **Note:**
>
> 只能将无代码 IAP 功能用于平台原生支付提供商。Codeless IAP 与 Direct-to-Consumer (D2C) 支付提供商的集成不兼容。

> **Note:**
>
> 虽然购买流程没有代码，但您必须提供脚本来处理购买履行情况（例如，在成功购买后向玩家授予物品）。请参阅[购买完成](#purchase-fulfillment)以了解更多详细信息。

## 设置 Codeless IAP##set-up-codeless-iap

要在项目中实现 Codeless IAP，请在 Editor 中完成以下步骤：

1. 将 IAP 按钮添加到场景中：在 Editor 中创建和配置 IAP 按钮以开始购买或恢复交易。有关详细信息，请参阅 [Codeless IAP 按钮配置](./codeless-iap-button-configuration.md)。
2. 在 IAP 目录中定义商品：在 Editor 的产品目录中列出所有可供购买的产品：在 Editor 的产品目录中列出所有可供购买的产品。有关详细信息，请参阅 [Create a catalog in the Editor](./create-catalog-in-editor.md)。
3. 设置自动初始化：将 Unity IAP 配置为自动初始化，以便在游戏启动时购买系统已准备就绪。
   * 在 IAP Catalog 窗口中，选择窗口底部的 **Automatically initialize UnityIAPServices**。

> **Note:**
>
> 将第一个商品添加到目录后，将显示 **Automaticly initialize UnityIAPServices** 选项。

> **Note:**
>
> 您可以使用 IAP 按钮或监听器进行自动初始化。启用自动初始化后，SDK 将在游戏启动时启动。如果也在脚本中手动初始化 SDK，请不要启用自动初始化，因为这可能会导致错误。

## 购买履行##purchase-fulfillment

成功购买后，Unity 会调用您的购买履行脚本将购买的内容交付给玩家。

1. 在 Scene 视图中，选择 **IAP 按钮**。
2. 在 Inspector 中，打开 **Product ID** 下拉选单，然后选择要链接的商品。
3. 创建一个处理购买履行情况的函数，或导入提供此功能的资源。请参阅下面的代码示例。
4. 将购买履行脚本作为组件应用于游戏对象。
5. 选择 IAP Button 后，转到 Inspector 中的 **IAP Button (Script)** 组件。
6. 在 **On Order Pending (Product)** 列表中，选择 **+** 以添加新事件。
7. 将包含购买履行脚本的游戏对象拖入事件字段，然后从下拉菜单中选择履行功能。

> **Note:**
>
> 购买时需要在相应的应用商店上配置商品目录。

以下代码示例检查是否购买了正确的商品并将其授予玩家。

```cs
public void ExampleProductPurchased(Product product)
{
    // Check if the correct product has been passed
    if (product.definition.id == "com.example.product")
    {
        // Grant product to player
    }
    else
    {
        // Handle unexpected product
    }
}
```
