WebView API für Anzeigen integrieren

Mit den WebView APIs für Anzeigen stehen App-Signale den Tags in Ihrem WKWebView zur Verfügung. So lässt sich die Monetarisierung für die Publisher, die die Inhalte zur Verfügung gestellt 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 Folgendes ausgelöst werden:

Das SDK fügt dem registrierten WKWebView Nachrichten-Handler hinzu, um auf diese Anzeigenereignisse zu warten. Im Quellcode der Testseite finden Sie weitere Informationen dazu.

Vorbereitung

  • 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 des Google Mobile Ads SDK auf einen GADApplicationIdentifier-Wert umgangen, die für Entwickler gilt, die Anzeigen außerhalb einer Webansicht implementieren. Wenn Sie diesen Schritt überspringen und keine GADApplicationIdentifier angeben, löst das Google Mobile Ads SDK beim Start der App eine GADInvalidInitializationException aus.

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

WebView registrieren

Rufe register(_:) im Hauptthread auf, um eine Verbindung zu den JavaScript-Handlern im AdSense-Code oder Google Publisher-Tag innerhalb jeder WKWebView-Instanz herzustellen. Dies sollte so früh wie möglich geschehen, z. B. in der viewDidLoad-Methode Ihres View 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 du deine eigene URL verwendest, empfehlen wir dir, die folgende URL zu laden, um die Integration zu testen:

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

Wenn die folgenden Bedingungen erfüllt sind, werden für die Test-URL grüne Statusbalken für eine erfolgreiche Integration angezeigt:

  • WKWebView mit dem Google Mobile Ads SDK verbunden ist.

Nächste Schritte

  • Holen Sie die Einwilligung in WKWebView ein. Die WebView APIs für Anzeigen leiten die Einwilligung, die im Kontext einer mobilen App mithilfe der Compliance-Frameworks IAB TCF 2.0 oder IAB CCPA erfasst wurde, nicht an die Tags in Ihren WebViews weiter. Wenn Sie als Inhaber sowohl der WKWebView als auch der entsprechenden monetarisierten Webinhalte einen einzigen Einwilligungsvorgang implementieren möchten, arbeiten Sie mit Ihrer Plattform zur Einwilligungsverwaltung zusammen, um die Einwilligung im Kontext der WKWebView einzuholen.