# 在 Unity 中初始化 SDK

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

> **Important:**
>
> 必须在 SDK 初始化之前或期间配置用户同意。在某些地区，未经同意配置投放广告服务可能会违反隐私法规。

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

> **Note:**
>
> 从 2026 年 4 月 1 日开始，通过广告旧版软件包直接集成使用 Unity Ads 进行变现的应用可能会降低广告效果。为避免性能下降，请切换到将 Unity Ads 集成为出价者。
>
> Unity Ads 网络将继续支持所有使用直接集成的应用程序并提供填充。但是，为了最大限度提高收入和效果，建议的最佳做法是为 Unity 的广告聚合平台 LevelPlay [安装广告服务](/grow/levelplay/sdk/unity/package-integration.md.md)聚合软件包。

在您的游戏脚本标头中，包含 `UnityEngine.Advertisements` 命名空间。在游戏的运行时生命周期的早期（最好在启动时）使用 `Initialize` 函数来初始化 SDK。在 SDK 3.7.0 及更高版本中，您可以使用 `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 中实现插页式广告](/monetization/sdk-integration/unity-sdk/interstitial-ads.md)的文档以继续您的集成。
