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 tuỳ chỉnh thêm và mang lại trải nghiệm quảng cáo tốt nhất có thể. Hướng dẫn này cho bạn biết 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

Chế độ kiểm soát thành phần

Chế độ điều khiển tỷ lệ khung hình nội dung nghe nhìn ưu tiên

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

Đặt GADNativeAdMediaAdLoaderOptions mediaAspectRatio bằng GADMediaAspectRatio.

  • Khi bạn không đặt giá trị, 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 chế độ này, bạn 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 hình ảnh hoặc video trả về có tỷ lệ khung hình cụ thể.

GADNativeAdMediaAdLoaderOptions *nativeOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOption.mediaAspectRatio = GADMediaAspectRatioAny;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

Kiểm soát việc 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 SDK có trả về thành phần hình ảnh hay chỉ trả về URI.

Đặt GADNativeAdImageAdLoaderOptions disableImageLoading bằng giá trị BOOL.
  • Theo mặc định, chế độ kiểm soát tải hình ảnh xuống bị tắt.

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

  • Khi bật, SDK này chỉ điền URI, cho phép bạn tải hình ảnh thực tế xuống tuỳ theo quyết định của mình.

Ví dụ sau đây hướng dẫn SDK chỉ trả về URI.

GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.disableImageLoading = YES;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

Chế độ 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 ứng dụng của bạn đã sẵn sàng hiển thị tất cả hình ảnh hay chỉ một hình ảnh.

Đặt GADNativeAdImageAdLoaderOptions shouldRequestMultipleImages bằng giá trị BOOL.
  • Theo mặc định, các chế độ điều khiển tải trọng hình ảnh sẽ bị tắt.

  • Khi bị tắt, ứng dụng của bạn sẽ chỉ thị cho SDK chỉ cung cấp hình ảnh đầu tiên cho mọi thành phần có chứa loạt hình ảnh.

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

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

GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.shouldRequestMultipleImages = YES;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

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

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

Các chế độ điều khiển vị trí của biểu tượng 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.

Đặt GADNativeAdViewAdOptions preferredAdChoicesPosition bằng giá trị GADAdChoicesPosition.

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

  • Nếu được đặt, AdChoices sẽ được đặt ở vị trí tuỳ chỉnh theo yêu cầu.

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

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopLeftCorner;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

Chế độ xem tuỳ chỉnh của nhãn 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 ở một vị trí tuỳ chỉnh. Điều này khác với các chế độ kiểm soát vị trí của biểu tượng Lựa chọn quảng cáo, chỉ cho phép chỉ định một trong bốn góc.

Hãy đặt thuộc tính GADNativeAd.adChoicesView bằng GADAdChoicesView trước khi hiển thị và nội dung Lựa chọn quảng cáo sẽ hiển thị bên trong GADAdChoicesView.

Ví dụ sau đây minh hoạ cách thiết lập chế độ xem tuỳ chỉnh cho Lựa chọn quảng cáo. Biểu tượng AdChoices sẽ hiển thị bên trong GADAdChoicesView.

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {

    ...

    
    GADAdChoicesView *customAdChoicesView =
        [[GADAdChoicesView alloc] initWithFrame: CGRectMake(..., ..., ..., ...)];

    [nativeAdView addSubview:customAdChoicesView];
    nativeAdView.adChoicesView = customAdChoicesView;

    // Associate the native ad view with the native ad object. This is
    // required to make the ad clickable.
    // Note: this should always be done after populating the ad views.
    nativeAdView.nativeAd = nativeAd;
}

Swift

func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
    refreshAdButton.isEnabled = true

    ...
    // Define a custom position for the AdChoices icon.
    let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
    let customAdChoicesView = GADAdChoicesView(frame: customRect)
    nativeAdView.addSubview(customAdChoicesView)
    nativeAdView.adChoicesView = customAdChoicesView

    // Associate the native ad view with the native ad object. This is
    // required to make the ad clickable.
    // Note: this should always be done after populating the ad views.
    nativeAdView.nativeAd = nativeAd;
}

Điều khiển video

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

Hành vi tắt tiếng khi bắt đầu cho phép bạn tắt hoặc bật âm thanh bắt đầu của video.

