# Unity での SDK の初期化

> Unity Ads SDK をゲーム ID で初期化して、収益化を有効にし、Unity プロジェクトで Unity Ads パブリック API にアクセスします。

> **Important:**
>
> SDK の初期化の前または中に、ユーザー同意を設定する必要があります。同意設定なしで広告を配信すると、一部の地域ではプライバシー規制に違反する可能性があります。

SDK を初期化するには、該当するプラットフォーム用のプロジェクトのゲーム ID を参照する必要があります。ゲーム ID を確認するには、[Unity Ads の Monetization (収益化) ダッシュボード](https://cloud.unity.com/monetization) で **Monetization** (収益化) スイートを選択し、現在のプロジェクトに移動した後、セカンダリナビゲーションバーで **Settings** (設定) を選択して、**Game IDs** (ゲーム ID) セクションまでスクロールします。

> **Note:**
>
> 2026 年 4 月 1 日より、Advertisement Legacy パッケージを介した直接インテグレーションによって Unity Ads で収益化するアプリケーションでは、広告のパフォーマンスが低下する可能性があります。パフォーマンスの削減を回避するには、Unity Adsを入札者として統合する方式に切り替えます。
>
> Unity Ads ネットワークは、直接インテグレーションを使用するすべてのアプリケーションのサポートと提供を継続します。ただし、収益とパフォーマンスを最大化するために推奨されるベストプラクティスは、Unityの広告メディエーションプラットフォームであるLevelPlay用のAds Mediationパッケージ[をインストールする](/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 でのインタースティシャル広告の実装](/ads-unity/4.19.0/sdk-integration/interstitial-ads.md) に関するドキュメントを参照してください。
