コンパニオン広告

このガイドは、iOS IMA 実装にコンパニオン広告を追加することに関心をお持ちのパブリッシャー様を対象としています。

前提条件

  • IMA SDK が統合された iOS アプリ
  • コンパニオン広告を返すように設定された広告タグ。

参考情報

引き続き IMA SDK をアプリに実装する必要がある場合は、スタートガイドをご覧ください。

アプリにコンパニオン広告を追加する

コンパニオンの UIView を作成する

コンパニオンをリクエストする前に、レイアウト内にコンパニオンのスペースを作成する必要があります。ストーリーボードでビューを ViewController にドラッグ&ドロップし、コンパニオン広告に合わせてサイズを調整します。次に、コンパニオン スロットが実装の変数に紐付けられていることを確認します(この例では companionView という変数を使用しています)。次のスクリーンショットで、薄いグレーのビューがコンパニオン広告です。

コンパニオンの UIView の作成を示す画像。

IMACompanionAdSlot を作成する

次のステップでは、ビューから IMACompanionAdSlot オブジェクトを作成します。ビューの高さと幅に一致するサイズを持つ VAST レスポンスからのコンパニオンがあれば、IMA SDK によってコンパニオン広告スロットが入力されます。IMA SDK は、Fluid サイズ コンパニオンの使用もサポートしています。

ViewController.h
@property(nonatomic, weak) IBOutlet UIView *companionView;
ViewController.m
self.companionSlot =
    [[IMACompanionAdSlot alloc] initWithView:self.companionView
                                       width:self.companionView.frame.size.width
                                      height:self.companionView.frame.size.height];

コンパニオン広告スロットを広告コンテナに渡す

最後に、コンパニオン スロットの配列を IMAAdDisplayContainer コンストラクタに渡すことで、このコンパニオン スロットが存在することを SDK に伝える必要があります。

ViewController.m
return [[IMAAdDisplayContainer alloc] initWithAdContainer:self.videoView
                                           viewController:self
                                           companionSlots:@[ self.companionSlot ]];

これですべての設定が完了し、アプリにコンパニオン広告が表示されます。

流動的なコンパニオン広告の表示

IMA で、可変コンパニオン広告がサポートされるようになりました。このコンパニオン広告は、広告スロットのサイズに合わせてサイズ変更されます。表示幅は親ビューの幅の 100% に表示され、その後、高さはコンパニオンのコンテンツに合わせて変更されます。この設定は、アド マネージャーで Fluid コンパニオン サイズを使用して設定します。 この値を設定する場所については、次の画像をご覧ください。

アド マネージャーのコンパニオン広告の設定を示す画像。コンパニオン サイズのオプションがハイライト表示されます。

Fluid コンパニオン向けに iOS アプリを更新する

Fluid コンパニオン スロットを宣言するには、view パラメータのみ(widthheight を除く)を指定して IMACompanionAdSlot を開始します。

ViewController.m
self.companionSlot =
      [[IMACompanionAdSlot alloc] initWithView:self.companionView];

よくある質問

ガイドに沿って操作しましたが、コンパニオン広告が表示されません。必要な対策
まず、タグが本当にコンパニオンを返していることを確認します。そのためには、ウェブブラウザでタグを開き、CompanionAds タグを探します。表示された場合は、返されるコンパニオンのサイズが、表示しようとしている UIView と同じサイズであることを確認してください。