Đặt GADVideoOptions startMuted bằng giá trị BOOL.
  • 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 sẽ 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 cho biết cách bắt đầu video có âm thanh bật tiếng.

GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.startMuted = NO;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

Thao tá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.

Đặt GADVideoOptions customControlsRequested bằng giá trị BOOL.
  • 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à bạn đã bật các chế độ điều khiển tuỳ chỉnh, thì bạn nên hiển thị các chế độ điều khiển tuỳ chỉnh cùng với quảng cáo, vì quảng cáo sẽ không tự hiển thị bất kỳ chế độ điều khiển nào. Sau đó, các thành phần điều khiển có thể gọi các phương thức có liên quan trên GADVideoController.

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.

GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.customControlsRequested = YES;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

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

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

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd*)nativeAd {

  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  BOOL canShowCustomControls = videoController.customControlsEnabled;

}

Swift

func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) {
        let videoController = nativeAd.mediaContent.videoController
        let canShowCustomControls = videoController?.customControlsEnabled() == true
}

Hiển thị bộ điều khiển video tuỳ chỉnh

Hiển thị các chế độ điều khiển video tuỳ chỉnh bằng các phương pháp hay nhất sau:

  1. Hiển thị thành phần hiển thị tuỳ chỉnh làm thành phần con của thành phần hiển thị quảng cáo gốc. Phương pháp này đảm bảo rằng các phép tính về khả năng xem theo phương pháp đo lường mở sẽ coi các chế độ điều khiển tuỳ chỉnh là thành phần che khuất được chấp nhận.
  2. Tránh hiển thị một lớp phủ vô hình trên toàn bộ khung hiển thị nội dung nghe nhìn. Lớp phủ chặn lượt nhấp vào chế độ xem nội dung nghe nhìn, ảnh hưởng tiêu cực đến hiệu suất của quảng cáo gốc. Thay vào đó, hãy tạo một lớp phủ nhỏ vừa đủ lớn để vừa với các nút điều khiển.

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

Cử chỉ nhấp tuỳ chỉnh là một tính năng quảng cáo gốc cho phép các thao tác vuốt trên các 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 cử chỉ vuốt để điều hướng nội dung. Hướng dẫn này cho biết cách bật cử chỉ nhấp tuỳ chỉnh trên quảng cáo gốc.

Khởi chạy một thực thể GADNativeAdCustomClickGestureOptions bằng hướng vuốt mà bạn đã chọn. Bạn cũng cần cho biết liệu bạn có muốn cho phép các lượt nhấn dưới dạng lượt nhấp hay không.

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

  • Khi bạn tắt tính năng này, chỉ những lượt nhấn mới được tính là lượt nhấp.

  • Khi bật, thao tác vuốt sẽ được tính là lượt nhấp và bạn có thể chỉ định liệu thao tác nhấn có thể vẫn được tính là lượt nhấp hay không.

Ví dụ sau đây cho bạn biết cách triển khai cử chỉ vuốt tuỳ chỉnh sang phải và giữ nguyên hành vi nhấn thông thường.

GADNativeAdCustomClickGestureOptions *swipeGestureOptions = [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
self.adLoader = [[GADAdLoader alloc]
        initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
      rootViewController:self
                 adTypes:@[ GADAdLoaderAdTypeNative ]
                 options:@[ swipeGestureOptions ]];

Theo dõi các sự kiện cử chỉ vuốt

Khi ghi lại một lượt nhấp bằng thao tác vuốt, SDK quảng cáo trên thiết bị di động của Google sẽ gọi phương thức uỷ quyền nativeAdDidRecordSwipeGestureClick: trên GADNativeAdDelegate, ngoài phương thức uỷ quyền nativeAdDidRecordClick: hiện có.

#pragma mark - GADNativeAdDelegate implementation

// Called when a swipe gesture click is recorded.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click or tap click has occurred.");
}

Dàn xếp

Cử chỉ nhấp tuỳ chỉnh chỉ hoạt động trên quảng cáo gốc mà SDK quảng cáo trên thiết bị di động của Google hiển thị. Những nguồn quảng cáo yêu cầu SDK của bên thứ ba để hiển thị sẽ không phản hồi chế độ cài đặt hướng nhấp tuỳ chỉnh.