إعداد ميزة "توسّط AdMob"

اختيار النظام الأساسي: Android iOS Unity Flutter Android (الإصدار القديم)

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

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

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

هل أنت مستخدم جديد لميزة التوسّط؟ يمكنك قراءة نظرة عامة حول توسّط AdMob.

تهيئة GMA Next-Gen SDK

يوضّح لك دليل البدء السريع كيفية تهيئة GMA Next-Gen SDK. أثناء طلب التهيئة هذا، تتم أيضًا تهيئة محوّلات التوسّط. من المهم الانتظار إلى حين اكتمال عملية التهيئة قبل تحميل الإعلانات للتحقّق من المشاركة الكاملة من كل شبكة إعلانات في أول طلب إعلان.

تعرض عيّنة التعليمات البرمجية التالية كيفية التحقّق من حالة تهيئة كل محوّل قبل تقديم طلب إعلان.

Kotlin

import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
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 GMA Next-Gen SDK on a background thread.
      MobileAds.initialize(this@MainActivity, InitializationConfig.Builder("SAMPLE_APP_ID").build()) {
        initializationStatus ->
        for ((adapterName, adapterStatus) in initializationStatus.adapterStatusMap) {
          Log.d(
            "MyApp",
            String.format(
              "Adapter name: %s, Status code: %s, Status string: %s, Latency: %d",
              adapterName,
              adapterStatus.initializationState,
              adapterStatus.description,
              adapterStatus.latency,
            ),
          )
        }
        // Adapter initialization is complete.
      }
      // Other methods on MobileAds can now be called.
    }
  }
}

جافا

import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.AdapterStatus;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(
            () -> {
              // Initialize GMA Next-Gen SDK on a background thread.
              MobileAds.initialize(
                  this,
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    Map<String, AdapterStatus> adapterStatusMap =
                        initializationStatus.getAdapterStatusMap();
                    for (String adapterClass : adapterStatusMap.keySet()) {
                      AdapterStatus adapterStatus = adapterStatusMap.get(adapterClass);
                      Log.d(
                          "MyApp",
                          String.format(
                              "Adapter name: %s, Status code: %s, Status description: %s,"
                                  + " Latency: %d",
                              adapterClass,
                              adapterStatus.getInitializationState(),
                              adapterStatus.getDescription(),
                              adapterStatus.getLatency()));
                    }
                    // Adapter initialization is complete.
                  });
              // Other methods on MobileAds can now be called.
            })
        .start();
  }
}

استبعاد وحدات com.google.android.gms في عمليات دمج التوسّط

تستمر محوّلات التوسّط في الاعتماد على Google Mobile Ads SDK (Legacy). ومع ذلك ، تتضمّن GMA Next-Gen SDKجميع الفئات التي تحتاج إليها محوّلات التوسّط. لتجنُّب أخطاء التجميع المتعلّقة بالرموز المكرّرة، عليك استبعاد Google Mobile Ads SDK (Legacy) من أن يتم جلبها كملف تابع من قِبل محوّلات التوسّط.

في ملف build.gradle على مستوى التطبيق، استبعِد كلتا الوحدتين play-services-ads و play-services-ads-lite على مستوى العالم من جميع الملفات التابعة:

Kotlin

configurations.configureEach {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

Groovy

configurations.configureEach {
    exclude group: "com.google.android.gms", module: "play-services-ads"
    exclude group: "com.google.android.gms", module: "play-services-ads-lite"
}

التحقّق من فئة محوّل شبكة الإعلانات التي حمّلت الإعلان

في ما يلي عيّنة تعليمات برمجية تسجِّل اسم فئة شبكة الإعلانات لإعلان بانر:

Kotlin

BannerAd.load(
  BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      Log.d(
        "MyApp", "Adapter class name: " +
          ad.getResponseInfo().mediationAdapterClassName
      )
    }
  }
)

جافا

BannerAd.load(
  new BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
  new AdLoadCallback<BannerAd>() {
    @Override
    public void onAdLoaded(@NonNull BannerAd ad) {
      Log.d("MyApp",
          "Adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
    }
  }
);

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

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

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

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