Tích hợp WebView API for Ads (API WebView cho quảng cáo)

API chế độ xem web dành cho quảng cáo giúp các tín hiệu ứng dụng có sẵn cho các thẻ trong WKWebView, giúp cải thiện khả năng kiếm tiền cho những nhà xuất bản đã cung cấp nội dung và bảo vệ nhà quảng cáo khỏi mánh khoé tăng thứ hạng.

Cách hoạt động

Hoạt động giao tiếp với SDK Quảng cáo của Google trên thiết bị di động chỉ diễn ra khi có quảng cáo sự kiện được kích hoạt bởi bất kỳ yếu tố nào sau đây:

SDK thêm trình xử lý thông báo vào WKWebView để theo dõi các sự kiện quảng cáo này. Để có trải nghiệm tốt hơn về cách hoạt động của tính năng này, hãy xem mã nguồn của trang thử nghiệm.

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

  • SDK Quảng cáo của Google trên thiết bị di động phiên bản 9.6.0 trở lên.
  • Cập nhật tệp Info.plist bằng giá trị khoá và chuỗi như sau. Chiến dịch này bỏ qua bước kiểm tra mà SDK quảng cáo trên thiết bị di động của Google thực hiện đối với một Giá trị GADApplicationIdentifier áp dụng cho các nhà phát triển triển khai quảng cáo bên ngoài chế độ xem web. Nếu bạn bỏ lỡ bước này và không cung cấp GADApplicationIdentifier, SDK quảng cáo trên thiết bị di động của Google sẽ gửi GADInvalidInitializationException khi khởi động ứng dụng.

    <!-- Indicate Google Mobile Ads SDK usage is only for web view APIs for ads -->
    <key>GADIntegrationManager</key>
    <string>webview</string>
    

Đăng ký chế độ xem trên web

Gọi điện register(_:) trên luồng chính để thiết lập kết nối với các trình xử lý JavaScript trong Mã AdSense hoặc Thẻ nhà xuất bản của Google trong mỗi WKWebView phiên bản. Chiến dịch này cần được thực hiện càng sớm càng tốt, chẳng hạn như trong Phương thức viewDidLoad của bộ điều khiển chế độ xem.

Swift

import WebKit

class ViewController: UIViewController {

  var webView: WKWebView!

  override func viewDidLoad() {
    super.viewDidLoad()

    // Initialize a WKWebViewConfiguration object.
    let webViewConfiguration = WKWebViewConfiguration()
    // Let HTML videos with a "playsinline" attribute play inline.
    webViewConfiguration.allowsInlineMediaPlayback = true
    // Let HTML videos with an "autoplay" attribute play automatically.
    webViewConfiguration.mediaTypesRequiringUserActionForPlayback = []

    // Initialize the WKWebView with your WKWebViewConfiguration object.
    webView = WKWebView(frame: view.frame, configuration: webViewConfiguration)
    view.addSubview(webView)

    // Register the web view.
    GADMobileAds.sharedInstance().register(webView)
  }
}

Objective-C

@import WebKit;

#import "ViewController.h"

@interface ViewController ()

@property(nonatomic, strong) WKWebView *webView;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  // Initialize a WKWebViewConfiguration object.
  WKWebViewConfiguration *webViewConfiguration = [[WKWebViewConfiguration alloc] init];
  // Let HTML videos with a "playsinline" attribute play inline.
  webViewConfiguration.allowsInlineMediaPlayback = YES;
  // Let HTML videos with an "autoplay" attribute play automatically.
  webViewConfiguration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;

  // Initialize the WKWebView with your WKWebViewConfiguration object.
  self.webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:webViewConfiguration];
  [self.view addSubview:self.webView];

  // Register the web view.
  [GADMobileAds.sharedInstance registerWebView:self.webView];
}

Kiểm tra quá trình tích hợp

Trước khi sử dụng URL của riêng mình, bạn nên tải URL sau đây để kiểm tra tích hợp:

https://webview-api-for-ads-test.glitch.me#api-for-ads-tests

URL thử nghiệm hiển thị thanh trạng thái màu xanh lục cho biết tích hợp thành công nếu các điều kiện sau áp dụng:

  • WKWebView đã kết nối với SDK Quảng cáo của Google trên thiết bị di động

Các bước tiếp theo