WebView API for Ads を統合する

広告用のウェブビュー API を使用すると、 WKWebViewは、 広告主をスパムから保護するパブリッシャーの存在です。 アプリ ID やアプリのバージョンなど、これらのアプリのシグナルはレポートを有効にするのに役立ちます。 およびアプリ内ブラウザ広告枠をターゲットに設定する 本来ならアプリのトラフィックでのみ利用可能な ユースケースに対応できます

仕組み

Google Mobile Ads SDK との通信は、広告の応答としてのみ行われます。 イベントがトリガーされます。

SDK は登録された WKWebView これらの広告イベントをリッスンします。より良い結果を生み出すために その仕組みを理解するために、Google Cloud のソースコード 表示されます。

前提条件

  • Google Mobile Ads SDK バージョン 9.6.0 以降のバージョンが必要です。
  • Info.plist ファイルを次のキーと文字列値で更新します。この Google Mobile Ads SDK の Web Security Scanner の 広告を実装するデベロッパーに適用される GADApplicationIdentifier の値 ウェブビュー以外では表示されますこのステップを省略して、 GADApplicationIdentifier の場合、Google Mobile Ads SDK は アプリ起動時に GADInvalidInitializationException

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

ウェブビューを登録する

発信 register(_:) アプリケーションの JavaScript ハンドラとの接続を確立し、 各インスタンス内で AdSense コードまたは Google パブリッシャー タグを利用可能 WKWebView この できるだけ早い段階で ビュー コントローラの 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];
}

統合をテストする

独自の URL を使用する前に、次の URL を読み込んでテストすることをおすすめします。 説明します。

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

次の場合、テスト URL には統合が成功したことを示す緑色のステータスバーが表示されます。 次の条件が適用されます。

  • WKWebView Google Mobile Ads SDK に接続

次のステップ

  • WKWebViewで同意を取得します。Google Cloud 向けのウェブビュー API モバイルアプリのコンテキストで収集された同意は、 IAB TCF v2.0 または IAB CCPA をウェブビューのタグに追加します。もし関心があるなら 両方の所有者として単一の同意フローを実装する場合 WKWebView 対応するウェブ コンテンツを 場合は、同意管理プラットフォームを使用して、 説明します。 WKWebView