ตั้งค่าฟีเจอร์เนทีฟขั้นสูง

เลือกแพลตฟอร์ม: Android ใหม่ Android iOS

โฆษณาเนทีฟมีฟีเจอร์ขั้นสูงมากมายที่ช่วยให้คุณปรับแต่งเพิ่มเติมและสร้างประสบการณ์การใช้งานโฆษณาที่ดีที่สุด คู่มือนี้แสดงวิธีใช้ฟีเจอร์ขั้นสูงของโฆษณาเนทีฟ

ข้อกำหนดเบื้องต้น

การควบคุมชิ้นงาน

ส่วนนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีปรับแต่งชิ้นงานครีเอทีฟโฆษณาในโฆษณาเนทีฟ คุณมีตัวเลือกในการระบุสัดส่วนภาพที่ต้องการสำหรับชิ้นงานสื่อ และวิธีดาวน์โหลดและแสดงชิ้นงานรูปภาพ

ตัวควบคุมสัดส่วนภาพที่ต้องการของสื่อ

ตัวควบคุมสัดส่วนภาพของสื่อช่วยให้คุณระบุสัดส่วนภาพที่ต้องการของครีเอทีฟโฆษณาได้

เรียกใช้ NativeAdOptions.Builder.setMediaAspectRatio() ด้วยค่า NativeAdOptions.MediaAspectRatio

  • หากไม่ได้ตั้งค่า โฆษณาที่แสดงผลอาจมีสัดส่วนภาพของสื่อใดก็ได้

  • หากตั้งค่า คุณจะปรับปรุงประสบการณ์ของผู้ใช้ได้โดยการระบุสัดส่วนภาพที่ต้องการ

ตัวอย่างต่อไปนี้จะสั่งให้ SDK แสดงผลรูปภาพหรือวิดีโอที่มีสัดส่วนภาพที่เฉพาะเจาะจง

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

แทนที่ AD_UNIT_ID ด้วยรหัสหน่วยโฆษณา

การควบคุมการดาวน์โหลดรูปภาพ

การควบคุมการดาวน์โหลดรูปภาพช่วยให้คุณตัดสินใจได้ว่า SDK จะแสดงผลชิ้นงานรูปภาพหรือเฉพาะ URI

เรียกใช้ NativeAdOptions.Builder.setReturnUrlsForImageAssets() ด้วยค่า boolean

  • การควบคุมการดาวน์โหลดรูปภาพจะปิดอยู่โดยค่าเริ่มต้น

  • เมื่อปิดใช้ Google Mobile Ads SDK จะป้อนข้อมูลทั้งรูปภาพและ URI ให้คุณ

  • เมื่อเปิดใช้ SDK จะป้อนข้อมูลเฉพาะ URI แทน ซึ่งช่วยให้คุณดาวน์โหลดรูปภาพจริงได้ตามต้องการ

ตัวอย่างต่อไปนี้จะสั่งให้ SDK แสดงผลเฉพาะ URI

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID")
        .withNativeAdOptions(nativeAdOptions)
        .forNativeAd(
            nativeAd -> {
              List<Uri> imageUris = new ArrayList<>();
              for (Image image : nativeAd.getImages()) {
                imageUris.add(image.getUri());
              }
            })
        .build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build()

val loader =
  AdLoader.Builder(context, "AD_UNIT_ID")
    .withNativeAdOptions(nativeAdOptions)
    .forNativeAd { nativeAd ->
      val imageUris = nativeAd.images.mapNotNull { it.uri }
    }
    .build()

การควบคุมเพย์โหลดรูปภาพ

โฆษณาบางรายการมีรูปภาพหลายรูปแทนที่จะมีเพียงรูปเดียว ใช้ฟีเจอร์นี้เพื่อระบุว่าแอปของคุณพร้อมที่จะแสดงรูปภาพทั้งหมดหรือเพียงรูปเดียว

