ネイティブ広告には多くの高度な機能があり、 最大限の広告エクスペリエンスを実現できます。このガイドでは、 ネイティブ広告の高度な機能を使用する方法
前提条件
- ネイティブ広告フォーマットを組み込みます。
アセット管理
優先するメディア アスペクト比のコントロール
メディア アスペクト比のコントロールを使用すると、 指定できます。
NativeAdOptions.Builder.setMediaAspectRatio()
を呼び出す
NativeAdOptions.MediaAspectRatio
あります。
未設定の場合、返される広告には任意のメディア アスペクト比を指定できます。
設定すると、 推奨のアスペクト比です。
次の例では、リターンされた画像や動画を優先するよう SDK に指示しています。 表示することもできます。
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
画像のダウンロードの管理
画像のダウンロード コントロールでは、画像アセットと URI のみのどちらを 渡されます。
NativeAdOptions.Builder.setReturnUrlsForImageAssets()
を呼び出す
(boolean
値)。
画像のダウンロード コントロールはデフォルトで無効になっています。
無効にすると、Google Mobile Ads SDK によって画像と URI の両方が入力されます。
有効にすると、SDK が代わりに URI のみを入力するため、Android Studio を使用して 実際の画像は自由に変更できます。
次の例では、URI のみを返すように SDK に指示しています。
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setReturnUrlsForImageAssets(true)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.forNativeAd(nativeAd -> {
List<Uri> imageUris = new ArrayList<>();
for (Image image : nativeAd.getImages()) {
imageUris.add(image.getUri());
}
})
.build();
画像ペイロードのコントロール
広告によっては、1 つではなく複数の画像が使用されることがあります。この機能を使用して アプリがすべての画像を表示するか、1 つの画像のみを表示するかを示します。
NativeAdOptions.Builder.setRequestMultipleImages()
を呼び出す
(boolean
値)。
画像ペイロードのコントロールはデフォルトで無効になっています。
無効にすると、アプリは 一連の画像を含むアセットの最初の画像
有効にすると、アプリはすべての画像を表示する準備ができたことを示します 必ず指定してください
次の例では、複数の画像アセットを返すように SDK に指示しています。
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setRequestMultipleImages(true)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
AdChoices プレースメント
AdChoices の位置の制御
AdChoices の位置コントロールでは、広告をレンダリングする隅を AdChoices アイコン。
NativeAdOptions.Builder.setAdChoicesPlacement()
を呼び出す
NativeAdOption.AdChoicesPlacement
あります。
未設定の場合、AdChoices アイコンの位置は右上に設定されます。
設定すると、AdChoices はリクエストに応じてカスタムの位置に配置されます。
次の例は、AdChoices のカスタム画像位置を設定する方法を示しています。
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
AdChoices カスタムビュー
<ph type="x-smartling-placeholder">
AdChoices カスタムビュー機能を使用すると、AdChoices アイコンを できます。これは、AdChoices の位置コントロールとは異なります。 では、4 つの角のうち 1 つを指定できます。
NativeAdView.setAdChoicesView()
を呼び出す
AdChoicesView
あります。
次の例は、カスタム AdChoices ビューを設定する方法を示しています。
AdChoicesView
内に表示された AdChoices アイコン。
public void onNativeAdLoaded(NativeAd ad) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
動画をコントロールする
ミュートの開始動作
「ミュートを開始」動作では、動画の開始音声を無効または有効にできます。
VideoOptions.Builder.setStartMuted()
を呼び出す
(boolean
値)。
ミュートの開始動作はデフォルトで有効になっています。
無効にすると、アプリは 生成できます。
有効にすると、アプリは音声をミュートした状態で動画の再生を開始するようにリクエストします。
次の例は、ミュートされていない音声で動画を開始する方法を示しています。
VideoOptions videoOptions = new VideoOptions.Builder()
.setStartMuted(false)
.build();
NativeAdOptions adOptions = new NativeAdOptions.Builder()
.setVideoOptions(videoOptions)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions).build();
カスタム再生コントロール
<ph type="x-smartling-placeholder">
これにより、カスタム動画入力コントロールをリクエストして、コンテンツの再生、一時停止、ミュートを 動画をご覧ください。
VideoOptions.Builder.setCustomControlsRequested()
を呼び出す
(boolean
値)。
カスタム再生コントロールはデフォルトで無効になっています。
無効にすると、SDK でレンダリングされた入力コントロールが動画に表示されます。
- 広告に動画コンテンツが含まれていて、カスタム コントロールが有効になっている場合は、
広告とともにカスタム コントロールが表示されるため、広告は
制御します。これにより、コントロールは
VideoController
。
次の例は、カスタム再生コントロールを使用して動画をリクエストする方法を示しています。
VideoOptions videoOptions = new VideoOptions.Builder()
.setCustomControlsRequested(true)
.build();
NativeAdOptions adOptions = new NativeAdOptions.Builder()
.setVideoOptions(videoOptions)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions).build();
カスタム コントロールが有効かどうかを確認する
返された広告で広告が許可されるかどうかをリクエスト時に不明なため 設定するには、カスタム コントロールが有効になっているかどうかを確認する必要があります。
Java
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
Kotlin
NativeAd.OnNativeAdLoadedListener { ad ->
val mediaContent = ad.mediaContent
if (mediaContent != null) {
val videoController = mediaContent.videoController
val canShowCustomControls = videoController.isCustomControlsEnabled
}
}
カスタム クリック操作
<ph type="x-smartling-placeholder">
カスタム クリック操作はネイティブ広告の機能です。広告ビューをスワイプすると、 広告のクリックとしてカウントされます。スワイプを使用するアプリと連携する設計 コンテンツ ナビゲーションのジェスチャー。このガイドでは、カスタム クリックを有効にする方法について説明します ネイティブ広告に設定できる項目です
NativeAdOptions.Builder.enableCustomClickGestureDirection()
を呼び出す
NativeAdOptions.SwipeGestureDirection
boolean
で、タップをクリックとして許可するかどうかを指定します。
カスタム クリック操作はデフォルトで無効になっています。
無効にすると、アプリは通常のクリック動作をサポートします。
有効にすると、アプリでカスタム スワイプ ジェスチャーがサポートされます。
次の例では、右と左へのカスタム スワイプ操作を実装し、 通常のタブの動作を維持します。
NativeAdOptions adOptions = new NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
/* tapsAllowed= */ true)
.build();
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions);
スワイプ操作イベントをリッスンする
スワイプ操作のクリックが記録されると、Google Mobile Ads SDK は
既存のメソッドに加えて、AdListener
の onAdSwipeGestureClicked()
メソッドを
onAdClicked()
メソッドを使用します。
AdLoader adLoader = builder
.withAdListener(
new AdListener() {
// Called when a swipe gesture click is recorded.
@Override
public void onAdSwipeGestureClicked() {
Log.d(TAG, "A swipe gesture click has occurred.")
}
// Called when a swipe gesture click or a tap click is recorded, as
// configured in NativeAdOptions.
@Override
public void onAdClicked() {
Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
}
})
.build();
メディエーション
カスタム クリック操作は、Google モバイルのネイティブ広告でのみ機能します Ads SDK がレンダリングします。広告のソース サードパーティの SDK が必要 カスタム クリック方向設定には反応しないことに注意してください。