Integracja interfejsu WebView API for Ads

Wybierz platformę: Android Nowy Android iOS

Dzięki interfejsom API komponentu WebView do wyświetlania reklam tagi w komponencie WKWebView mogą korzystać z sygnałów z aplikacji. Pomaga to zwiększać zarobki wydawców, którzy udostępniają treści, i chronić reklamodawców przed spamem.

Jak to działa

Komunikacja z pakietem Google Mobile Ads SDK odbywa się tylko w odpowiedzi na zdarzenia reklamowe wywoływane przez:Google Mobile Ads SDK

Pakiet SDK dodaje do zarejestrowanego komponentu WKWebView moduły obsługi wiadomości, które nasłuchują tych zdarzeń reklamowych. Aby lepiej zrozumieć, jak to działa, wyświetl kod źródłowy strony testowej.

Wymagania wstępne

  • Google Mobile Ads SDK w wersji 9.6.0 lub nowszej.
  • Zaktualizuj plik Info.plist, dodając ten klucz i wartość ciągu. Pozwala to pominąć sprawdzanie przez Google Mobile Ads SDK wartości GADApplicationIdentifier, które dotyczy deweloperów wdrażających reklamy poza komponentem WebView. Jeśli pominiesz ten krok i nie podasz wartości GADApplicationIdentifier, pakiet Google Mobile Ads SDK zgłosi wyjątek GADInvalidInitializationException podczas uruchamiania aplikacji.

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

Rejestrowanie komponentu WebView

Wywołaj funkcję register(_:) w wątku głównym, aby nawiązać połączenie z modułami obsługi JavaScript w kodzie AdSense lub tagu wydawcy Google w każdej instancji WKWebView. Należy to zrobić jak najszybciej, np. w viewDidLoad metodzie kontrolera widoku.

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.
    MobileAds.shared.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];
}

Testowanie integracji

Zanim zaczniesz używać własnego adresu URL, zalecamy wczytanie tego adresu URL, aby przetestować integrację:

https://google.github.io/webview-ads/test/#api-for-ads-tests

Jeśli integracja się powiedzie, na stronie testowej pojawią się zielone paski stanu, pod warunkiem że:

  • WKWebView jest połączony z Google Mobile Ads SDK

Dalsze kroki

  • Uzyskiwanie zgody w komponencie WKWebView. Interfejsy API komponentu WebView do wyświetlania reklam nie przekazują zgody uzyskanej w kontekście aplikacji mobilnej za pomocą platform IAB TCF w wersji 2.3 lub IAB CCPA do tagów w komponentach WebView. Jeśli chcesz wdrożyć jeden proces uzyskiwania zgody jako właściciel zarówno komponentu WKWebView, jak i odpowiadającej mu treści internetowej, na której zarabiasz, współpracuj z platformą do zarządzania zgodą użytkowników, aby uzyskać zgodę w kontekście komponentu WKWebView.