البدء

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

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

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

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

تهيئة حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" (إصدار تجريبي)

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

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

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 Google Mobile Ads SDK (beta) 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.
    }
  }
}

Java

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 Google Mobile Ads SDK (beta) 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 في عمليات دمج التوسّط

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

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

configurations {
  all {
    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
      )
    }
  }
)

Java

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());
    }
  }
);

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

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

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

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