שילוב WebView API למודעות

WebView API for Ads מאפשר מונטיזציה ממודעות בתוך האפליקציה באמצעות WebViewController. אם אתם מציגים באפליקציה עד WebViewController תוכן באינטרנט שבו מוטמעות מודעות באמצעות קוד AdSense או Google Publisher Tag, עליכם להשתמש ב-API הזה כדי להפעיל מונטיזציה. מידע נוסף זמין המדיניות של AdSense ו-Ad Manager.

  1. ייצור הכנסות על ידי שליחת בקשות להצגת מודעות באמצעות Google Mobile Ads SDK

    אפשר לייצר הכנסות מהאפליקציה על ידי שליחת בקשות להצגת מודעות ב- Ad Manager עם Google Mobile Ads SDK על ידי הטמעת פורמטים של מודעות לאפליקציה לנייד.

    מידע נוסף

  2. ייצור הכנסות באמצעות WebView API for Ads

    אם באפליקציה נעשה שימוש ב-WebViewController כדי להציג תוכן אינטרנט שמציג מודעות מ-Ad Manager או מ-AdSense, עליך להשתמש ב-WebView API for Ads כדי לרשום אובייקטים מסוג WebViewController באמצעות Google Mobile Ads SDK. ה-JavaScript בקוד AdSense או ב-Google Publisher Tag יוצר ושולח בקשות להצגת מודעות, כך שלא תצטרכו לשלוח בקשות להצגת מודעות באמצעות ה-SDK. חשוב לזכור שרק פורמטים של מלאי באינטרנט לנייד ולאינטרנט למחשב זמינים באמצעות ה-API הזה.

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

הערה: אפשר לבצע כל אחת מהאפשרויות או את שתיהן באותה אפליקציה.

המדריך הזה נועד לעזור לכם לשלב את WebView API for Ads באפליקציה ל-iOS.

לפני שמתחילים

לפני שמתחילים להשתמש ב-WebView API for Ads, צריך לוודא שביצעתם את הפעולות הבאות:

עקיפה של בדיקת מזהה האפליקציה

Android

מוסיפים את התג <meta-data> הבא לקובץ AndroidManifest.xml כדי לעקוף את הבדיקה של APPLICATION_ID. אם מפספסים את השלב הזה, Google Mobile Ads SDK עשוי לגרום ל-IllegalStateException להפעיל את האפליקציה.

<!-- Bypass APPLICATION_ID check for WebView API for Ads -->
<meta-data
    android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
    android:value="webview"/>

iOS

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

<!-- Bypass GADApplicationIdentifier check for WebView API for Ads -->
<key>GADIntegrationManager</key>
<string>webview</string>

רישום ה-WebViewController

כדי לשפר את המונטיזציה ממודעות בתוך האפליקציה עבור מודעות ב-WebViewController שנעשה בהן שימוש בקוד AdSense או בתגי Google Publisher Tag, יש לבצע את השלבים המפורטים בהמשך:

  1. יש להפעיל JavaScript בWebViewController. אם לא תעשו זאת, המודעות לא ייטענו.

  2. כדי לשפר את חוויית הצפייה של המשתמשים במודעות ולציית למדיניות של Chrome בנושא קובצי cookie, כדאי להפעיל קובצי cookie של צד שלישי במכונה של AndroidWebViewController.

  3. רושמים את המופע של WebViewController באמצעות קריאה ל-method registerWebView() שמסופקת על ידי Google Mobile Ads SDK.

import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';

@override
class WebViewExampleState extends State<WebViewExample> {
  late final WebViewController controller;

  @override
  void initState() {
    super.initState();

    createWebView();
  }

  void createWebView() async {
    controller = WebViewController();
    // 1. Enable JavaScript in the web view.
    await controller.setJavaScriptMode(JavaScriptMode.unrestricted);

    // 2. Enable third-party cookies for Android.
    if (controller.platform is AndroidWebViewController) {
      AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(
        const PlatformWebViewCookieManagerCreationParams());
      await cookieManager.setAcceptThirdPartyCookies(
        controller.platform as AndroidWebViewController, true);
    }

    // 3. Register the web view.
    await MobileAds.instance.registerWebView(controller);
  }
}

טעינת כתובת ה-URL

עכשיו אפשר לטעון כתובת URL ולהציג את התוכן שלך מהאינטרנט באמצעות WebViewController. מומלץ לטעון את כתובת ה-URL לבדיקה: https://webview-api-for-ads-test.glitch.me/ כדי לבדוק את השילוב לפני שמשתמשים בכתובת ה-URL. אם JavaScript לא מופעל, בדף האינטרנט תוצג שגיאה.

import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';

@override
class WebViewExampleState extends State<WebViewExample> {
  late final WebViewController controller;

  @override
  void initState() {
    super.initState();

    createWebView();
  }

  void createWebView() async {
    controller = WebViewController();
    // 1. Enable JavaScript in the web view.
    await controller.setJavaScriptMode(JavaScriptMode.unrestricted);

    // 2. Enable third-party cookies for Android.
    if (controller.platform is AndroidWebViewController) {
      AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(
        const PlatformWebViewCookieManagerCreationParams());
      await cookieManager.setAcceptThirdPartyCookies(
        controller.platform as AndroidWebViewController, true);
    }

    // 3. Register the web view.
    await MobileAds.instance.registerWebView(controller);

    // 4. Load the URL.
    await controller.loadRequest(Uri.parse('https://webview-api-for-ads-test.glitch.me/'));
  }

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

  • WebView מחובר ל-Google Mobile Ads SDK
  • JavaScript מופעל
  • קובצי cookie של צד שלישי פועלים (לא צפוי במכשירי iOS)
  • קובצי cookie מהדומיין הנוכחי פועלים

בדקו את קוד המקור של כתובת ה-URL לבדיקה. לאחר מכן, תוכל להחליף את כתובת ה-URL לבדיקה בכתובת ה-URL שלך. אפשר גם להשתמש בכלי proxy כמו Charles כדי לתעד את תנועת ה-HTTPS של האפליקציה ולבדוק את הבקשות להצגת מודעות לפרמטר &scar=.