WebView API for Ads מאפשר מונטיזציה ממודעות בתוך האפליקציה באמצעות WebViewController
.
אם אתם מציגים באפליקציה עד WebViewController
תוכן באינטרנט שבו מוטמעות מודעות באמצעות קוד AdSense או Google Publisher Tag, עליכם להשתמש ב-API הזה כדי להפעיל מונטיזציה. מידע נוסף זמין
המדיניות של AdSense
ו-Ad Manager.
- ייצור הכנסות על ידי שליחת בקשות להצגת מודעות באמצעות Google Mobile Ads SDK
אפשר לייצר הכנסות מהאפליקציה על ידי שליחת בקשות להצגת מודעות ב- Ad Manager עם Google Mobile Ads SDK על ידי הטמעת פורמטים של מודעות לאפליקציה לנייד.
- ייצור הכנסות באמצעות 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, צריך לוודא שביצעתם את הפעולות הבאות:
- השתמשו בפלאגין של Google Mobile Ads SDK for Flutter בגרסה 3.0.0 ואילך באפליקציה.
- מוסיפים את
webview_flutter
כתלות בקובץpubspec.yaml
. - הוספת
webview_flutter_android
בגרסה 3.7.0 ואילך לאפליקציה.
עקיפה של בדיקת מזהה האפליקציה
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, יש לבצע את השלבים המפורטים בהמשך:
יש להפעיל JavaScript ב
WebViewController
. אם לא תעשו זאת, המודעות לא ייטענו.כדי לשפר את חוויית הצפייה של המשתמשים במודעות ולציית למדיניות של Chrome בנושא קובצי cookie, כדאי להפעיל קובצי cookie של צד שלישי במכונה של
AndroidWebViewController
.רושמים את המופע של
WebViewController
באמצעות קריאה ל-methodregisterWebView()
שמסופקת על ידי 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=
.