# iOS での SDK の初期化

> iOS アプリケーションで Unity Ads SDK を初期化します。ゲーム ID を設定し、デリゲートを使用して初期化コールバックを管理し、広告収益化を有効にします。

> **Important:**
>
> 広告の表示が必要になる前、プロジェクトのランタイムライフサイクルの初期に、SDK を初期化してください。

## ViewController.h##viewcontroller.h

`ViewController` ヘッダー (`.h`) で、Unity Ads をインポートし、以下のデリゲートを設定します。

* [`UnityAdsInitializationDelegate`](/grow/ads/ios-sdk/ios-api.md#unityadsinitializationdelegate) は、初期化の成功または失敗のコールバックをハンドルします。
* [`UnityAdsLoadDelegate`](/grow/ads/ios-sdk/ios-api.md#unityadsloaddelegate) は、広告ユニットによるコンテンツのロードの成功または失敗のコールバックをハンドルします。
* [`UnityAdsShowDelegate`](/grow/ads/ios-sdk/ios-api.md#unityadsshowdelegate) は、広告ユニットによるロードしたコンテンツの表示の成功または失敗のコールバックをハンドルします。

1. **Objective-C**

   ```objective-c
   #import <unityads unityads.h>

   @interface ViewController : UIViewController<UnityAdsInitializationDelegate,
   UnityAdsLoadDelegate,
   UnityAdsShowDelegate>

   @property (assign, nonatomic) BOOL testMode;
   ```

## ViewController.m##viewcontroller.m

SDK を初期化するには、該当するプラットフォーム用のプロジェクトのゲーム ID を参照する必要があります。この ID は、[Unity 収益化ダッシュボード](https://cloud.unity.com/monetization) のセカンダリナビゲーションメニューから、\*\*CURRENT PROJECT (\*\*現在のプロジェクト) > **Settings (設定**) を選択することで確認できます。

`ViewController` 実装 (`.m`) で、初期化コールバックをハンドルする [`UnityAdsInitializationDelegate`](/grow/ads/ios-sdk/ios-api.md#unityadsinitializationdelegate) デリゲートを作成し、[`initialize`](/grow/ads/ios-sdk/ios-api.md#initialize) メソッド内でそれをパラメーターとして参照します。

## SDK 初期化の例##sdk-initialization-example

1. **Objective-C**

   ```objective-c
     - (void)viewDidLoad {
   [super viewDidLoad];
   // Do any additional setup after loading the view. 
   [UnityAds
     initialize:kDefaultGameId
     testMode:self.testMode
     initializationDelegate:self];
   }

   // Implement initialization callbacks to handle success or failure:
   #pragma mark :UnityAdsInitializationDelegate
   - (void)initializationComplete {
   NSLog(@" - UnityAdsInitializationDelegate initializationComplete" );
   // Pre-load an ad when initialization succeeds, so it is ready to show:
   [UnityAds load:@"Interstitial_iOS" loadDelegate:self];
   }

   - (void)initializationFailed:(UnityAdsInitializationError)error withMessage:(NSString *)message {
   NSLog(@" - UnityAdsInitializationDelegate initializationFailed with message: %@", message );
   }

   // Implement load callbacks to handle success or failure after initialization:
   #pragma mark:UnityAdsLoadDelegate
   - (void)unityAdsAdLoaded:(NSString *)placementId {
   NSLog(@" - UnityAdsLoadDelegate unityAdsAdLoaded %@", placementId);
   }

   - (void)unityAdsAdFailedToLoad:(NSString *)placementId
       withError:(UnityAdsLoadError)error
     withMessage:(NSString *)message {
   NSLog(@" - UnityAdsLoadDelegate unityAdsAdFailedToLoad %@", placementId);
   }
   ```

**次のステップ**: 実装を継続するには、[iOS でのインタースティシャル広告の実装](/grow/ads/ios-sdk/interstitial-ads.md) に関するドキュメントを参照します。
