משלבים את WebView API for Ads

באמצעות ממשקי Web View API למודעות, אותות של האפליקציות זמינים לתגים בWKWebView, וכך משפרים את המונטיזציה לבעלי האפליקציות שסיפקו את התוכן ומגינים על המפרסמים מפני ספאם.

איך זה עובד

התקשורת עם Google Mobile Ads SDK מתרחשת רק בתגובה לאירועי מודעות שמופעלים על ידי אחת מהאפשרויות הבאות:

ב-SDK מוסיפה גורמים מטפלים בהודעות ל-WKWebView הרשומים כדי להאזין לאירועי המודעות האלה. כדי להבין טוב יותר איך זה עובד, קראו את קוד המקור של דף הבדיקה.

דרישות מוקדמות

  • Google Mobile Ads SDK מגרסה 9.6.0 ואילך.
  • מעדכנים בקובץ Info.plist את המפתח ואת ערך המחרוזת הבאים. הפעולה הזו עוקפת בדיקה של Google Mobile Ads SDK לערך GADApplicationIdentifier שחל על מפתחים שמטמיעים מודעות מחוץ לתצוגת האינטרנט. אם תחמיצו את השלב הזה ולא תספקו GADApplicationIdentifier, Google Mobile Ads SDK יוסיף GADInvalidInitializationException בתחילת האפליקציה.

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

רישום התצוגה המפורטת באינטרנט

קוראים לפונקציה register(_:) ב-thread הראשי כדי ליצור קשר עם רכיבי ה-handler של JavaScript בקוד AdSense או ב-Google Publisher Tag בכל WKWebView מכונה. צריך לעשות זאת בהקדם האפשרי, למשל בשיטה viewDidLoad של בקר הצפייה.

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

בדיקת השילוב

לפני שמשתמשים בכתובת URL משלכם, מומלץ לטעון את כתובת ה-URL הבאה כדי לבדוק את השילוב:

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

בכתובת ה-URL לבדיקה יוצגו סרגלי סטטוס ירוקים לשילוב מוצלח אם מתקיימים התנאים הבאים:

  • WKWebView מחוברים ל-Google Mobile Ads SDK

השלבים הבאים

  • ניתן לקבל הסכמה בעוד WKWebView. ממשקי ה-API של Web View for Ads לא מפיצים הסכמה שהתקבלה בהקשר של האפליקציה לנייד באמצעות מסגרות התאימות IAB TCF גרסה 2.0 או ה-CCPA של IAB לתגים בתצוגות מפורטות באינטרנט. אם אתם רוצים להטמיע תהליך הסכמה יחיד כבעלים שלWKWebView וגם של התוכן המתאים באינטרנט שמופעלת בו מונטיזציה, עליכם לעבוד עם הפלטפורמה לניהול הסכמה כדי לאסוף את אישורי ההסכמה לפי ההקשר WKWebView .