セキュア シグナル

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

secure signals API を使用するには、tvOS 向け IMA SDK のバージョン 4.8.2 以降が必要です。

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

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

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

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

tvOS 向け 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)
}
...