ตัวเลือกโฆษณาเนทีฟ

เลือกแพลตฟอร์ม: 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

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

  • เมื่อปิดใช้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะป้อนข้อมูลทั้งรูปภาพและ 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()

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

ปรับแต่งการแสดงไอคอนตัวเลือกโฆษณาอื่นๆ

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

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

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

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

  • หากตั้งค่าไว้ ระบบจะวาง AdChoices ในตำแหน่งที่กำหนดเองตามที่ขอ

ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าตำแหน่งรูปภาพ AdChoices ที่กำหนดเอง

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()

มุมมองที่กำหนดเองของ AdChoices

ฟีเจอร์มุมมองที่กำหนดเองของตัวเลือกโฆษณาอื่นๆ ช่วยให้คุณวางไอคอนตัวเลือกโฆษณาอื่นๆ ใน ตำแหน่งที่กำหนดเองได้ ซึ่งแตกต่างจากการควบคุมตำแหน่ง AdChoices ซึ่งอนุญาตให้ระบุได้เพียงมุมใดมุมหนึ่งใน 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. หลีกเลี่ยงการแสดงภาพซ้อนทับที่มองไม่เห็นเหนือมุมมองสื่อทั้งหมด การซ้อนทับจะบล็อกการคลิกในมุมมองสื่อ ซึ่งส่งผลเสียต่อประสิทธิภาพของโฆษณาเนทีฟ แต่ให้สร้างการวางซ้อนขนาดเล็กที่มีขนาดใหญ่พอที่จะใส่ตัวควบคุม

ท่าทางการคลิกที่กำหนดเอง

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

เรียกใช้ NativeAdOptions.Builder.enableCustomClickGestureDirection() พร้อมด้วย NativeAdOptions.SwipeGestureDirection และ boolean เพื่อระบุว่าคุณต้องการอนุญาตให้แตะเป็นการคลิกหรือไม่

ตัวอย่างต่อไปนี้ใช้ท่าทางสัมผัสการปัดไปทางขวาที่กำหนดเองและ รักษาลักษณะการทำงานปกติของแท็บ

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

  • เมื่อปิดใช้ แอปจะรองรับลักษณะการคลิกปกติ

  • เมื่อเปิดใช้แล้ว แอปจะรองรับท่าทางการปัดที่กำหนดเอง

ตัวอย่างต่อไปนี้ใช้ท่าทางสัมผัสการปัดไปทางขวาที่กำหนดเองและ รักษาลักษณะการทำงานปกติของแท็บ

Java

NativeAdOptions adOptions =
    new NativeAdOptions.Builder()
        .enableCustomClickGestureDirection(
            NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT, /* tapsAllowed= */ true)
        .build();

// ca-app-pub-3940256099942544/2247696110 is a sample ad unit ID that has custom click
// gestures enabled.
AdLoader.Builder builder =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(adOptions);

Kotlin

val adOptions =
  NativeAdOptions.Builder()
    .enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT, true)
    .build()

val builder = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(adOptions)

รอรับเหตุการณ์ท่าทางสัมผัสการปัด

เมื่อบันทึกการคลิกท่าทางสัมผัสการปัด Google Mobile Ads SDK จะเรียกใช้เมธอด onAdSwipeGestureClicked() ใน AdListener นอกเหนือจากเมธอด onAdClicked() ที่มีอยู่

Java

AdLoader adLoader =
    new AdLoader.Builder(context, AD_UNIT_ID)
        .withAdListener(
            new AdListener() {
              // Called when a swipe gesture click is recorded.
              @Override
              public void onAdSwipeGestureClicked() {
                // Called when a swipe gesture click is recorded.
                Log.d(TAG, "A swipe gesture click has occurred.");
              }

              @Override
              public void onAdClicked() {
                // Called when a swipe gesture click or a tap click is recorded, as
                // configured in NativeAdOptions.
                Log.d(TAG, "A swipe gesture click or a tap click has occurred.");
              }
            })
        .build();

Kotlin

val adLoader =
  AdLoader.Builder(context, AD_UNIT_ID)
    .withAdListener(
      object : AdListener() {
        override fun onAdSwipeGestureClicked() {
          // Called when a swipe gesture click is recorded.
          Log.d(TAG, "A swipe gesture click has occurred.")
        }

        override fun onAdClicked() {
          // Called when a swipe gesture click or a tap click is recorded, as
          // configured in NativeAdOptions.
          Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
        }
      }
    )
    .build()

สื่อกลาง

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