توسط AdMob عبارة عن ميزة تتيح لك إمكانية عرض الإعلانات على تطبيقاتك من مصادر متعددة، بما في ذلك شبكة AdMob، وشبكات الإعلانات التابعة لجهات خارجية، وحملات AdMob. يساعد توسط AdMob على زيادة معدل التعبئة إلى أقصى حد وزيادة معدل تحقيق الدخل من خلال إرسال طلبات الإعلان إلى شبكات متعددة لضمان عثورك على أفضل شبكة متاحة لعرض إعلاناتك. دراسة حالة:
المتطلبات الأساسية
قبل أن تتمكن من دمج التوسط لأحد أشكال الإعلانات، يلزمك دمج شكل الإعلان هذا في تطبيقك:
- إعلانات البانر
- الإعلانات البينية
- الإعلانات بمكافأة
- الإعلانات البينية بمكافأة
- الإعلانات المدمجة مع المحتوى
هل أنت حديث العهد بالتوسط؟ اطّلع على نظرة عامة على توسط AdMob.
بالنسبة إلى عروض الأسعار: SDK لإعلانات Google على الجوال 18.3.0 أو أعلى.
تهيئة حزمة SDK لإعلانات الجوّال
يوضّح لك دليل البدء السريع كيفية إعداد حزمة SDK لإعلانات الجوّال. أثناء مكالمة التهيئة هذه، يتم أيضًا تهيئة محولات عروض الأسعار والتوسط. ومن المهم انتظار اكتمال التهيئة قبل تحميل الإعلانات لضمان المشاركة الكاملة من كل شبكة إعلانات في طلب الإعلان الأول.
يعرض نموذج الشفرة التالي كيفية التحقق من حالة تهيئة كل مهايئ قبل تقديم طلب إعلان.
لغة Java
import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.initialization.AdapterStatus; import com.google.android.gms.ads.initialization.InitializationStatus; import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap(); for (String adapterClass : statusMap.keySet()) { AdapterStatus status = statusMap.get(adapterClass); Log.d("MyApp", String.format( "Adapter name: %s, Description: %s, Latency: %d", adapterClass, status.getDescription(), status.getLatency())); } // Start loading ads here... } }); } }
Kotlin
import com.google.android.gms.ads.MobileAds MobileAds.initialize(this) { initializationStatus -> val statusMap = initializationStatus.adapterStatusMap for (adapterClass in statusMap.keys) { val status = statusMap[adapterClass] Log.d("MyApp", String.format( "Adapter name: %s, Description: %s, Latency: %d", adapterClass, status!!.description, status.latency)) } // Start loading ads here... }
تحقق من فئة محوّل شبكة الإعلانات التي حمّلت الإعلان
في ما يلي بعض نماذج الشفرة التي تسجل اسم فئة شبكة الإعلانات لإعلان بانر:
لغة Java
public void onAdLoaded() { Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName()); }
Kotlin
override fun onAdLoaded() { Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName) }
يمكنك الرجوع إلى وثائق ResponseInfo
على getMediationAdapterClassName()
للحصول على تفاصيل حول هذه الطريقة.
إعداد كائن الإعلان باستخدام مثيل نشاط
في دالة إنشاء عنصر إعلان جديد (على سبيل المثال،
AdView
)،
يجب إدخال كائن من نوع
Context
.
يتم تمرير Context
إلى شبكات الإعلانات الأخرى عند استخدام التوسط. تتطلب بعض شبكات الإعلانات نوع Context
أكثر تقييدًا من النوع Activity
وقد لا تتمكّن من عرض الإعلانات بدون مثيل Activity
. ولذلك،
ننصح باجتياز مثال Activity
عند إعداد كائنات الإعلان
لضمان تجربة متسقة مع شبكات الإعلانات التي تعتمد على التوسّط.
توسط إعلانات البانر
تأكد من تعطيل التحديث في جميع واجهات مستخدم شبكات الإعلانات التابعة لجهات خارجية لوحدات إعلانات البانر المستخدمة في التوسط. AdMob وسيؤدي هذا إلى منع التحديث المزدوج نظرًا AdMob لأنّه يؤدي أيضًا إلى تشغيل إعادة التحميل استنادًا إلى معدل إعادة تحميل وحدة إعلانات البانر.
توسط الإعلانات بمكافأة
نقترح عليك إلغاء جميع قيم المكافآت التلقائية من خلال ضبط قيم المكافأة في AdMob واجهة المستخدم. ولإجراء ذلك، ضع علامة في المربّع تطبيق على جميع الشبكات في مجموعات التوسّط حتى تصبح المكافأة متسقة على جميع الشبكات. لا تقدم بعض شبكات الإعلانات قيمة أو نوع المكافأة على الإطلاق. ومن خلال تجاوز قيمة المكافأة، تكون المكافأة ثابتة بصرف النظر عن شبكة الإعلانات التي عرضت الإعلان.
لمزيد من المعلومات عن إعداد قيم المكافآت في واجهة مستخدم AdMob، يُرجى الرجوع إلى إنشاء وحدة إعلانية بمكافأة.
توسط الإعلانات المدمجة مع المحتوى
في ما يلي بعض أفضل الممارسات التي يجب أخذها في الاعتبار عند تنفيذ التوسط الأصلي.
- سياسة عرض الإعلانات المدمجة مع المحتوى
- لدى كل شبكة إعلانات سياساتها الخاصة. عند استخدام التوسط، من المهم أن تتذكر أن تطبيقك لا يزال بحاجة إلى الالتزام بسياسات الشبكة المعتمدة على التوسط التي قدمت الإعلان.
- استخدام
loadAd()
بدلاً منloadAds()
- لا تستخدم الطريقة
loadAds()
حاليًا إلا إعلانات Google فقط. بالنسبة إلى الإعلانات التي تعتمد على التوسّط، استخدمloadAd()
بدلاً من ذلك.
CCPA واللائحة العامة لحماية البيانات
إذا كنت بحاجة إلى الالتزام بقانون خصوصية المستهلك في كاليفورنيا (CCPA) أو اللائحة العامة لحماية البيانات (GDPR)، اتّبِع الخطوات الواردة في إعدادات قانون خصوصية المستهلك في كاليفورنيا (CCPA) أو إعدادات اللائحة العامة لحماية البيانات (GDPR) لإضافة شركاء التوسّط في AdMob قائمة شركاء الإعلانات للائحة العامة لحماية البيانات (GDPR) أو "اللائحة العامة لحماية البيانات" (GDPR). وقد يؤدي عدم الالتزام بذلك إلى فشل الشركاء في عرض الإعلانات على تطبيقك.
اطّلِع على مزيد من المعلومات حول تفعيل المعالجة المحدودة للبيانات لقانون خصوصية المستهلك في كاليفورنيا (CCPA) والحصول على الموافقة بموجب "اللائحة العامة لحماية البيانات" (GDPR) باستخدام حزمة تطوير البرامج (SDK) الخاصة بـ Google User Messaging Platform (UMP).