เรียกใช้ NativeAdOptions.Builder.setRequestMultipleImages() ด้วยค่า boolean

  • การควบคุมเพย์โหลดรูปภาพจะปิดอยู่โดยค่าเริ่มต้น

  • เมื่อปิดใช้ แอปจะสั่งให้ SDK แสดงผลเฉพาะรูปภาพแรกสำหรับชิ้นงานที่มีรูปภาพหลายรูป

  • เมื่อเปิดใช้ แอปจะระบุว่าพร้อมที่จะแสดงรูปภาพทั้งหมดสำหรับชิ้นงานที่มีรูปภาพมากกว่า 1 รูป

ตัวอย่างต่อไปนี้จะสั่งให้ SDK แสดงผลชิ้นงานรูปภาพหลายรายการ

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setRequestMultipleImages(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setRequestMultipleImages(true).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

ตำแหน่งโฆษณาของตัวเลือกโฆษณาอื่นๆ

ส่วนนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีวางตำแหน่งการวางซ้อนของตัวเลือกโฆษณาอื่นๆ คุณมีตัวเลือกในการตั้งค่าตำแหน่งโฆษณาไว้ที่มุมใดมุมหนึ่งของทั้ง 4 มุม หรือแสดงผลภายในมุมมองที่กำหนดเอง

ตัวควบคุมตำแหน่งโฆษณาของตัวเลือกโฆษณาอื่นๆ

ตัวควบคุมตำแหน่งโฆษณาของตัวเลือกโฆษณาอื่นๆ ช่วยให้คุณเลือกมุมที่จะแสดงผลไอคอนตัวเลือกโฆษณาอื่นๆ ได้

เรียกใช้ NativeAdOptions.Builder.setAdChoicesPlacement() ด้วยค่า NativeAdOption.AdChoicesPlacement

  • หากไม่ได้ตั้งค่า ระบบจะตั้งค่าตำแหน่งไอคอนตัวเลือกโฆษณาอื่นๆ ไว้ที่ด้านขวาบน

  • หากตั้งค่า ระบบจะวางตัวเลือกโฆษณาอื่นๆ ไว้ที่ตำแหน่งที่กำหนดเองตามที่ขอ

ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าตำแหน่งรูปภาพที่กำหนดเองของตัวเลือกโฆษณาอื่นๆ

Java

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

มุมมองที่กำหนดเองของตัวเลือกโฆษณาอื่นๆ

ฟีเจอร์มุมมองที่กำหนดเองของตัวเลือกโฆษณาอื่นๆ ช่วยให้คุณวางตำแหน่งไอคอนตัวเลือกโฆษณาอื่นๆ ในตำแหน่งที่กำหนดเองได้ ซึ่งแตกต่างจากตัวควบคุมตำแหน่งโฆษณาของตัวเลือกโฆษณาอื่นๆ ที่อนุญาตให้ระบุได้เพียงมุมใดมุมหนึ่งของทั้ง 4 มุม

เรียกใช้ NativeAdView.setAdChoicesView() ด้วยค่า AdChoicesView

ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่ามุมมองที่กำหนดเองของตัวเลือกโฆษณาอื่นๆ โดยแสดงผลไอคอนตัวเลือกโฆษณาอื่นๆ ภายใน AdChoicesView

Java

NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);

Kotlin

val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView

การควบคุมวิดีโอ

ส่วนนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีปรับแต่งประสบการณ์การเล่นโฆษณาวิดีโอ คุณมีตัวเลือกในการตั้งค่าสถานะปิดเสียงเริ่มต้นและใช้ตัวควบคุมการเล่นที่กำหนดเอง

ลักษณะการทำงานของการปิดเสียงเริ่มต้น

ลักษณะการทำงานของการปิดเสียงเริ่มต้นช่วยให้คุณปิดหรือเปิดเสียงเริ่มต้นของวิดีโอได้

