البدء

"توسّط 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 تُجري أيضًا عملية إعادة تحميل استنادًا إلى معدّل تحديث الوحدة الإعلانية لإعلانات البانر.

توسّط الإعلانات المدمجة مع المحتوى

في ما يلي بعض أفضل الممارسات التي يجب مراعاتها عند تنفيذ التوسّط الأصلي.

سياسة عرض الإعلانات المدمجة مع المحتوى
لكل شبكة إعلانات سياساتها الخاصة. عند استخدام التوسط، من المهم أن تتذكر أن تطبيقك لا يزال بحاجة إلى الالتزام بسياسات الشبكة التي تعتمد على التوسط التي قدمت الإعلان.
استخدام loadAd() بدلاً من loadAds()
لا تعرض الطريقة loadAds() سوى إعلانات Google. بالنسبة إلى الإعلانات المعتمَدة على التوسّط، استخدِم loadAd() بدلاً من ذلك.

قوانين الخصوصية في الولايات الأمريكية واللائحة العامة لحماية البيانات

إذا كنت بحاجة إلى الالتزام بقوانين الخصوصية السارية في الولايات الأمريكية أو اللائحة العامة لحماية البيانات (GDPR)، اتّبِع الخطوات الواردة في إعدادات اللوائح التنظيمية في الولايات الأمريكية أو إعدادات اللائحة العامة لحماية البيانات لإضافة شركاء التوسّط إلى قائمة شركاء الإعلانات في أداة "الخصوصية والمراسلة" في AdMob أو في قائمة شركاء الإعلانات باللائحة العامة لحماية البيانات في الولايات المتحدة الأمريكية. وقد يؤدي عدم الالتزام بذلك إلى فشل الشركاء في عرض الإعلانات على تطبيقك.

اطّلِع على مزيد من المعلومات حول تفعيل المعالجة المحدودة للبيانات (RDP) والحصول على موافقة "اللائحة العامة لحماية البيانات" (GDPR) من خلال حزمة تطوير البرامج (SDK) لمنصّة Google User Messaging Platform.