コードを少し変更するだけで、広告リクエストでネイティブ広告とバナー広告を組み合わせることができます。
前提条件
- スタートガイドの手順を完了していること。
広告を読み込む
ネイティブ広告とバナー広告を組み合わせたリクエストを行う手順は次のとおりです。
NativeAdType.NATIVE型とNativeAdType.BANNER型の両方をNativeAdRequestのリストとして渡します。バナー広告のサイズを 1 つ以上設定してください。
次の例では、ネイティブ広告とバナー広告を組み合わせた広告を読み込んでいます。
Kotlin
val adRequest =
NativeAdRequest.Builder(AD_UNIT_ID, listOf(NativeAdType.NATIVE, NativeAdType.BANNER))
// Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
.setAdSizes(listOf(AdSize.BANNER, AdSize.LARGE_BANNER))
.build()
// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback())
Java
NativeAdRequest adRequest =
new NativeAdRequest.Builder(AD_UNIT_ID, List.of(NativeAdType.NATIVE, NativeAdType.BANNER))
// Use setAdSize() or setAdSizes() depending on if you want multiple ad sizes or not.
.setAdSizes(Arrays.asList(AdSize.BANNER, AdSize.LARGE_BANNER))
.build();
// Load the native and banner ad with the ad request and callback.
NativeAdLoader.load(adRequest, getNativeAdLoaderCallback());
デバイスの画面サイズ以下の広告サイズを設定します。
最大画面サイズを特定するには、Resources.getDisplayMetrics メソッドを使用します。AdSize オブジェクトの寸法には、密度非依存ピクセル(dp)を使用します。比較する際は、画面サイズをピクセルから dp に変換します。サイズ制限の詳細については、アド マネージャーで埋められなかったインプレッションのトラブルシューティングをご覧ください。
NativeAdLoaderCallback オブジェクトから広告を取得する
正常に読み込まれた広告のタイプに応じて、NativeAdLoaderCallback オブジェクトは、ネイティブ広告の場合は onNativeAdLoaded() メソッドを、バナー広告の場合は onBannerAdLoaded() メソッドを呼び出します。
次の例では、バナー広告またはネイティブ広告を取得しています。
Kotlin
private fun getNativeAdLoaderCallback(): NativeAdLoaderCallback {
return object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onBannerAdLoaded(bannerAd: BannerAd) {
// Called when a banner ad has loaded.
}
}
}
Java
private NativeAdLoaderCallback getNativeAdLoaderCallback() {
return new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Called when a native ad has loaded.
}
@Override
public void onBannerAdLoaded(@NonNull BannerAd bannerAd) {
// Called when a banner ad has loaded.
}
};
}