Intégrer l'API WebView pour les annonces

Les API WebView pour les annonces mettent les signaux d'application à disposition des balises de votre WKWebView, nous contribuons à améliorer la monétisation pour le les éditeurs qui ont fourni le contenu et protégé les annonceurs contre le spam.

Fonctionnement

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

Le SDK ajoute des gestionnaires de messages au fichier WKWebView pour écouter ces événements d'annonce. Pour une meilleure 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. Ce contourne une vérification effectuée par le SDK Google Mobile Ads Valeur GADApplicationIdentifier applicable aux développeurs qui implémentent des annonces en dehors d'une vue Web. Si vous n'avez pas effectué cette étape et que vous ne fournissez pas 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

Appeler register(_:) sur le thread principal pour établir une connexion avec les gestionnaires JavaScript dans code AdSense ou Google Publisher Tag dans chaque WKWebView instance. Ce doit être effectué le plus tôt possible, par exemple 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 que l'intégration a réussi si le les conditions suivantes s'appliquent:

  • WKWebView connectée au SDK Google Mobile Ads

Étapes suivantes

  • Recueillez le consentement des utilisateurs dans WKWebView. Les API Web View pour Les annonces ne propagent pas le consentement recueilli dans le contexte de l'application mobile à l'aide de Version 2.0 du TCF de l'IAB ou CCPA de l'IAB de conformité aux tags dans vos vues Web. Si vous êtes intéressé par en implémentant un seul flux de consentement en tant que propriétaire WKWebView et le contenu Web correspondant et monétisées, utilisez votre plate-forme de gestion du consentement pour recueillir le consentement le WKWebView contexte.