Native Ads

ネイティブ広告は、プラットフォームに備わっている UI コンポーネントを通じてユーザーに表示される広告アセットです。作成済みのレイアウトに溶け込むように表示され、ユーザー エクスペリエンスの視覚デザインに合わせてフォーマットすることができます。コーディングの観点では、ネイティブ広告を読み込むときに広告のアセットを含む NativeAd オブジェクトをアプリで受け取り、(SDK ではなく)アプリ自身で広告アセットの表示を行うことになります。

ネイティブ広告の実装は、大まかには、SDK を使って広告を読み込み、アプリにその広告コンテンツを表示するという 2 つの段階に分けられます。このページでは、SDK を使ったネイティブ広告の読み込みについて説明します。

前提条件

広告の読み込み

ネイティブ広告は AdLoader クラスで読み込まれます。このクラスには、作成時にカスタマイズできる独自の Builder クラスがあります。AdLoader の作成時にリスナーを追加すると、アプリで受け取り可能なネイティブ広告の種類を指定できます。すると、AdLoader はその種類の広告だけをリクエストするようになります。

AdLoader の作成

次のコードは、アプリ インストール広告で AdLoader を作成する方法を示しています。

Java

AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/native")
    .forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
        @Override
        public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) {
            // Show the ad.
        }
    })
    .withAdListener(new AdListener() {
        @Override
        public void onAdFailedToLoad(int errorCode) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(new NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/6499/example/native")
        .forUnifiedNativeAd { ad : UnifiedNativeAd ->
            // Show the ad.
        }
        .withAdListener(object : AdListener() {
            override fun onAdFailedToLoad(errorCode: Int) {
                // Handle the failure by logging, altering the UI, and so on.
            }
        })
        .withNativeAdOptions(NativeAdOptions.Builder()
                // Methods in the NativeAdOptions.Builder class can be
                // used here to specify individual options settings.
                .build())
        .build()

UnifiedNativeAd フォーマットの準備

上記の最初のメソッドは、UnifiedNativeAd フォーマット用の AdLoader を準備するためのものです。次の説明をご覧ください。

forUnifiedNativeAd()
このメソッドを呼び出すと、統合型ネイティブ広告をリクエストするように AdLoader が設定されます。広告が正常に読み込まれると、リスナー オブジェクトの onUnifiedNativeAdLoaded() メソッドが呼び出されます。

AdLoader が広告リクエストを行うと、パブリッシャー様の収益を最大化する広告が Google によって選ばれて返されます。

AdLoader での AdListener の使用

上記の AdLoader の作成中には、withAdListener 関数が AdListener を設定します。

この手順は省略可能です。このメソッドは唯一のパラメータとして AdListener を受け取ります。これは、広告ライフサイクル イベントの発生時に AdLoader からコールバックを受け取るパラメータです。

Java

.withAdListener(new AdListener() {
    // AdListener callbacks like OnAdFailedToLoad, OnAdOpened, OnAdClicked and
    // so on, can be overridden here.
})

Kotlin

.withAdListener(object : AdListener() {
    // AdListener callbacks like OnAdFailedToLoad, OnAdOpened, OnAdClicked and
    // so on, can be overridden here.
})

AdListener のネイティブ広告での動作と、バナーやインタースティシャルでの動作には、1 つの大きな違いがあります。AdLoader には、広告が読み込まれたときに使うリスナーとして、フォーマット固有のリスナー(UnifiedNativeAd.OnUnifiedNativeAdLoadedListener など)があるため、ネイティブ広告が正常に読み込まれたときに AdListener から onAdLoaded() メソッドが呼び出されることはありません。

ネイティブ広告の読み込み

AdLoader の作成が完了したら、その loadAd() メソッドを呼び出して広告をリクエストします。

Java

adLoader.loadAd(new PublisherAdRequest.Builder().build());

Kotlin

adLoader.loadAd(PublisherAdRequest.Builder().build())

AdLoaders では、バナーやインタースティシャルの場合と同じ PublisherAdRequest クラスが使われます。他の種類の広告の場合と同様に、このクラスのメソッドを使ってターゲット設定の情報を追加することもできます。

広告をリクエストするタイミング

ネイティブ広告を表示するアプリでは、実際に表示する前に広告をリクエストできます。通常はこの方法がおすすめです。たとえば、ネイティブ広告を含むアイテムリストを表示するアプリでは、ユーザーがビューをスクロールしなければ表示されない広告や、まったく表示されない可能性がある広告が含まれている場合でも、そのリストに含まれるネイティブ広告をすべて読み込むことができます。

UnifiedNativeAd を表示する

広告を読み込んだら、あとは広告をユーザーに表示するだけです。その方法については、ネイティブ アドバンスに関するガイドをご覧ください。

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

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