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

Chọn nền tảng: Android (beta) Mới Android iOS

API chế độ xem web cho quảng cáo cung cấp tín hiệu ứng dụng cho các thẻ trong WKWebView của bạn, 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 nội dung không thích hợp.

Cách hoạt động

Việc giao tiếp với Google Mobile Ads SDK chỉ diễn ra khi phản hồi các sự kiện quảng cáo do bất kỳ yếu tố nào sau đây kích hoạt:

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

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

  • Google Mobile Ads SDK phiên bản 9.6.0 trở lên.
  • Cập nhật tệp Info.plist bằng khoá và giá trị chuỗi sau. Thao tác này sẽ bỏ qua bước kiểm tra mà Google Mobile Ads SDK thực hiện đối với giá trị GADApplicationIdentifier áp dụng cho những nhà phát triển triển khai quảng cáo bên ngoài chế độ xem web. Nếu bạn bỏ qua bước này và không cung cấp GADApplicationIdentifier, thì Google Mobile Ads SDK sẽ gửi một 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 web

Gọi 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 thực thể WKWebView. Bạn nên thực hiện việc này càng sớm càng tốt, chẳng hạn như trong viewDidLoad phương thức 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.
    MobileAds.shared.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 để kiểm tra quá trình tích hợp:

https://google.github.io/webview-ads/test/#api-for-ads-tests

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

  • WKWebView đã kết nối với Google Mobile Ads SDK

Các bước tiếp theo