SDK را راه اندازی کنید

این صفحه دستورالعمل‌های اولیه‌سازی SDK تبلیغات موبایل Google (بتا) را پوشش می‌دهد.

قبل از شروع

برای استفاده از Google Mobile Ads SDK (بتا)، باید بدون واسطه ادغام کنید یا از AdMob به عنوان پلتفرم میانجی استفاده کنید. سایر پلتفرم‌های میانجی با Google Mobile Ads SDK (بتا) سازگار نیستند.

ساخت خود را برای Google Mobile Ads SDK (بتا) پیکربندی کنید

بخش‌های زیر مراحل لازم برای پیکربندی Google Mobile Ads SDK (بتا) را به شما نشان می‌دهد.

شامل وابستگی Google Mobile Ads SDK (بتا).

Google Mobile Ads SDK (بتا) به وابستگی Gradle متفاوتی نیاز دارد. در فایل ساخت سطح برنامه خود، ارجاع به وابستگی فعلی SDK Ads Mobile را حذف کنید و مصنوع جدید را اضافه کنید.

وابستگی های Gradle
فعلی

کاتلین

dependencies {
  // ...
  implementation("com.google.android.gms:play-services-ads:24.7.0")
}

شیار

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-ads:24.7.0'
}
Google Mobile Ads 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 تبلیغات تلفن همراه فعلی وابسته هستند. با این حال، Google Mobile Ads SDK (بتا) شامل تمام کلاس‌های مورد نیاز آداپتورهای میانجی است. برای جلوگیری از خطاهای کامپایل مربوط به نمادهای تکراری، باید 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")
  }
}

حداقل سطوح Android API را تنظیم و کامپایل کنید

Google Mobile Ads SDK (بتا) به حداقل سطح API Android 24 و سطح API کامپایل Android 34 نیاز دارد. مقادیر minSdk و compileSdk را در فایل ساخت سطح برنامه خود به ترتیب به 24 یا بالاتر و 34 یا بالاتر تنظیم کنید.

راه اندازی SDK تبلیغات موبایل Google (بتا)

Google Mobile Ads SDK (بتا) قبل از بارگیری تبلیغات نیاز به مقداردهی اولیه دارد، تغییری نسبت به SDK تبلیغات تلفن همراه فعلی که در آن مقداردهی اولیه اختیاری است اما توصیه می‌شود. اگر قبلاً قبل از بارگیری تبلیغات، SDK را مقداردهی اولیه نکرده اید، کد خود را به روز کنید.

این بخش تفاوت‌های پیاده‌سازی اولیه SDK بین SDK فعلی و Google Mobile Ads SDK (بتا) را پوشش می‌دهد.

شناسه برنامه AdMob را تنظیم کنید

مثال‌های زیر شناسه برنامه AdMob را در SDK فعلی و Google Mobile Ads (بتا) تنظیم می‌کنند:

فعلی

ادغام به یک برچسب <meta-data> با android:name="com.google.android.gms.ads.APPLICATION_ID" نیاز دارد که حاوی شناسه برنامه AdMob شما در فایل AndroidManifest.xml برنامه شما باشد.

<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>
Google Mobile Ads SDK (بتا)

شناسه برنامه AdMob خود را به‌عنوان بخشی از مقداردهی اولیه SDK به صورت برنامه‌نویسی ارائه کنید.

کاتلین

// Initialize the Google Mobile Ads SDK.
val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build()
MobileAds.initialize(this@MainActivity, initConfig) {}

جاوا

// Initialize Google Mobile Ads SDK (beta).
InitializationConfig initConfig =
    new InitializationConfig.Builder("SAMPLE_APP_ID").build();
MobileAds.initialize(this, initConfig, initializationStatus -> {});

بررسی تغییرات پیاده سازی

مثال‌های زیر کیت توسعه نرم‌افزار فعلی و Google Mobile Ads SDK (بتا) را راه‌اندازی می‌کنند:

فعلی

با MobileAds.initialize() تماس بگیرید تا Google Mobile Ads SDK را مقداردهی کنید. برای کاهش ANR، مقداردهی اولیه روی یک رشته پس‌زمینه توصیه می‌شود.

کاتلین

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();
  }
}
Google Mobile Ads SDK (بتا)

با MobileAds.initialize() تماس بگیرید تا Google Mobile Ads SDK (بتا) را راه اندازی کنید. این باید در یک رشته پس زمینه فراخوانی شود، عدم انجام این کار ممکن است باعث خطای "Application Not Responsing" (ANR) شود.

کاتلین

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 Google Mobile Ads SDK (beta) 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 Google Mobile Ads SDK (beta) 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();
  }
}