セキュア シグナルの利用を開始する

セキュア シグナルは、クライアント デバイスで収集され、選択したビッダーと共有されるエンコードされたデータです。このガイドでは、IMA SDK を使用して安全なシグナルを収集し、Google アド マネージャーに送信する方法について説明します。

セキュア シグナル API には、IMA SDK for iOS バージョン 3.18.1 以降が必要です。

シグナルとビッダーを選択してセキュア シグナルの共有を有効にするには、ビッダーとセキュア シグナルを共有するをご覧ください。

サードパーティのシグナル プロバイダを使用する

安全なシグナルを使用するには、アプリにシグナル コレクタ アダプタ クラスをデプロイして、シグナルを収集、エンコードし、IMA SDK に渡す必要があります。

サードパーティ プロバイダの手順に沿って、プロバイダのアカウントを設定し、フレームワークを含め、アプリでセキュア シグナル アダプタを設定します。

iOS 向け IMA SDK は、コードに何も変更を加えなくても、各セキュア シグナル アダプタを自動的に初期化します。

セキュア シグナル アダプタをプロジェクトに追加する方法の例を次に示します。

カスタムデータを送信する

サードパーティのシグナル プロバイダを使用するだけでなく、カスタムデータを使用してシグナルを収集、エンコード、送信することもできます。カスタムデータを含むセキュア シグナルを送信するには、アド マネージャーでカスタム シグナルを有効にする必要があります。

広告リクエストごとに、エンコードされたカスタムデータを文字列として含む IMASecureSignals オブジェクトを作成します。次に、IMAAdsRequest.secureSignals 属性を呼び出して、広告リクエストに IMASecureSignals オブジェクトを追加します。

Objective-C と Swift のサンプルを次に示します。

Objective-C

BasicExample/ViewController.m

...
- (void)requestAds {
  // Create an ad display container for ad rendering.
  IMAAdDisplayContainer *adDisplayContainer =
      [[IMAAdDisplayContainer alloc] initWithAdContainer:self.videoView
                                          viewController:self
                                          companionSlots:nil];
  // Create an ad request with our ad tag, display container, and optional user context.
  IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:kTestAppAdTagUrl
                                                adDisplayContainer:adDisplayContainer
                                                   contentPlayhead:self.contentPlayhead
                                                       userContext:nil];
  
  IMASecureSignals *signals =
      [[IMASecureSignals alloc] initWithCustomData:@"My encoded signal string"];
  request.secureSignals = signals;
  
  [self.adsLoader requestAdsWithRequest:request];
}
...

Swift

BasicExample/ViewController.swift

...
private func requestAds() {
  // Create ad display container for ad rendering.
  let adDisplayContainer = IMAAdDisplayContainer(
    adContainer: videoView, viewController: self, companionSlots: nil)
  // Create an ad request with our ad tag, display container, and optional user context.
  let request = IMAAdsRequest(
    adTagUrl: ViewController.testAppAdTagURL,
    adDisplayContainer: adDisplayContainer,
    contentPlayhead: contentPlayhead,
    userContext: nil)
  
  let signals = IMASecureSignals(customData: "My encoded signal string")
  request.secureSignals = signals
  
  adsLoader.requestAds(with: request)
}
...