カスタムのネイティブ広告フォーマットの広告

アド マネージャーをご利用のパブリッシャー様は、アセットのカスタムリストを定義して独自のネイティブ広告フォーマットを作成できます。こうしたフォーマットはカスタムのネイティブ広告フォーマットと呼ばれ、予約型広告と一緒に使用できます。カスタムのネイティブ広告フォーマットを使うと、アプリに任意の画像や文字列データを渡すことができます。このデータは、CustomNativeTemplateAd オブジェクトで表されます。

カスタムのネイティブ広告フォーマットの読み込み

カスタムのネイティブ広告の読み込みには AdLoader オブジェクトを使用します。forCustomTemplateAd メソッドでは、AdLoader を設定してカスタム テンプレート広告を処理します。このメソッドには次の 2 つのパラメータがあります。

  • AdLoader がリクエストするカスタム テンプレートの templateID。カスタムのネイティブ広告フォーマットには、それぞれテンプレート ID 値が関連付けられています。このパラメータは、アプリで AdLoader がリクエストするテンプレートを表します。
  • ユーザーが広告をクリックしたときに呼び出される、オプションの Action<CustomNativeTemplateAd, string>
void LoadCustomNativeTemplateAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
            .forCustomNativeAd("10063170", HandleCustomNativeAdClicked)
            .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

1 つの広告ユニットで複数のクリエイティブ テンプレートを配信するよう設定できるため、それぞれのテンプレート ID で forCustomTemplateAd を複数回呼び出して、広告ローダーを複数のカスタムのネイティブ広告フォーマットに対応させることができます。

カスタムのネイティブ テンプレート広告のイベント

AdLoader クラスは、カスタムのネイティブ テンプレート広告のライフサイクルについて通知するタイプ EventHandler の広告イベントを提供します。以下の例では、カスタムのネイティブ テンプレート広告のイベントを広告ローダーに登録する方法を示しています。

adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

HandleCustomNativeAdLoaded メソッドには CustomNativeEventArgs パラメータが含まれます。.読み込まれたカスタムのネイティブ テンプレートは、下記のように、このイベント パラメータを介してアクセスできます。

void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
    CustomNativeTemplateAd customNativeTemplateAd = args.nativeAd;
    ...
}

カスタムのネイティブ広告フォーマットの表示

カスタムのネイティブ テンプレート広告では、ユーザー定義の画像アセットとテキスト アセットが任意の数だけサポートされます。これらのアセットには、CustomNativeTemplateAd クラスを介してアクセスします。このクラスは、テンプレート フィールドの変数 ID をパラメータとして取得する GetTexture2D メソッドと GetText メソッドを提供します。

CustomNativeTemplateAd からアセットにアクセスする場合の実装例を次に示します。

private boolean adLoaded;
Private Texture2d mainImageTexture;
private string headline;
...

void Update()
{
    if(adLoaded)
    {
        mainImageTexture = customNativeTemplateAd.GetTexture2D("MainImage");
        headline = customNativeTemplateAd.GetText("Headline");
        adLoaded = false;
    }
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
    CustomNativeTemplateAd customNativeTemplateAd = args.nativeAd;
    ...
}

カスタムのネイティブ広告フォーマットのクリックとインプレッションの処理

カスタムのネイティブ広告フォーマットでは、アプリがインプレッションを記録してクリック イベントを SDK に報告する役割を担います。

インプレッションの記録

カスタム テンプレート広告のインプレッションを記録するには、対応する次の CustomNativeTemplateAdRecordImpression メソッドを呼び出します。

customNativeTemplateAd.RecordImpression();

クリックの記録

アセットでクリックが発生したことを SDK に報告するには、対応する CustomNativeTemplateAdPerformClick メソッドを呼び出し、クリックされたアセットの名前を渡します。たとえば、カスタム テンプレートに「MainImage」というアセットがあり、そのアセットに対応するテクスチャで発生したクリックを報告する場合、コードは次のようになります。

customNativeTemplateAd.PerformClick("MainImage");

カスタム広告のクリック操作へのレスポンス

カスタム テンプレート広告でクリックが報告されると、SDK は 3 つのレスポンスを次の順に試行します。

  1. カスタムのネイティブ テンプレート広告を設定する際に設定された AdLoader から Action<CustomNativeTemplateAd, string> を呼び出す(AdLoader.Builder.forCustomTemplateAd メソッドで提供された場合)。
  2. 広告の各ディープリンクの URL でコンテンツ リゾルバの特定を試み、最初に特定したリゾルバを開始する。
  3. ブラウザを開き、広告の従来のリンク先 URL に移動する。

カスタム クリック アクションを使用すると、クリックへのレスポンスとして最適な動作(UI を更新する、または単にクリックのログを記録するなど)をアプリが決定できるようになります。特定のアセットで発生したクリックを記録する場合について、次に例を示します。

private void LoadCustomNativeTemplateAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
            .forCustomNativeAd("10063170", HandleCustomNativeAdClicked)
            .Build();
    adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
    adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
    adLoader.LoadAd(createAdRequest());
}

private void HandleCustomNativeAdClicked(CustomNativeTemplateAd
customNativeTemplateAd, string assetName)
{
    Debug.Log("Native ad asset with name " + assetName + " was clicked.");
}

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。