เรียกใช้ VideoOptions.Builder.setStartMuted() ด้วยค่า boolean

  • ลักษณะการทำงานของการปิดเสียงเริ่มต้นจะเปิดใช้อยู่โดยค่าเริ่มต้น

  • เมื่อปิดใช้ แอปจะขอให้วิดีโอเริ่มเล่นพร้อมเสียง

  • เมื่อเปิดใช้ แอปจะขอให้วิดีโอเริ่มเล่นโดยปิดเสียง

ตัวอย่างต่อไปนี้แสดงวิธีเริ่มวิดีโอโดยเปิดเสียง

Java

VideoOptions videoOptions = new VideoOptions.Builder().setStartMuted(false).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setStartMuted(false).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

ตัวควบคุมการเล่นที่กำหนดเอง

ฟีเจอร์นี้ช่วยให้คุณขอตัวควบคุมอินพุตวิดีโอที่กำหนดเองเพื่อเล่น หยุดชั่วคราว หรือปิดเสียงวิดีโอได้

เรียกใช้ VideoOptions.Builder.setCustomControlsRequested() ด้วยค่า boolean

  • ตัวควบคุมการเล่นที่กำหนดเองจะปิดอยู่โดยค่าเริ่มต้น

  • เมื่อปิดใช้ วิดีโอจะแสดงตัวควบคุมอินพุตที่ SDK แสดงผล

หากโฆษณามีเนื้อหาวิดีโอและเปิดใช้ตัวควบคุมที่กำหนดเอง คุณควรแสดงตัวควบคุมที่กำหนดเองพร้อมกับโฆษณา เนื่องจากโฆษณาจะไม่แสดงตัวควบคุมใดๆ ด้วยตัวเอง จากนั้นตัวควบคุมจะเรียกใช้เมธอดที่เกี่ยวข้องใน

VideoController

ตัวอย่างต่อไปนี้แสดงวิธีขอวิดีโอที่มีตัวควบคุมการเล่นที่กำหนดเอง

Java

VideoOptions videoOptions = new VideoOptions.Builder().setCustomControlsRequested(true).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setCustomControlsRequested(true).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

ตรวจสอบว่าเปิดใช้ตัวควบคุมที่กำหนดเองอยู่หรือไม่

เนื่องจากระบบไม่ทราบในเวลาที่ส่งคำขอว่าโฆษณาที่แสดงผลจะอนุญาตตัวควบคุมวิดีโอที่กำหนดเองหรือไม่ คุณจึงต้องตรวจสอบว่าได้เปิดใช้ตัวควบคุมที่กำหนดเองไว้หรือไม่

Java

MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
  VideoController videoController = mediaContent.getVideoController();
  boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}

Kotlin

val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
  val videoController = mediaContent.videoController
  val canShowCustomControls = videoController.isCustomControlsEnabled
}

แสดงผลตัวควบคุมวิดีโอที่กำหนดเอง

แสดงผลตัวควบคุมวิดีโอที่กำหนดเองโดยใช้แนวทางปฏิบัติแนะนำต่อไปนี้

  1. แสดงผลมุมมองตัวควบคุมที่กำหนดเองเป็นองค์ประกอบย่อยของมุมมองโฆษณาเนทีฟ วิธีนี้ช่วยให้การคำนวณการมองเห็นโฆษณาของ Open Measurement พิจารณาตัวควบคุมที่กำหนดเองเป็นการกีดขวางที่เป็นมิตร
  2. หลีกเลี่ยงการแสดงผลการวางซ้อนที่มองไม่เห็นเหนือการดูสื่อทั้งหมด การวางซ้อนจะบล็อกการคลิกในมุมมองสื่อ ซึ่งส่งผลเสียต่อประสิทธิภาพของโฆษณาเนทีฟ ให้สร้างการวางซ้อนขนาดเล็กที่มีขนาดใหญ่พอดีกับตัวควบคุมแทน