این صفحه دستورالعملهای راهاندازی اولیه GMA Next-Gen SDK را پوشش میدهد.
قبل از اینکه شروع کنی
برای استفاده از GMA Next-Gen SDK ، یا باید بدون واسطه ادغام کنید یا از Ad Manager به عنوان پلتفرم واسطه استفاده کنید. سایر پلتفرمهای واسطه با 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 را حذف کرده و مصنوع جدید را اضافه کنید.
| وابستگیهای گرادل | |
|---|---|
| Google Mobile Ads SDK | کاتلینdependencies { // ... implementation("com.google.android.gms:play-services-ads:25.3.0") } گروویdependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.3.0' } |
| GMA Next-Gen SDK | کاتلینdependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.3.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.1.1") } گروویdependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.3.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.1.1' } |
ماژولهای com.google.android.gms را در ادغامهای میانجیگری حذف کنید
آداپتورهای میانجیگری همچنان به Google Mobile Ads SDK وابسته هستند. با این حال، GMA Next-Gen SDK شامل تمام کلاسهای مورد نیاز آداپتورهای میانجیگری است. برای جلوگیری از خطاهای کامپایل مربوط به نمادهای تکراری، باید Google Mobile Ads SDK از وابستگی توسط آداپتورهای میانجیگری مستثنی کنید.
در فایل ساخت سطح برنامه خود، هر دو ماژول play-services-ads و play-services-ads-lite را به صورت سراسری از تمام وابستگیها حذف کنید.
کاتلین
configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
گرووی
configurations.configureEach { 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 قبل از بارگذاری تبلیغات نیاز به مقداردهی اولیه دارد، تغییری نسبت به Google Mobile Ads SDK که در آن مقداردهی اولیه اختیاری است اما توصیه میشود. اگر قبلاً SDK را قبل از بارگذاری تبلیغات مقداردهی اولیه نکردهاید، کد خود را بهروزرسانی کنید.
این بخش تفاوتهای پیادهسازی اولیه SDK بین Google Mobile Ads SDK و GMA Next-Gen SDK را پوشش میدهد.
شناسه برنامه مدیر تبلیغات را تنظیم کنید
مثالهای زیر، شناسه برنامه مدیریت تبلیغات (Ad Manager) را در Google Mobile Ads SDK و GMA Next-Gen SDK تنظیم میکنند:
| Google Mobile Ads SDK | ادغام به یک برچسب <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 | شناسه برنامه مدیریت تبلیغات خود را به صورت برنامهنویسی شده و به عنوان بخشی از مقداردهی اولیه 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 -> {}); |
بررسی تغییرات پیادهسازی
مثالهای زیر Google Mobile Ads SDK و GMA Next-Gen SDK را مقداردهی اولیه میکنند:
| Google Mobile Ads SDK | برای مقداردهی اولیه 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 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. } } } جاوا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 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(); } } |