Tùy chọn quảng cáo gốc

Quảng cáo gốc có nhiều tính năng nâng cao cho phép bạn thực hiện thêm các tính năng tuỳ chỉnh và tạo trải nghiệm quảng cáo tốt nhất có thể. Hướng dẫn này chỉ cho bạn cách sử dụng các tính năng nâng cao của quảng cáo gốc.

Điều kiện tiên quyết

Kiểm soát thành phần

Chế độ kiểm soát tỷ lệ khung hình cho nội dung nghe nhìn ưu tiên

Chế độ kiểm soát tỷ lệ khung hình nội dung đa phương tiện cho phép bạn chỉ định lựa chọn ưu tiên cho tỷ lệ khung hình của mẫu quảng cáo.

Gọi NativeAdOptions.Builder.setMediaAspectRatio() bằng NativeAdOptions.MediaAspectRatio giá trị.

  • Khi bạn không đặt chính sách này, quảng cáo được trả về có thể có tỷ lệ khung hình nội dung nghe nhìn bất kỳ.

  • Khi đặt giá trị này, bạn sẽ có thể cải thiện trải nghiệm người dùng bằng cách chỉ định loại tỷ lệ khung hình ưu tiên.

Ví dụ sau đây hướng dẫn SDK ưu tiên một hình ảnh hoặc video trả lại có tỷ lệ khung hình cụ thể.

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

Kiểm soát tải hình ảnh xuống

Chế độ kiểm soát tải hình ảnh xuống cho phép bạn quyết định xem thành phần hình ảnh hay chỉ URI được SDK trả về.

Gọi NativeAdOptions.Builder.setReturnUrlsForImageAssets() có giá trị boolean.
  • Theo mặc định, chế độ kiểm soát việc tải hình ảnh xuống bị tắt.

  • Khi tắt, SDK quảng cáo trên thiết bị di động của Google sẽ điền cả hình ảnh và URI cho bạn.

  • Khi được bật, SDK chỉ điền URI, cho phép bạn tải xuống hình ảnh thực tế theo ý bạn.

Ví dụ sau đây hướng dẫn SDK chỉ trả về 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();

Kiểm soát tải trọng hình ảnh

Một số quảng cáo có một loạt hình ảnh thay vì chỉ một hình ảnh. Sử dụng tính năng này để cho biết liệu ứng dụng của bạn đã được chuẩn bị để hiện toàn bộ hình ảnh hay chỉ một hình ảnh.

Gọi NativeAdOptions.Builder.setRequestMultipleImages() có giá trị boolean.
  • Theo mặc định, các chế độ kiểm soát tải trọng hình ảnh sẽ bị tắt.

  • Khi bị tắt, ứng dụng của bạn sẽ hướng dẫn SDK chỉ cung cấp hình ảnh đầu tiên cho bất kỳ nội dung nào chứa một chuỗi.

  • Khi được bật, ứng dụng của bạn sẽ cho biết rằng ứng dụng đã sẵn sàng hiển thị tất cả hình ảnh cho bất kỳ nội dung nào có nhiều hơn một.

Ví dụ sau đây hướng dẫn SDK trả về nhiều thành phần hình ảnh.

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

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

Vị trí Lựa chọn quảng cáo

Chế độ kiểm soát vị trí Lựa chọn quảng cáo

Các tùy chọn kiểm soát vị trí Lựa chọn quảng cáo cho phép bạn chọn góc để hiển thị Biểu tượng Lựa chọn quảng cáo.

Gọi NativeAdOptions.Builder.setAdChoicesPlacement() bằng NativeAdOption.AdChoicesPlacement giá trị.

  • Nếu bạn không đặt chính sách này, thì vị trí biểu tượng Lựa chọn quảng cáo sẽ được đặt thành trên cùng bên phải.

  • Nếu được đặt, phần Lựa chọn quảng cáo sẽ được đặt ở vị trí tuỳ chỉnh theo yêu cầu.

Ví dụ sau minh hoạ cách đặt vị trí hình ảnh Lựa chọn quảng cáo tuỳ chỉnh.

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

Chế độ xem tuỳ chỉnh Lựa chọn quảng cáo

Tính năng chế độ xem tuỳ chỉnh Lựa chọn quảng cáo cho phép bạn đặt biểu tượng Lựa chọn quảng cáo trong vị trí tùy chỉnh. Điều này khác với các chế độ kiểm soát vị trí Lựa chọn quảng cáo, vốn chỉ cho phép chỉ định một trong bốn góc.

Gọi NativeAdView.setAdChoicesView() bằng AdChoicesView giá trị.

