WebView API for Ads מאפשר לייצר הכנסות ממודעות באפליקציה באמצעות WebViewController.
אם אתם מציגים באפליקציה תוכן מהאינטרנט שכולל מודעות עם קוד AdSense או Google Publisher Tag דרך WebViewController, אתם צריכים להשתמש ב-API הזה כדי להפעיל מונטיזציה של מודעות. מידע נוסף זמין במדיניות של AdSense ושל Ad Manager.
- ייצור הכנסות (מונטיזציה) על ידי שליחת בקשות להצגת מודעות באמצעות Google Mobile Ads Flutter Plugin
כדי לייצר הכנסות מהאפליקציה, אתם יכולים לשלוח בקשות להצגת מודעות ל-Ad Manager באמצעות Google Mobile Ads Flutter Plugin על ידי הטמעה של פורמטים של מודעות לאפליקציות לנייד.
- ייצור הכנסות באמצעות WebView API for Ads
אם האפליקציה שלכם משתמשת ב-
WebViewControllerכדי להציג תוכן מהאינטרנט שכולל מודעות מ-Ad Manager או מ-AdSense, אתם צריכים להשתמש ב-WebView API for Ads כדי לרשום אובייקטים שלWebViewControllerב-Google Mobile Ads Flutter Plugin. קוד ה-JavaScript בקוד AdSense או ב-Google Publisher Tag יוצר ושולח בקשות להצגת מודעות, כך שאין צורך לשלוח בקשות להצגת מודעות באמצעות ה-SDK. חשוב לזכור שרק פורמטים של מלאי שטחי פרסום באינטרנט לנייד ובאתרי אינטרנט שמותאמים למחשבים זמינים באמצעות ה-API הזה.גם אם אתם לא הבעלים של התוכן מהאינטרנט ב-
WebViewController, מומלץ להשתמש ב-API הזה כדי להגן על המפרסמים מפני ספאם ולשפר את המונטיזציה של בעלי האתרים שסיפקו את התוכן.
שימו לב שאפשר לבחור באחת מהאפשרויות, או אפילו בשתיהן, באותה אפליקציה.
המדריך הזה מיועד לעזור לכם לשלב את WebView API for Ads באפליקציה ל-iOS.
לפני שמתחילים
לפני שמתחילים להשתמש ב-WebView API for Ads, חשוב לוודא שביצעתם את הפעולות הבאות:
- משתמשים בפלאגין Google Mobile Ads Flutter Plugin ל-Flutter בגרסה 3.0.0 ואילך באפליקציה.
- מוסיפים את
webview_flutterכתלות בקובץpubspec.yaml. - מוסיפים לאפליקציה את
webview_flutter_androidבגרסה 3.7.0 ואילך.
מעקף של בדיקת מזהה האפליקציה
Android
כדי לעקוף את הבדיקה של APPLICATION_ID, מוסיפים את התג <meta-data> לקובץ AndroidManifest.xml. אם תדלגו על השלב הזה, יכול להיות ש-Google Mobile Ads Flutter Plugin יקפיץ את השגיאה 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
כדי לעקוף את הבדיקה של GADApplicationIdentifier, מעדכנים את הקובץ Runner/Info.plist עם המפתח וערך המחרוזת שבהמשך. אם תדלגו על השלב הזה, יכול להיות ש-Google Mobile Ads Flutter Plugin יקפיץ GADInvalidInitializationException כשהאפליקציה תופעל.
<!-- Bypass GADApplicationIdentifier check for WebView API for Ads -->
<key>GADIntegrationManager</key>
<string>webview</string>
רישום של WebViewController
כדי לשפר את המונטיזציה של מודעות באפליקציה בתוך WebViewController שמשתמש בקוד AdSense או ב-Google Publisher Tags, צריך לפעול לפי השלבים הבאים:
מפעילים את JavaScript ב-
WebViewController. אחרת, יכול להיות שהמודעות לא ייטענו.כדי לשפר את חוויית הצופים במודעות ולהתאים אותה למדיניות קובצי ה-Cookie של Chrome, צריך להפעיל קובצי Cookie של צד שלישי במכונה של
AndroidWebViewController.רושמים את המכונה של
WebViewControllerבאמצעות קריאה ל-methodregisterWebView()שסופקה על ידי Google Mobile Ads Flutter Plugin.
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://google.github.io/webview-ads/test/ כדי לבדוק את השילוב לפני שמשתמשים בכתובת 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://google.github.io/webview-ads/test/'));
}
כדי שכתובת ה-URL לבדיקה תציג שורות סטטוס ירוקות, צריך שיתקיימו התנאים הבאים:
-
WebViewמחובר אל Google Mobile Ads Flutter Plugin - JavaScript מופעל
- קובצי Cookie של צד שלישי פועלים (לא צפוי במכשירי iOS)
- קובצי Cookie מהדומיין הנוכחי פועלים
מעיינים בקוד המקור של כתובת ה-URL לבדיקה. אחרי זה, אתם יכולים להחליף את כתובת ה-URL לבדיקה בכתובת ה-URL שלכם. אפשר גם להשתמש בכלי פרוקסי כמו Charles כדי לתעד את תנועת ה-HTTPS של האפליקציה ולבדוק אם הבקשות להצגת מודעות כוללות את הפרמטר &scar=.
