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

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

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

การควบคุมเนื้อหา

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

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

เรียก 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, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

โทร NativeAdOptions.Builder.setReturnUrlsForImageAssets() ด้วยค่า boolean
  • การควบคุมการดาวน์โหลดรูปภาพจะปิดอยู่โดยค่าเริ่มต้น

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .forNativeAd(nativeAd -> {
                                List<Uri> imageUris = new ArrayList<>();
                                for (Image image : nativeAd.getImages()) {
                                  imageUris.add(image.getUri());
                                }
                              })
                              .build();

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

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

โทร NativeAdOptions.Builder.setRequestMultipleImages() ด้วยค่า boolean
  • การควบคุมเพย์โหลดรูปภาพจะปิดใช้อยู่โดยค่าเริ่มต้น

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

โทร NativeAdView.setAdChoicesView() กับ AdChoicesView

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


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, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(adOptions).build();

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

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

เรียกใช้ 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, 'ca-app-pub-3940256099942544/2247696110')
                              .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
  }
}

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

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

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

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

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

โทร 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, 'ca-app-pub-3940256099942544/2247696110')
    .withNativeAdOptions(adOptions);

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

เมื่อบันทึกการคลิกด้วยท่าทางปัด Google Mobile Ads SDK จะเรียกใช้เมธอด onAdSwipeGestureClicked() ใน AdListener นอกเหนือจากเมธอด 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 Mobile เท่านั้น การแสดงผล SDK โฆษณา แหล่งที่มาของโฆษณาที่ ต้องใช้ SDK ของบุคคลที่สามสำหรับ ไม่ตอบสนองต่อการตั้งค่าเส้นทางการคลิกที่กำหนดเอง