البدء

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

توسط 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) واللائحة العامة لحماية البيانات (GDPR)

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

اطّلِع على مزيد من المعلومات عن تفعيل المعالجة المحدودة للبيانات بموجب قانون خصوصية المستهلك في كاليفورنيا (CCPA) والحصول على موافقة اللائحة العامة لحماية البيانات (GDPR) باستخدام حزمة تطوير البرامج (SDK) لمنصّة Google لمراسلة المستخدمين.