تتيح واجهة WebView API for Ads تحقيق الربح من الإعلانات داخل التطبيق باستخدام
WebViewController
إذا كنت تعرض محتوى ويب يُنفِّذ إعلانات باستخدام
رمز AdSense أو
علامة "ناشر Google"
في تطبيقك من خلال WebViewController
، عليك استخدام واجهة برمجة التطبيقات هذه لتفعيل الإعلانات.
تحقيق الربح لمزيد من المعلومات، يُرجى مراجعة
سياسات AdMob:
- تحقيق الربح من خلال تقديم طلبات الإعلان باستخدام "SDK لإعلانات Google على الأجهزة الجوّالة"
يمكنك تحقيق الربح من تطبيقك عن طريق إرسال طلبات إعلان إلى AdMob حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" من خلال تنفيذ أشكال الإعلانات للأجهزة الجوّالة .
- تحقيق الربح باستخدام واجهة WebView API for Ads
إذا كان تطبيقك يستخدم
WebViewController
لعرض محتوى الويب الذي يعرض إعلانات من مدير الإعلانات أو AdSense، استخدام واجهة WebView API for Ads للتسجيلWebViewController
عناصر باستخدام "SDK لإعلانات Google على الأجهزة الجوّالة". تشير رسالة الأشكال البيانية JavaScript في رمز AdSense أو علامة "ناشر Google" وإنشاء طلبات الإعلان وإرسالها، فلا تحتاج إلى إجراء أي طلبات إعلان مع حزمة SDK. ضع في اعتبارك أن الويب على الأجهزة الجوّالة والويب على أجهزة سطح المكتب فقط تنسيقات المستودع متوفرة باستخدام واجهة برمجة التطبيقات هذه.إذا لم تكن مالك محتوى الويب في
WebViewController
، يُرجى العلم أنّه لا يزال. على استخدام واجهة برمجة التطبيقات هذه للمساعدة في حماية المعلنين من المحتوى غير المرغوب فيه تحسين الأرباح لناشري المحتوى على الويب الذي قدّم المحتوى.
لاحظ أنه يمكنك تنفيذ أحد الخيارين أو كليهما في التطبيق نفسه.
يهدف هذا الدليل إلى مساعدتك في دمج واجهة WebView API for Ads في تطبيق iOS.
قبل البدء
قبل بدء استخدام WebView API for Ads، تأكَّد من إجراء ما يلي:
- استخدام حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة لمكوّن Flutter الإضافي بالإصدار 3.0.0 أو الإصدارات الأحدث في تطبيقك
- إضافة
webview_flutter
كملحق في ملفpubspec.yaml
. - إضافة
webview_flutter_android
بالإصدار 3.7.0 أو الإصدارات الأحدث في تطبيقك
تجاوز عملية التحقّق من معرّف التطبيق
Android
أضِف علامة <meta-data>
التالية في ملف AndroidManifest.xml
إلى
تجاوز عملية التحقق من APPLICATION_ID
. إذا فاتتك هذه الخطوة، قد تستخدم Google
قد تعرض حزمة 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
. إذا فاتتك هذه الخطوة،
قد تعرض حزمة "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=
.