コードを少し変更するだけで、広告リクエストでネイティブ広告とバナー広告を組み合わせることができます。
前提条件
- Google Mobile Ads SDK バージョン 11.0.0 以降。
- スタートガイドの手順を完了します。
広告を読み込む
カスタム レンダリング ネイティブ広告の読み込みには AdLoader
クラスを使用します。このクラスは、独自の AdLoader.Builder
クラスを使って作成時にカスタマイズできるようになっています。AdLoader
の作成時にリスナーを追加すると、アプリで受け取る広告フォーマットの種類を指定できます。指定すると、AdLoader
はその種類の広告だけをリクエストするようになります。
AdLoader
オブジェクトは、バナー広告またはネイティブ広告のいずれかになる広告リクエストを実行するように設定することもできます。AdLoader
の作成時に OnAdManagerAdViewLoadedListener
を追加すると、バナー広告がネイティブ広告と競合してリクエストを埋めるように指定されます。
次のコードは、1 回のリクエストでネイティブ広告またはバナー広告のどちらかを読み込む AdLoader
を作成する方法を示しています。
Java
AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner") .forNativeAd(new NativeAd.OnNativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { // Show the ad. } }) .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() { @Override public void onAdManagerAdViewLoaded(AdManagerAdView adView) { // Show the banner ad. } }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(new AdListener() { @Override public void onAdFailedToLoad(LoadAdError error) { // Handle the failure by logging, altering the UI, and so on. } }) .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build();
Kotlin
val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner") .forNativeAd { nativeAd -> // Show the ad. } .forAdManagerAdView({ adView -> // Show the banner ad. }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(object: AdListener() { override fun onAdFailedToLoad(adError: LoadAdError) { // Handle the failure by logging, altering the UI, and so on. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
上記の forAdManagerAdView()
メソッドは、バナー広告を受信するように AdLoader
を準備します。forAdManagerAdView()
を呼び出すときに、有効な広告サイズの可変長リストを OnAdManagerAdViewLoadedListener
とともに指定する必要があります。
有効な広告リクエストを送信するには、有効な広告サイズを少なくとも 1 つ指定する必要があります。バナー広告の読み込みに成功すると、指定したリスナー オブジェクトの onAdManagerAdViewLoaded()
メソッドが呼び出されます。
AdViewOptions を設定する
上記の AdLoader
の作成に含まれている最後の関数は、別のオプション メソッド withAdManagerAdViewOptions()
です。
Java
.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Kotlin
.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
AdManagerAdViewOptions
オブジェクトを使用すると、AdLoader
によって読み込まれるバナーに特定のオプションを設定できます。たとえば、次のようなオプションがあります。
setManualImpressionsEnabled()
- Google アド マネージャーの予約広告のインプレッションの手動レポートを有効にします。手動インプレッションを使用するアプリは、インプレッションを記録するタイミングを自分で決定できます。これは、
AdManagerAdView.recordManualImpression()
を呼び出すことで行えます。