شارك بتعليقاتك، وساعد في تشكيل خارطة طريق SDK لإعلانات Google على الجوال. عليك المشاركة في الاستطلاع السنوي لحزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة لعام 2023 قبل إغلاقه في 5 أيار (مايو) 2023.

البدء

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

توسط 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).