تتضمّن هذه الصفحة تعليمات حول كيفية إعداد GMA Next-Gen SDK.
قبل البدء
لاستخدام GMA Next-Gen SDK، عليك الدمج بدون التوسّط أو استخدام AdMob كمنصّة للتوسّط. لا تتوافق منصات التوسّط الأخرى مع GMA Next-Gen SDK.
ضبط إعدادات الإصدار لنظام التشغيل GMA Next-Gen SDK
توضّح لك الأقسام التالية الخطوات اللازمة لإعداد GMA Next-Gen SDK.
تضمين تبعية GMA Next-Gen SDK
تتطلّب السمة GMA Next-Gen SDK تبعية Gradle مختلفة. في ملف الإصدار على مستوى التطبيق، أزِل الإشارة إلى مصدر الاعتمادية الحالي لحزمة SDK الخاصة بـ "إعلانات الأجهزة الجوّالة" وأدرِج العنصر الجديد.
| تبعيات Gradle | |
|---|---|
| الخطة الحالية |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.9.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.9.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.9.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta04") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.9.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta04' } |
استبعاد وحدات com.google.android.gms في عمليات دمج التوسّط
ستظلّ برامج التكييف الخاصة بالتوسّط تعتمد على حزمة "SDK لإعلانات الأجهزة الجوّالة" الحالية. ومع ذلك، تتضمّن GMA Next-Gen SDK جميع الفئات التي تتطلّبها محوّلات التوسّط. لتجنُّب أخطاء التجميع المتعلّقة بالرموز المكرّرة، عليك استبعاد حزمة "إعلانات Google على الأجهزة الجوّالة" الحالية من أن يتم جلبها كعنصر تابع من خلال برامج التكيّف الخاصة بالتوسّط.
في ملف الإصدار على مستوى التطبيق، استبعِد كل من الوحدتَين 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" }
ضبط الحد الأدنى لمستويات واجهة برمجة تطبيقات Android ومستوى تجميعها
يتطلّب الإصدار GMA Next-Gen SDK الحد الأدنى من مستوى واجهة برمجة تطبيقات Android وهو 24، كما يتطلّب مستوى واجهة برمجة تطبيقات Android 34 عند التجميع. عدِّل القيمتَين minSdk وcompileSdk في ملف الإصدار على مستوى التطبيق إلى 24 أو أعلى و34 أو أعلى، على التوالي.
إعداد GMA Next-Gen SDK
تتطلّب GMA Next-Gen SDK عملية إعداد قبل تحميل الإعلانات، وهو تغيير عن "حزمة تطوير البرامج (SDK) للإعلانات على الأجهزة الجوّالة" الحالية التي يكون فيها الإعداد اختياريًا ولكن يُنصح به. عدِّل الرمز إذا لم يسبق لك إعداد حزمة SDK قبل تحميل الإعلانات.
يتناول هذا القسم الاختلافات في تنفيذ عملية تهيئة حزمة SDK بين الإصدار الحالي والإصدار GMA Next-Gen SDK.
ضبط معرّف تطبيق AdMob
توضّح الأمثلة التالية كيفية ضبط رقم تعريف تطبيق AdMob في GMA Next-Gen SDK والحساب الحالي:
| الخطة الحالية |
يتطلّب الدمج علامة <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> |
| GMA Next-Gen SDK |
قدِّم معرّف تطبيقك على 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 -> {}); |
مراجعة تغييرات التنفيذ
تعمل الأمثلة التالية على تهيئة السمة الحالية وGMA Next-Gen SDK:
| الخطة الحالية |
استدعِ الدالة 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(); } } |
| GMA Next-Gen SDK |
استدعِ الدالة
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(); } } |