Intégrer l'API WebView pour les annonces

Les API WebView pour les annonces rendent les signaux d'application disponibles pour les balises de votreWKWebView, ce qui permet d'améliorer la monétisation pour les éditeurs qui ont fourni le contenu et de protéger les annonceurs contre le spam. Ces signaux d'application, tels que l'ID et la version de l'application, permettent d'activer les cas d'utilisation Créer des rapports et Cibler l'inventaire d'un navigateur intégré à une application, qui ne sont autrement disponibles que sur le trafic des applications.

Fonctionnement

La communication avec le SDK Google Mobile Ads ne se produit que en réponse aux événements d'annonces déclenchés par l'un des éléments suivants:

Le SDK ajoute des gestionnaires de messages à l'WKWebView enregistrée pour écouter ces événements d'annonce. Pour mieux comprendre le fonctionnement, 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 exception 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 balise Google Publisher dans chaque WKWebView instance. Cette opération doit être effectuée dès que 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.
    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];
}

Tester votre intégration

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

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

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

  • WKWebView connecté au SDK Google Mobile Ads

Étapes suivantes

  • Collectez le consentement dans WKWebView. Les API d'affichage Web pour Ads ne propagent pas le consentement collecté dans le contexte de l'application mobile à l'aide des cadres de conformité du TCF v2.0 de l'IAB ou du CDPA de l'IAB aux balises de vos affichages Web. Si vous souhaitez implémenter un seul flux de consentement en tant que propriétaire à la fois de laWKWebView et du contenu Web correspondant qui est monétisé, collaborez avec votre plate-forme de gestion du consentement pour recueillir le consentement dans le contexte de la WKWebView .