借助适用于广告的网站视图 API,您可以将应用信号提供给
WKWebView
,这有助于提高
以及保护广告客户免受垃圾内容侵扰的发布商。
这些应用信号(例如应用 ID 和应用版本)有助于启用报告
和定位应用内浏览器广告资源
仅适用于应用流量的用例。
工作原理
与 Google 移动广告 SDK 的通信仅在响应广告时发生 由以下任一事件触发的事件:
SDK 会将消息处理程序添加到
WKWebView
监听这些广告事件。为了更好地
要了解其工作原理,请参阅本课程的源代码
测试页。
前提条件
- Google 移动广告 SDK 9.6.0 或更高版本。
使用以下键和字符串值更新
Info.plist
文件。这个 会绕过 Google 移动广告 SDK 针对GADApplicationIdentifier
值(适用于植入广告的开发者) 网页视图以外的位置如果您没有完成此步骤,也没有提供GADApplicationIdentifier
时,Google 移动广告 SDK 会抛出 应用启动时为GADInvalidInitializationException
。<!-- Indicate Google Mobile Ads SDK usage is only for web view APIs for ads --> <key>GADIntegrationManager</key> <string>webview</string>
注册网页视图
致电
register(_:)
与
在每个 WKWebView
实例中使用 AdSense 代码或 Google 发布商代码。这个
应尽早完成,例如在
viewDidLoad
方法。
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];
}
测试您的集成
在使用您自己的网址之前,我们建议您先加载以下网址进行测试 集成:
https://webview-api-for-ads-test.glitch.me#api-for-ads-tests
如果集成成功,测试网址会显示绿色状态栏, 需要满足以下条件:
WKWebView
已关联到 Google 移动广告 SDK
后续步骤
- 在
WKWebView
中征求用户意见。适用于 广告不会使用 IAB TCF v2.0 或 IAB 加州消费者隐私法案 (CCPA) 合规框架。如果您对 以同时拥有两种意见征求方式的所有者身份,WKWebView
及其对应的 Web 内容 已实现创收,请与您的意见征求管理平台合作,在WKWebView
上下文。