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 cung cấp tín hiệu ứng dụng cho các thẻ trong WKWebViewcủ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 thư rác. Những tín hiệu của ứng dụng này (chẳng hạn như mã ứng dụng và phiên bản ứng dụng) giúp kích hoạt tính năng Báo cáoNhắm mục tiêu đến khoảng không quảng cáo trên trình duyệt trong ứng dụng vốn chỉ có trên lưu lượng truy cập ứng dụng.

Cách hoạt động

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

SDK 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 quy trình này, hãy xem mã nguồn của trang kiểm thử.

Đ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ị chuỗi và khoá như sau. Điều này bỏ qua bước kiểm tra mà SDK Quảng cáo của Google trên thiết bị di động thực hiện đối với 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 register(_:) trên chuỗi 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 từng WKWebView phiên bản. 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 phương thức viewDidLoad của bộ điều khiển khung hiển thị.

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 để kiểm tra quá trình tích hợp:

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

URL kiểm thử hiển thị các thanh trạng thái màu xanh lục để 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 SDK quảng cáo trên thiết bị di động của Google

Các bước tiếp theo