WebView API für Anzeigen integrieren

Mit den Web View APIs für Anzeigen werden App-Signale für die Tags inWKWebViewverfügbar gemacht. So können wir die Monetarisierung für Publisher, die die Inhalte bereitgestellt haben, verbessern und Werbetreibende vor Spam schützen.

Funktionsweise

Die Kommunikation mit dem Google Mobile Ads SDK erfolgt nur als Reaktion auf Anzeigenereignisse, die durch eines der folgenden Ereignisse ausgelöst werden:

Das SDK fügt dem registriertenWKWebView Nachrichten-Handler hinzu, um auf diese Anzeigenereignisse zu warten. Um einen besseren Einblick in die Funktionsweise zu erhalten, sehen Sie sich den Quellcode der Testseite an.

Voraussetzungen

  • Google Mobile Ads SDK Version 9.6.0 oder höher.
  • Aktualisieren Sie die Datei Info.plist mit dem folgenden Schlüssel und Stringwert. Dadurch wird eine Prüfung auf den Wert GADApplicationIdentifier umgangen, der für Entwickler gilt, die Anzeigen außerhalb einer Web-Datenansicht implementieren. Wenn Sie diesen Schritt verpassen und kein GADApplicationIdentifier angeben, gibt das Google Mobile Ads SDK beim App-Start ein GADInvalidInitializationException aus.

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

Webansicht registrieren

Rufen Sie register(_:) im Hauptthread auf, um eine Verbindung mit den JavaScript-Handlern im AdSense-Code oder im Google Publisher-Tag in jeder WKWebView Instanz herzustellen. Dies sollte so früh wie möglich erfolgen, z. B. in der-viewDidLoad-Methode des Ansichts-Controllers.

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];
}

Integration testen

Bevor Sie Ihre eigene URL verwenden, sollten Sie die folgende URL laden, um die Integration zu testen:

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

Die Test-URL zeigt grüne Statusleisten für eine erfolgreiche Integration an, wenn die folgenden Bedingungen erfüllt sind:

  • WKWebView die mit dem Google Mobile Ads SDK verbunden sind

Nächste Schritte

  • Holen Sie die Einwilligung in WKWebViewein. Über die Web View APIs für Anzeigen wird keine Einwilligung, die im Kontext von mobilen Apps mit dem IAB TCF 2.0 oder dem IAB CCPA-Framework erfasst wurde, an die Tags in Ihren Webansichten weitergegeben. Wenn Sie als Inhaber derWKWebView und der zugehörigen Webinhalte, die monetarisiert werden sollen, einen einzigen Einwilligungsvorgang implementieren möchten, sollten Sie mit Ihrer Plattform zur Einwilligungsverwaltung die Einwilligung im entsprechenden Kontext einholen. WKWebView