تسمح واجهة WebView API للإعلانات بتحقيق الربح من الإعلانات داخل التطبيق باستخدام
WebViewController
.
إذا كنت تعرض محتوى ويب ينفذ الإعلانات باستخدام
رمز AdSense أو
علامة الناشر من Google
في تطبيقك من خلال WebViewController
، عليك استخدام واجهة برمجة التطبيقات هذه لتفعيل ميزة
تحقيق الربح من الإعلانات. لمزيد من المعلومات، يُرجى الاطّلاع على
سياسات AdMob.
- تحقيق الربح من خلال تقديم طلبات إعلانات باستخدام حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"
يمكنك تحقيق الربح من تطبيقك من خلال تقديم طلبات إعلانات إلى AdMob باستخدام "حزمة SDK لإعلانات Google على الأجهزة الجوّالة" من خلال تنفيذ تنسيقات الإعلانات لتطبيقك المتوافق مع الأجهزة الجوّالة.
- تحقيق الربح باستخدام WebView API للإعلانات
إذا كان تطبيقك يستخدم
WebViewController
لعرض محتوى ويب يعرض إعلانات من مدير إعلانات Google أو AdSense، استخدِم واجهة WebView API للإعلانات لتسجيل عناصرWebViewController
باستخدام حزمة "SDK لإعلانات Google على الأجهزة الجوّالة". إنّ لغة برمجة JavaScript في رمز AdSense أو علامة الناشر من Google تنشئ طلبات الإعلانات وتُرسِلها، لذا ليس عليك إرسال أي طلبات إعلانات باستخدام IDE. يُرجى العلم أنّه لا تتوفّر سوى تنسيقات المستودع على الويب للأجهزة الجوّالة وأجهزة الكمبيوتر المكتبي باستخدام واجهة برمجة التطبيقات هذه.إذا لم تكن تملك محتوى الويب في
WebViewController
، ننصحك باستخدام واجهة برمجة التطبيقات هذه للمساعدة في حماية المعلِنين من المحتوى غير المرغوب فيه و تحسين تحقيق الربح لصنّاع المحتوى على الويب الذين قدّموا المحتوى.
تجدر الإشارة إلى أنّه يمكنك تنفيذ أي من الخيارَين أو كليهما في التطبيق نفسه.
يهدف هذا الدليل إلى مساعدتك في دمج واجهة WebView API for Ads في تطبيق iOS.
قبل البدء
قبل بدء استخدام WebView API للإعلانات، تأكَّد من إجراء ما يلي:
- استخدِم مكوّن "Google Mobile Ads SDK" الإضافي لتطبيق Flutter بالإصدار 3.0.0 أو إصدار أحدث في تطبيقك.
- أضِف
webview_flutter
كتبعية في ملفpubspec.yaml
. - أضِف
webview_flutter_android
بالإصدار 3.7.0 أو إصدار أحدث في تطبيقك.
تخطّي عملية التحقّق من معرّف التطبيق
أضِف علامة <meta-data>
التالية في ملف AndroidManifest.xml
لتخطّي عملية التحقّق من APPLICATION_ID
. في حال عدم اتّباع هذه الخطوة، قد تُرسِل ميزة "SDK لإعلانات Google على الأجهزة الجوّالة"
IllegalStateException
خطأ عند بدء التطبيق.
<!-- Bypass APPLICATION_ID check for WebView API for Ads -->
<meta-data
android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
android:value="webview"/>
عدِّل ملف Runner/Info.plist
باستخدام المفتاح وقيمة السلسلة أدناه لتخطّي عملية التحقّق من GADApplicationIdentifier
. في حال عدم اتّباع هذه الخطوة،
قد تُرسِل حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" خطأ GADInvalidInitializationException
عند بدء التطبيق.
<!-- Bypass GADApplicationIdentifier check for WebView API for Ads -->
<key>GADIntegrationManager</key>
<string>webview</string>
تسجيل WebViewController
لتحسين تحقيق الربح من الإعلانات داخل التطبيقات ضمن
WebViewController
يستخدم رمز AdSense أو علامات "ناشر Google"، اتّبِع الخطوات التالية:
فعِّل JavaScript في
WebViewController
. وقد يؤدي عدم إجراء ذلك إلى عدم تحميل الإعلانات.لتحسين تجربة المستخدمين في ما يتعلّق بالإعلانات ومواءمة ذلك مع سياسة ملفات تعريف الارتباط في Chrome، عليك تفعيل ملفات تعريف الارتباط التابعة لجهات خارجية في مثيل
AndroidWebViewController
.سجِّل مثيل
WebViewController
من خلال استدعاء الأسلوبregisterWebView()
المقدَّم من حزمة "SDK لإعلانات Google على الأجهزة الجوّالة".
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
متّصل بحزمة "SDK لإعلانات Google على الأجهزة الجوّالة"- تم تفعيل JavaScript
- تعمل ملفات تعريف الارتباط التابعة لجهات خارجية (لا يُتوقّع حدوث ذلك على أجهزة iOS)
- طريقة عمل ملفات تعريف الارتباط الخاصة بالطرف الأول
يمكنك الاطّلاع على رمز المصدر
لعنوان URL التجريبي. ويمكنك بعد ذلك استبدال عنوان URL التجريبي بعنوان URL الخاص بك. يمكنك أيضًا
استخدام أداة خادم وكيل مثل Charles لتسجيل
زيارات HTTPS في تطبيقك وفحص طلبات الإعلانات بحثًا عن مَعلمة &scar=
.