# 在 Unity 中初始化 SDK

> 通过使用您的 Game ID（游戏 ID）初始化 Unity Ads SDK，可以在 Unity 项目中启用变现和访问 Unity Ads 公共 API。

要初始化该 SDK，必须为适当平台引用项目的 Game ID（游戏 ID）。在 [Unity Monetization（变现）](https://cloud.unity.com/monetization)后台的二级导航栏中选择 **Monetization**（变现）套件，导航到您当前的项目，然后选择 **Settings（设置**），并滚动到 **Game IDs（游戏 ID**）部分，即可找到该 Game ID。

> **Note:**
>
> 从 SDK 4.4.1 版开始，Unity Ads 包在 Unity 编辑器中已更名为 Advertisement Legacy 包。
> Advertisement Legacy 包 4.12 版仍能正常工作，但不会收到任何关于新功能或增强功能的进一步更新。
> SDK 4.12 版支持 Apple 隐私清单更新，无计划对该包进一步更新。

在您的游戏脚本标头中，包含 [`UnityEngine.Advertisements`](/grow/ads/unity-sdk/unity-api.md#advertisement) 命名空间。在游戏的运行时生命周期的早期（最好在启动时）使用 [`Initialize`](/grow/ads/unity-sdk/unity-api.md#initialize) 函数来初始化 SDK。在 SDK 3.7.0 及更高版本中，您可以使用 [`IUnityAdsInitializationListener`](/grow/ads/unity-sdk/unity-api.md#iunityadsinitializationlistener) 回调在初始化完成时接收通知，或在发生错误时接收详细信息。

## SDK 初始化示例##sdk-initialization-example

1. **C#**

   ```cs
   using UnityEngine;
   using UnityEngine.Advertisements;

   public class AdsInitializer : MonoBehaviour, IUnityAdsInitializationListener
   {
     [SerializeField] string _androidGameId;
     [SerializeField] string _iOSGameId;
     [SerializeField] bool _testMode = true;
     private string _gameId;

     void Awake()
     {
       InitializeAds();
     }

     public void InitializeAds()
     {
       #if UNITY_IOS
       _gameId = _iOSGameId;
       #elif UNITY_ANDROID
       _gameId = _androidGameId;
       #elif UNITY_EDITOR
       _gameId = _androidGameId; //Only for testing the functionality in the Editor
       #endif

       if (!Advertisement.isInitialized && Advertisement.isSupported)
       {
         Advertisement.Initialize(_gameId, _testMode, this);
       }
     }

     public void OnInitializationComplete()
     {
       Debug.Log("Unity Ads initialization complete.");
     }

     public void OnInitializationFailed(UnityAdsInitializationError error, string message)
     {
       Debug.Log($"Unity Ads Initialization Failed: {error.ToString()} - {message}");
     }
   }
   ```

**后续步骤**：请参阅关于[在 Unity 中实现插页式广告](/grow/ads/unity-sdk/interstitial-ads.md)的文档以继续您的集成。