Ví dụ sau minh hoạ cách đặt chế độ xem Lựa chọn quảng cáo tuỳ chỉnh, với Biểu tượng Lựa chọn quảng cáo xuất hiện bên trong AdChoicesView.


public void onNativeAdLoaded(NativeAd ad) {
    NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
    AdChoicesView adChoicesView = new AdChoicesView(this);
    nativeAdView.setAdChoicesView(adChoicesView);
}

Trình điều khiển video

Bắt đầu hành vi tắt tiếng

Chế độ tắt tiếng bắt đầu cho phép bạn tắt hoặc bật âm thanh bắt đầu của video.

Gọi VideoOptions.Builder.setStartMuted() có giá trị boolean.
  • Chế độ bắt đầu tắt tiếng được bật theo mặc định.

  • Khi bạn tắt tính năng này, ứng dụng của bạn yêu cầu video phải bắt đầu bằng âm thanh.

  • Khi bạn bật chế độ này, ứng dụng của bạn sẽ yêu cầu video bắt đầu ở chế độ tắt âm thanh.

Ví dụ sau đây trình bày cách bắt đầu video có âm thanh bật tiếng.

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

Bộ điều khiển chế độ phát tuỳ chỉnh

Việc này cho phép bạn yêu cầu tuỳ chỉnh các chế độ điều khiển đầu vào video để phát, tạm dừng hoặc tắt tiếng video.

Gọi VideoOptions.Builder.setCustomControlsRequested() có giá trị boolean.
  • Bộ điều khiển chế độ phát tuỳ chỉnh bị tắt theo mặc định.

  • Khi bạn tắt tính năng này, video của bạn sẽ hiển thị các chế độ điều khiển đầu vào do SDK kết xuất.

  • Nếu quảng cáo có nội dung video và các chế độ điều khiển tuỳ chỉnh đang được bật, bạn nên thì hiển thị các nút điều khiển tuỳ chỉnh cùng với quảng cáo, vì quảng cáo sẽ không hiển thị bất kỳ tự điều khiển. Sau đó, chế độ kiểm soát có thể gọi các phương thức liên quan trên VideoController.

Ví dụ sau đây cho thấy cách yêu cầu một video bằng bộ điều khiển chế độ phát tuỳ chỉnh.

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

Kiểm tra xem bạn đã bật chế độ điều khiển tuỳ chỉnh hay chưa

Do không biết vào thời điểm yêu cầu liệu quảng cáo trả về có cho phép hay không video có nút điều khiển tuỳ chỉnh, bạn phải kiểm tra xem video đó đã bật chế độ điều khiển tuỳ chỉnh hay chưa.

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
  }
}

Cử chỉ nhấp tuỳ chỉnh

Cử chỉ nhấp tùy chỉnh là một tính năng quảng cáo gốc cho phép vuốt trên lượt xem quảng cáo để được đăng ký dưới dạng lượt nhấp vào quảng cáo. Tính năng này được thiết kế để hoạt động với các ứng dụng sử dụng thao tác vuốt cử chỉ để di chuyển nội dung. Hướng dẫn này trình bày cách bật lượt nhấp tuỳ chỉnh trên quảng cáo gốc của mình.

Gọi NativeAdOptions.Builder.enableCustomClickGestureDirection() bằng NativeAdOptions.SwipeGestureDirectionboolean để cho biết liệu bạn có muốn cho phép nhấn dưới dạng lượt nhấp hay không.

  • Các cử chỉ nhấp tuỳ chỉnh bị tắt theo mặc định.

  • Khi bị tắt, ứng dụng của bạn sẽ hỗ trợ hành vi nhấp chuột thông thường.

  • Khi bạn bật tuỳ chọn này, ứng dụng của bạn sẽ hỗ trợ các cử chỉ vuốt tuỳ chỉnh.

Ví dụ sau đây triển khai một cử chỉ vuốt tuỳ chỉnh sang phải và giữ nguyên hoạt động bình thường của thẻ.

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

Nghe sự kiện cử chỉ vuốt

Khi lần nhấp bằng cử chỉ vuốt được ghi lại, SDK quảng cáo trên thiết bị di động của Google sẽ gọi Phương thức onAdSwipeGestureClicked() trên AdListener, ngoài phương thức hiện có 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();

Dàn xếp

Cử chỉ nhấp chuột tùy chỉnh chỉ hoạt động trên quảng cáo gốc mà Google Mobile SDK quảng cáo hiển thị. Nguồn quảng cáo cần có SDK của bên thứ ba để hiển thị, không phản hồi với chế độ cài đặt đường nhấp chuột tuỳ chỉnh.