Intégrer l'API WebView pour les annonces

Sélectionnez une plate-forme : Android (bêta) Nouveau Android iOS

L'API WebView pour les annonces rend les signaux d'application disponibles pour les balises de votre WKWebView. Cela permet d'améliorer la monétisation pour les éditeurs qui ont fourni le contenu et de protéger les annonceurs contre le spam.

Fonctionnement

La communication avec le Google Mobile Ads SDK n'a lieu qu'en réponse à des événements publicitaires déclenchés par l'un des éléments suivants :

Le SDK ajoute des gestionnaires de messages au WKWebView enregistré pour écouter ces événements publicitaires. Pour mieux comprendre comment cela fonctionne, consultez le code source de la page de test.

Prérequis

  • Google Mobile Ads SDK version 9.6.0 ou ultérieure.
  • Modifiez le fichier Info.plist en ajoutant la clé et la valeur de chaîne suivantes. Cela contourne une vérification effectuée par le Google Mobile Ads SDK pour une GADApplicationIdentifier valeur qui s'applique aux développeurs qui implémentent des annonces en dehors d'une WebView. Si vous manquez cette étape et ne fournissez pas de GADApplicationIdentifier, le Google Mobile Ads SDK génère une GADInvalidInitializationException au démarrage de l'application.

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

Enregistrer la WebView

Appelez register(_:) sur le thread principal pour établir une connexion avec les gestionnaires JavaScript dans le code AdSense ou Google Publisher Tag au sein de chaque instance WKWebView. Cette opération doit être effectuée dès que possible, par exemple dans la viewDidLoad méthode de votre contrôleur de vue.

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

Tester votre intégration

Avant d'utiliser votre propre URL, nous vous recommandons de charger l'URL suivante pour tester l'intégration :

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

L'URL de test affiche des barres d'état vertes pour une intégration réussie si les conditions suivantes sont remplies :

  • WKWebView connecté au Google Mobile Ads SDK

Étapes suivantes

  • Recueillez le consentement dans WKWebView. L'API WebView pour les annonces ne propage pas le consentement collecté dans le contexte de l'application mobile à l'aide des frameworks de conformité IAB TCF v2.0 ou IAB CCPA aux balises de vos WebViews. Si vous souhaitez implémenter un flux de consentement unique en tant que propriétaire du WKWebView et de son contenu Web correspondant monétisé, collaborez avec votre plate-forme de gestion du consentement pour recueillir le consentement dans le contexte WKWebView.