تتضمّن هذه الصفحة تعليمات إعداد GMA Next-Gen SDK.
قبل البدء
لاستخدام GMA Next-Gen SDK، يجب إجراء عملية الدمج بدون التوسّط أو استخدام "مدير إعلانات Google" كمنصّة توسّط. لا تتوافق منصّات التوسّط الأخرى مع GMA Next-Gen SDK.
ضبط عملية الإنشاء لحزمة GMA Next-Gen SDK
تعرض الأقسام التالية الخطوات اللازمة لضبط GMA Next-Gen SDK.
تضمين التبعية لـ GMA Next-Gen SDK
يتطلّب GMA Next-Gen SDK تبعية Gradle مختلفة. في ملف الإنشاء على مستوى التطبيق، عليك إزالة الإشارة إلى تبعية Google Mobile Ads SDK (Legacy) وتضمين العنصر الجديد.
| تبعيات Gradle | |
|---|---|
| Google Mobile Ads SDK (Legacy) |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:25.4.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.4.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.4.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.4.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1' } |
استبعاد وحدات com.google.android.gms في عمليات دمج التوسّط
تستمر المحوّلات الخاصة بالتوسّط في الاعتماد على Google Mobile Ads SDK (Legacy). ومع ذلك، GMA Next-Gen SDK تتضمّن جميع الفئات التي تحتاج إليها المحوّلات الخاصة بالتوسّط. لتجنُّب أخطاء التجميع المتعلّقة بالرموز المكرّرة، عليك استبعاد Google Mobile Ads SDK (Legacy) من أن يتم سحبها كملف تابع من قِبل المحوّلات الخاصة بالتوسّط.
في ملف الإنشاء على مستوى التطبيق، عليك استبعاد كلّ من 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 ومستوى واجهة برمجة تطبيقات Android الذي يتم التجميع عليه
GMA Next-Gen SDK تتطلّب الحدّ الأدنى لمستوى واجهة برمجة تطبيقات Android وهو 24، و
مستوى واجهة برمجة تطبيقات Android الذي يتم التجميع عليه وهو 34. عليك تعديل قيمتَي minSdk وcompileSdk في ملف الإنشاء على مستوى التطبيق إلى 24 أو أعلى و34 أو أعلى على التوالي.
إعداد GMA Next-Gen SDK
GMA Next-Gen SDK تتطلّب عملية إعداد قبل تحميل الإعلانات، وهذا يختلف عن Google Mobile Ads SDK (Legacy) التي يكون فيها الإعداد اختياريًا ولكن يُنصح به. عليك تعديل الرمز إذا لم يسبق لك إعداد حزمة SDK قبل تحميل الإعلانات.
يتناول هذا القسم الاختلافات في عملية إعداد حزمة SDK بين Google Mobile Ads SDK (Legacy) و GMA Next-Gen SDK.
ضبط رقم تعريف تطبيق "مدير إعلانات Google"
تضبط الأمثلة التالية رقم تعريف تطبيق "مدير إعلانات Google" في Google Mobile Ads SDK (Legacy) وGMA Next-Gen SDK:
| Google Mobile Ads SDK (Legacy) |
يتطلّب الدمج علامة <manifest> <application> <!-- Sample Ad Manager 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 |
عليك تقديم رقم تعريف تطبيق "مدير إعلانات Google" آليًا كجزء من عملية إعداد حزمة 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 -> {}); |
مراجعة التغييرات في عملية الإعداد
تُعدّ الأمثلة التالية Google Mobile Ads SDK (Legacy) وGMA Next-Gen SDK:
| Google Mobile Ads SDK (Legacy) |
عليك استدعاء 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 Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 InitializationConfig.Builder("SAMPLE_APP_ID").build() ) { // Adapter initialization is complete. } // SDK initialization is complete. If you don't want to wait for bidding adapters to finish // initializing, start loading ads now. } } } 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 Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 new InitializationConfig.Builder("SAMPLE_APP_ID") .build(), initializationStatus -> { // Adapter initialization is complete. }); // SDK initialization is complete. If you don't want to wait for bidding adapters to // finish initializing, start loading ads now. }) .start(); } } |