На этой странице приведены инструкции по инициализации Google Mobile Ads SDK (бета).
Прежде чем начать
Чтобы использовать 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. В файле сборки на уровне приложения удалите ссылку на текущую зависимость Mobile Ads SDK и включите новый артефакт.
Зависимости 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
из интеграций посредничества
Адаптеры медиации по-прежнему зависят от текущей версии Mobile Ads SDK. Однако Google Mobile Ads SDK (бета) включает все классы, необходимые адаптерам медиации. Чтобы избежать ошибок компиляции, связанных с дублированием символов, необходимо исключить текущую версию Mobile Ads 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 Android
Для Google Mobile Ads SDK (бета-версии) требуется минимальный уровень API Android 24 и уровень API компиляции Android 34. Измените значения minSdk
и compileSdk
в файле сборки уровня приложения на 24 или выше и 34 или выше соответственно.
Инициализация Google Mobile Ads SDK (бета)
Для Google Mobile Ads SDK (бета) требуется инициализация перед загрузкой рекламы. Это отличие от текущей версии Mobile Ads SDK, где инициализация необязательна, но рекомендуется. Обновите код, если вы ранее не инициализировали SDK перед загрузкой рекламы.
В этом разделе рассматриваются различия в реализации инициализации SDK между текущей версией и Google Mobile Ads SDK (бета-версией).
Установите идентификатор приложения AdMob
В следующих примерах задается идентификатор приложения AdMob в текущей версии и Google Mobile Ads 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> |
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 -> {}); |
Обзор изменений в реализации
В следующих примерах инициализируется текущая версия SDK и Google Mobile Ads (бета-версия):
Текущий | Вызовите Котлин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 (бета) | Вызовите Котлин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(); } } |