WebView API for Ads מאפשר לייצר הכנסות ממודעות באפליקציה באמצעות WebViewController
.
אם אתם מציגים תוכן אינטרנט שמטמיע מודעות באמצעות קוד AdSense או Google Publisher Tag באפליקציה שלכם דרך WebViewController
, עליכם להשתמש ב-API הזה כדי להפעיל מונטיזציה ממודעות. מידע נוסף זמין במדיניות AdMob.
- ייצור הכנסות באמצעות שליחת בקשות להצגת מודעות באמצעות Google Mobile Ads SDK
כדי לייצר הכנסות מהאפליקציה, אפשר לשלוח בקשות להצגת מודעות אל AdMob באמצעות 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 plugin בגרסה 3.0.0 ואילך באפליקציה.
- מוסיפים את
webview_flutter
כיחס תלות בקובץpubspec.yaml
. - מוסיפים את
webview_flutter_android
באפליקציה בגרסה 3.7.0 ואילך.
דילוג על הבדיקה של מזהה האפליקציה
מוסיפים את התג <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"/>
כדי לעקוף את הבדיקה של GADApplicationIdentifier
, מעדכנים את הקובץ Runner/Info.plist
במפתח ובערך המחרוזת שבהמשך. אם תדלגו על השלב הזה, יכול להיות ש-Google Mobile Ads SDK יפיק שגיאה מסוג GADInvalidInitializationException
בזמן הפעלת האפליקציה.
<!-- Bypass GADApplicationIdentifier check for WebView API for Ads -->
<key>GADIntegrationManager</key>
<string>webview</string>
רישום של WebViewController
כדי לשפר את המונטיזציה ממודעות באפליקציה ב-WebViewController
שמשתמש בקוד AdSense או בתגי Google Publisher, יש לפעול לפי השלבים הבאים:
מפעילים את JavaScript ב-
WebViewController
. אם לא תעשו זאת, יכול להיות שהמודעות לא ייטענו.כדי לשפר את חוויית הצפייה במודעות של המשתמשים ולפעול בהתאם למדיניות בנושא קובצי cookie של Chrome, צריך להפעיל קובצי cookie של צד שלישי במכונה של
AndroidWebViewController
.כדי לרשום את המופע של
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=
.