ネイティブ広告には、追加のカスタマイズを行い、広告エクスペリエンスを最大限に高めるための高度な機能が多数用意されています。このガイドでは、ネイティブ広告の高度な機能の使用方法について説明します。
前提条件
- ネイティブ広告フォーマットを統合していること
アセット コントロール
このセクションでは、ネイティブ広告のクリエイティブ アセットをカスタマイズする方法について詳しく説明します。メディア アセットの優先アスペクト比と、画像アセットのダウンロードと表示の方法を指定できます。
優先するメディア アスペクト比のコントロール
メディア アスペクト比のコントロールを使うと、広告クリエイティブに希望するアスペクト比を指定できます。
GADMediaAspectRatio を使用して GADNativeAdMediaAdLoaderOptions mediaAspectRatio を設定します。
- 値を設定しない場合、任意のメディア アスペクト比の広告が返されます。 
- 値を設定した場合、アスペクト比の優先タイプを指定してユーザー エクスペリエンスを改善できます。 
次の例では、特定のアスペクト比の画像または動画を優先して返すよう SDK に指示しています。
Swift
Objective-C
nativeAdUnitID は、実際の広告ユニット ID に置き換えられます。
画像ダウンロードのコントロール
画像ダウンロードのコントロールを使うと、SDK から画像アセットを返すか、URI のみを返すかを指定できます。
BOOL 値を使用して GADNativeAdImageAdLoaderOptions disableImageLoading を設定します。
- 画像ダウンロードのコントロールは、デフォルトでは無効になっています。 
- 無効になっている場合、Google Mobile Ads SDK により画像と URI の両方に値が入力されます。 
- 有効になっている場合、SDK によって URI だけに値が入力されるため、実際の画像はご自身の判断でダウンロードできます。 
次の例では、URI のみを返すよう SDK に指示しています。
Swift
Objective-C
画像ペイロードのコントロール
広告によっては、画像が 1 つだけでなく複数含まれている場合があります。この機能では、アプリですべての画像を表示するか、1 つの画像のみを表示するかを指定します。
- 画像ペイロードのコントロールはデフォルトでは無効になっています。 
- 無効になっている場合、複数の画像を含むアセットでは、最初の画像だけを返すようにアプリから SDK に指示することになります。 
- 有効になっている場合、複数の画像を含むアセットについて、そのすべての画像を表示できることをアプリで指定します。 
次の例では、複数の画像アセットを返すように SDK に指示しています。
Swift
Objective-C
AdChoices プレースメント
このセクションでは、AdChoices オーバーレイの配置方法について詳しく説明します。配置を 4 つの隅のいずれかに設定するか、カスタムビュー内に表示するかを選択できます。
AdChoices の位置のコントロール
AdChoices の位置のコントロールを使うと、四隅のどこに AdChoices アイコンを表示するかを選択できます。
GADAdChoicesPosition 値を使用して GADNativeAdViewAdOptions preferredAdChoicesPosition を設定します。
- 設定されていない場合は、AdChoices アイコンは右上に配置されます。 
- 設定されている場合、AdChoices はリクエストされたカスタム位置に配置されます。 
次の例は、AdChoices 画像のカスタム位置を設定する方法を示しています。
Swift
Objective-C
AdChoices カスタムビュー
AdChoices カスタムビュー機能を使うと、AdChoices アイコンを選択した場所に配置できます。これは、四隅のいずれか 1 つだけを指定できる AdChoices の位置のコントロールとは異なります。
レンダリングする前に GADAdChoicesView を使用して GADNativeAd.adChoicesView プロパティを設定すると、AdChoices コンテンツが GADAdChoicesView 内に表示されます。
AdChoices カスタムビューを設定する方法の例を次に示します。AdChoices アイコンは GADAdChoicesView 内に表示されます。
Swift
Objective-C
動画のコントロール
このセクションでは、動画広告の再生をカスタマイズする方法について詳しく説明します。初期ミュート状態を設定し、カスタム再生コントロールを実装することができます。
開始時のミュート動作
開始時のミュート動作では、動画の開始時の音声を無効または有効にできます。
BOOL 値を使用して GADVideoOptions startMuted を設定します。
- 開始時のミュート動作は、デフォルトで有効になっています。 
- 無効になっている場合、アプリは動画を音声付きで開始するようリクエストします。 
- 有効になっている場合、アプリは動画をミュート状態で開始するようリクエストします。 
音声をミュートせずに動画を開始する方法の例を次に示します。
Swift
Objective-C
カスタム再生コントロール
この機能では、動画の再生、一時停止、ミュートを行うカスタム動画入力のコントロールをリクエストできます。
BOOL 値を使用して GADVideoOptions customControlsRequested を設定します。
- カスタム再生コントロールはデフォルトでは無効になっています。 
- 無効になっている場合、動画に SDK でレンダリングされた入力コントロールが表示されます。 
- 有効にすると、GADVideoController play、GADVideoController pause、GADVideoController setMuteを使用して動画広告をコントロールできます。
広告に動画コンテンツが含まれていて、カスタム コントロールが有効になっている場合は、広告自体にはコントロールが表示されないため、広告とともにカスタム コントロールを表示する必要があります。その後、コントロールは
GADVideoController で関連するメソッドを呼び出すことができます。
カスタム再生コントロールを使用して動画をリクエストする方法の例を次に示します。
Swift
Objective-C
カスタム コントロールが有効になっているかどうかを確認する
返される広告でカスタム動画コントロールが許可されるかどうかはリクエスト時にわからないため、カスタム コントロールが有効になっているかどうかを確認する必要があります。
Swift
Objective-C
カスタム動画コントロールをレンダリングする
次のベスト プラクティスに沿って、カスタム動画コントロールをレンダリングします。
- カスタム コントロール ビューをネイティブ広告ビューの子としてレンダリングします。このアプローチにより、Open Measurement の視認性の算出時に、カスタム コントロールが好ましい被覆物として考慮されます。
- メディアビュー全体に非表示のオーバーレイをレンダリングしないようにします。オーバーレイはメディアビューのクリックをブロックするため、ネイティブ広告のパフォーマンスに悪影響を与えます。代わりに、コントロールを収めるのに最低限必要な大きさの小さなオーバーレイを作成してください。
カスタム クリック操作
カスタム クリック操作は、広告ビューでのスワイプを広告クリックとして登録できるようにするネイティブ広告の機能で、コンテンツのナビゲーションにスワイプ操作を使用するアプリで動作するように設計されています。このガイドでは、ネイティブ広告でカスタム クリック操作を有効にする方法について説明します。
選択したスワイプ方向で GADNativeAdCustomClickGestureOptions インスタンスを初期化します。また、タップ操作をクリックとして許可するかどうかを指定する必要があります。
- カスタム クリック操作はデフォルトでは無効になっています。 
- 無効になっている場合は、タップ操作のみがクリックとしてカウントされます。 
- 有効にすると、スワイプ操作がクリックとしてカウントされ、タップ操作もクリックとしてカウントするかどうかを指定できます。 
右へのカスタム スワイプ操作を実装して通常のタップ動作を維持する方法の例を次に示します。
Swift
Objective-C
スワイプ操作イベントをリッスンする
スワイプ操作によるクリックが記録されると、Google Mobile Ads SDK は既存の nativeAdDidRecordClick: デリゲート メソッドに加えて、GADNativeAdDelegate の nativeAdDidRecordSwipeGestureClick: デリゲート メソッドも呼び出します。
Swift
Objective-C
メディエーション
カスタム クリック操作は、Google Mobile Ads SDK がレンダリングするネイティブ広告でのみ機能します。レンダリングに第三者 SDK を必要とする広告ソースは、カスタム クリックの方向の設定に応答しません。