این صفحه دستورالعملهای راهاندازی اولیه 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 تبلیغات موبایل فعلی را حذف کرده و مصنوع جدید را اضافه کنید.
| وابستگیهای گرادل | |
|---|---|
| فعلی | کاتلینdependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } گروویdependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
| GMA Next Gen SDK | کاتلینdependencies { // ... // 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") } گروویdependencies { // ... // 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 نسل بعدی GMA شامل تمام کلاسهای مورد نیاز آداپتورهای میانجیگری است. برای جلوگیری از خطاهای کامپایل مربوط به نمادهای تکراری، باید SDK فعلی تبلیغات موبایل را از وابستگی توسط آداپتورهای میانجیگری مستثنی کنید.
در فایل ساخت سطح برنامه خود، هر دو ماژول 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") }
گرووی
configurations { all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") } }
حداقل سطح API اندروید را تنظیم و کامپایل کنید
GMA Next Gen SDK به حداقل سطح API اندروید ۲۴ و سطح API کامپایل اندروید ۳۴ نیاز دارد. مقادیر minSdk و compileSdk را در فایل ساخت سطح برنامه خود به ترتیب روی ۲۴ یا بالاتر و ۳۴ یا بالاتر تنظیم کنید.
مقداردهی اولیه GMA Next Gen SDK
GMA Next Gen SDK قبل از بارگذاری تبلیغات نیاز به مقداردهی اولیه دارد، تغییری نسبت به SDK فعلی تبلیغات موبایل که در آن مقداردهی اولیه اختیاری است اما توصیه میشود. اگر قبلاً SDK را قبل از بارگذاری تبلیغات مقداردهی اولیه نکردهاید، کد خود را بهروزرسانی کنید.
این بخش تفاوتهای پیادهسازی مقداردهی اولیه SDK بین SDK فعلی و GMA Next Gen را پوشش میدهد.
شناسه برنامه AdMob را تنظیم کنید
مثالهای زیر شناسه برنامه AdMob را در SDK فعلی و GMA Next Gen تنظیم میکنند:
| فعلی | ادغام نیاز به یک تگ <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 ارائه دهید. کاتلین// Initialize the Google Mobile Ads SDK. val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build() MobileAds.initialize(this@MainActivity, initConfig) {} جاوا// Initialize GMA Next Gen SDK. InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
بررسی تغییرات پیادهسازی
مثالهای زیر SDK فعلی و GMA Next Gen را مقداردهی اولیه میکنند:
| فعلی | برای مقداردهی اولیه SDK تبلیغات موبایلی گوگل، تابع کاتلینimport 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) {} } } } جاواimport 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 | برای مقداردهی اولیه GMA Next Gen SDK، تابع کاتلین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, // 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. } } } جاواimport 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(); } } |