البدء

توسّط AdMob هو ميزة تتيح لك عرض الإعلانات على تطبيقاتك من مصادر متعددة، بما في ذلك شبكة AdMob ومصادر الإعلانات التابعة لجهات خارجية، في مكان واحد. تساعد ميزة "توسّط AdMob" في زيادة معدل التعبئة إلى أقصى حد وزيادة تحقيق الربح من خلال إرسال طلبات الإعلانات إلى شبكات متعددة لضمان عثورك على أفضل شبكة متاحة لعرض إعلاناتك. دراسة حالة:

المتطلبات الأساسية

قبل أن تتمكن من دمج التوسط لأحد أشكال الإعلانات، يلزمك دمج شكل الإعلان هذا في تطبيقك:

هل أنت مستخدم جديد للتوسّط؟ اطّلِع على نظرة عامة حول توسّط AdMob.

بالنسبة إلى عروض الأسعار: الإصدار 18.3.0 من حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" أو إصدار أحدث.

إعداد حزمة تطوير البرامج (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);

        new Thread(
                () ->
                    // Initialize the Google Mobile Ads SDK on a background thread.
                    MobileAds.initialize(
                        this,
                        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...
                        }))
            .start();
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) { 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() للحصول على تفاصيل حول هذه الطريقة.

بدء عنصر إعلانك باستخدام مثيل Activity

في دالة الإنشاء لكائن إعلان جديد (مثل، AdView)، يجب تمرير عنصر من النوع Context. ويتمّ نقل هذا Context إلى شبكات مواقع إعلانية أخرى عند استخدام التوسّط. تتطلّب بعض شبكات المواقع الإعلانية Context أكثر تقييدًا من النوع Activity وقد لا تتمكّن من عرض الإعلانات بدون مثيل Activity. لذلك، ننصح بتمرير مثيل Activity عند إعداد عناصر الإعلان لضمان تجربة متّسقة مع شبكات الإعلانات التي تعتمد على التوسّط.

احرص على إيقاف إعادة التحميل في جميع واجهات مستخدم مصادر الإعلانات التابعة لجهات خارجية بالنسبة إلى وحدات إعلانات البانر المستخدَمة في "توسّط AdMob". ويؤدي ذلك إلى منع إعادة التحميل المزدوج، لأنّ AdMob يشغّل أيضًا عملية التحديث استنادًا إلى معدّل تحديث وحدة إعلانات البانر.

استخدام الإعلانات المدمجة مع المحتوى من خلال ميزة "توسّط AdMob"

وفي ما يلي بعض أفضل الممارسات التي يجب مراعاتها عند تنفيذ الإعلانات المدمجة مع المحتوى في توسّط AdMob.

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

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

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

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