コードを少し変更するだけで、広告リクエストでネイティブ広告とバナー広告を組み合わせることができます。
前提条件
- 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, etc. } }) .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, etc. } }) .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()を呼び出します。