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

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

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

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

    מידע נוסף

  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. אם תפספסו את השלב הזה, 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 תגים, פועלים לפי השלבים שמפורט בהמשך:

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

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

  3. רושמים את המכונה WebViewController באמצעות 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=.