Intégrer l'API WebView pour les annonces

Les API WebView pour les annonces mettent les signaux d'application à la disposition des balises de votreWKWebView. Elles contribuent ainsi à améliorer la monétisation pour les éditeurs qui ont fourni le contenu et à protéger les annonceurs contre le spam.

Comment ça marche ?

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

Le SDK ajoute des gestionnaires de messages auWKWebView enregistré pour écouter ces événements d'annonce. Pour mieux comprendre son 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 permet d'éviter toute 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 n'effectuez pas cette étape et que vous 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 Google Publisher Tag au sein de chaque WKWebView instance. 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.
    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 indiquer une intégration réussie si les conditions suivantes s'appliquent:

  • WKWebView connectés au SDK Google Mobile Ads

Étapes suivantes

  • Obtenez le consentement des utilisateurs dans les pays suivants : WKWebView. Les API de vue Web pour les annonces ne propagent pas le consentement collecté dans le contexte de l'application mobile à l'aide de la version 2.0 du TCF de l'IAB ou de la CCPA de l'IAB vers les balises de vos vues Web. Si vous souhaitez implémenter un seul flux de consentement en tant que propriétaire duWKWebView et du contenu Web correspondant monétisé, collaborez avec votre plate-forme de gestion du consentement pour recueillir le consentement dans le WKWebView contexte.