تتضمّن هذه الصفحة تعليمات إعداد الإصدار التالي من "حزمة تطوير البرامج لإعلانات Google على الأجهزة الجوّالة".
قبل البدء
لاستخدام حزمة تطوير البرامج "الجيل التالي من إعلانات Google على الأجهزة الجوّالة"، عليك إما الدمج بدون توسّط أو استخدام AdMob كمنصّة توسّط. لا تتوافق منصات التوسّط الأخرى مع "حزمة تطوير البرامج (SDK) من الجيل التالي" لإعلانات Google على الأجهزة الجوّالة.
إعداد الإصدار لاستخدام حزمة تطوير البرامج (SDK) من الجيل التالي في "إعلانات Google على الأجهزة الجوّالة"
توضّح لك الأقسام التالية الخطوات اللازمة لضبط إعدادات حزمة تطوير البرامج (SDK) من الجيل التالي لإعلانات Google على الأجهزة الجوّالة.
تضمين الاعتمادية على حزمة تطوير البرامج (SDK) من الجيل التالي من "إعلانات Google على الأجهزة الجوّالة"
تتطلّب حزمة تطوير البرامج (SDK) من الجيل التالي من "إعلانات Google على الأجهزة الجوّالة" اعتمادية مختلفة على Gradle. في ملف الإصدار على مستوى التطبيق، أزِل الإشارة إلى مصدر الاعتمادية الحالي لحزمة SDK الخاصة بـ "إعلانات الأجهزة الجوّالة" وأدرِج العنصر الجديد.
| المهام التابعة في Gradle | |
|---|---|
| ملف |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
| حزمة تطوير البرامج (SDK) من الجيل التالي لإعلانات Google على الأجهزة الجوّالة |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.7.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.7.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01' } |
استبعاد وحدات com.google.android.gms في عمليات دمج التوسّط
ستظلّ برامج التكييف الخاصة بالتوسّط تعتمد على حزمة "SDK لإعلانات الأجهزة الجوّالة" الحالية. ومع ذلك، تتضمّن حزمة تطوير البرامج (SDK) من الجيل التالي من "إعلانات Google على الأجهزة الجوّالة" جميع الفئات التي تتطلّبها محوّلات التوسّط. لتجنُّب أخطاء التجميع المتعلّقة بالرموز المكرّرة، عليك استبعاد حزمة "إعلانات Google على الأجهزة الجوّالة" الحالية من أن يتم جلبها كعنصر تابع من خلال برامج التكيّف الخاصة بالتوسّط.
في ملف الإصدار على مستوى التطبيق، استبعِد كل من الوحدتَين play-services-ads وplay-services-ads-lite على مستوى العالم من جميع التبعيات.
Kotlin
configurations.all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
configurations { all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") } }
ضبط الحد الأدنى لمستويات واجهة برمجة تطبيقات Android ومستوى تجميعها
تتطلّب "حزمة تطوير البرامج (SDK) من الجيل التالي" من "إعلانات Google على الأجهزة الجوّالة" الحدّ الأدنى من مستوى واجهة برمجة التطبيقات 24 لنظام التشغيل Android، ومستوى واجهة برمجة التطبيقات 34 لنظام التشغيل Android عند التجميع. عدِّل القيمتَين minSdk وcompileSdk في ملف الإصدار على مستوى التطبيق إلى 24 أو أعلى و34 أو أعلى، على التوالي.
إعداد حزمة تطوير البرامج "الجيل التالي من إعلانات Google على الأجهزة الجوّالة"
تتطلّب حزمة تطوير البرامج (SDK) من الجيل التالي من "إعلانات Google على الأجهزة الجوّالة" عملية إعداد قبل تحميل الإعلانات، وهذا يختلف عن حزمة تطوير البرامج الحالية "SDK لإعلانات الأجهزة الجوّالة" التي يكون فيها الإعداد اختياريًا ولكن يُنصح به. عدِّل الرمز إذا لم يسبق لك إعداد حزمة SDK قبل تحميل الإعلانات.
يتناول هذا القسم الاختلافات في عملية تنفيذ إعداد حزمة SDK بين الحزمة الحالية وحزمة GMA Next Gen SDK.
ضبط معرّف تطبيق AdMob
تضبط الأمثلة التالية معرّف تطبيق AdMob في الإصدار الحالي من حزمة تطوير البرامج (SDK) والإصدار التالي من حزمة "إعلانات Google على الأجهزة الجوّالة":
| ملف |
يتطلّب الدمج علامة <manifest> <application> <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="SAMPLE_APP_ID"/> </application> </manifest> |
| حزمة تطوير البرامج (SDK) من الجيل التالي لإعلانات Google على الأجهزة الجوّالة |
قدِّم معرّف تطبيقك على AdMob آليًا كجزء من عملية إعداد حزمة SDK. Kotlin// Initialize the Google Mobile Ads SDK. val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build() MobileAds.initialize(this@MainActivity, initConfig) {} Java// Initialize GMA Next Gen SDK. InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
مراجعة تغييرات التنفيذ
تُعدّ الأمثلة التالية الإصدار الحالي من حزمة تطوير البرامج (SDK) والإصدار التالي من "إعلانات Google على الأجهزة الجوّالة":
| ملف |
استدعِ الدالة Kotlinimport 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) {} } } } Javaimport com.google.android.gms.ads.MobileAds; 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 -> {}); }) .start(); } } |
| حزمة تطوير البرامج (SDK) من الجيل التالي لإعلانات Google على الأجهزة الجوّالة |
استدعِ الدالة
Kotlinimport 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, // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 InitializationConfig.Builder("SAMPLE_APP_ID").build() ) { // Adapter initialization is complete. } // Other methods on MobileAds can now be called. } } } Javaimport com.google.android.libraries.ads.mobile.sdk.MobileAds; 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, // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 new InitializationConfig.Builder("SAMPLE_APP_ID") .build(), initializationStatus -> { // Adapter initialization is complete. }); // Other methods on MobileAds can now be called. }) .start(); } } |