Intégrer l'API WebView pour les annonces

Les API WebView pour les annonces mettent les signaux d'application à la disposition des balises dans 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 SDK Google Mobile Ads n'a lieu qu'en réponse à des événements d'annonces déclenchés par l'un des éléments suivants :

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

Prérequis

  • SDK Google Mobile Ads version 9.6.0 ou ultérieure.
  • Mettez à jour le fichier Info.plist avec la clé et la valeur de chaîne suivantes. Cela contourne une vérification effectuée par le SDK Google Mobile Ads pour une valeur GADApplicationIdentifier qui s'applique aux développeurs qui implémentent des annonces en dehors d'une vue Web. Si vous manquez cette étape et ne fournissez pas de GADApplicationIdentifier, le SDK Google Mobile Ads 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 vue Web

Appelez register(_:) sur le thread principal pour établir une connexion avec les gestionnaires JavaScript dans le code AdSense ou la Google Publisher Tag au sein de chaque instance WKWebView. Cette opération doit être effectuée le plus tôt possible, par exemple dans la méthode viewDidLoad 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 SDK Google Mobile Ads

Étapes suivantes

  • Obtenez le consentement dans WKWebView. Les API WebView pour les annonces ne propagent 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 de l'WKWebView et du contenu Web correspondant monétisé, collaborez avec votre plate-forme de gestion du consentement pour recueillir le consentement dans le contexte de l'WKWebView.