このページでは、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 の依存関係 | |
---|---|
現在 |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
Google Mobile Ads SDK(ベータ版) |
Kotlindependencies { // ... // 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") } Groovydependencies { // ... // 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(ベータ版)には、メディエーション アダプタに必要なすべてのクラスが含まれています。重複するシンボルに関連するコンパイル エラーを回避するには、メディエーション アダプタによって依存関係として取り込まれないように、現在のモバイル広告 SDK を除外する必要があります。
アプリレベルのビルドファイルで、play-services-ads
モジュールと play-services-ads-lite
モジュールの両方をすべての依存関係からグローバルに除外します。
Kotlin
configurations.all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
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(ベータ版)では、最小 Android API レベル 24 とコンパイル Android API レベル 34 が必要です。アプリレベルのビルドファイルで、minSdk
と compileSdk
の値をそれぞれ 24 以上と 34 以上に調整します。
Google Mobile Ads SDK(ベータ版)を初期化する
Google Mobile Ads SDK(ベータ版)では、広告を読み込む前に初期化が必要です。現在の Mobile Ads SDK では初期化は任意ですが推奨されています。以前に広告を読み込む前に SDK を初期化していなかった場合は、コードを更新します。
このセクションでは、現在の Google Mobile Ads SDK(ベータ版)と Google Mobile Ads SDK の初期化実装の違いについて説明します。
AdMob アプリ ID を設定する
次の例では、現在と Google Mobile Ads SDK(ベータ版)で AdMob アプリ ID を設定しています。
現在 |
統合には、アプリの AndroidManifest.xml ファイル内に AdMob アプリ ID を含む <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(ベータ版) |
SDK の初期化の一部として、AdMob アプリ ID をプログラムで指定します。 Kotlin// Initialize the Google Mobile Ads SDK. val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build() MobileAds.initialize(this@MainActivity, initConfig) {} Java// Initialize Google Mobile Ads SDK (beta). InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
実装の変更を確認する
次の例では、現在の Google Mobile Ads SDK(ベータ版)を初期化しています。
現在 |
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(); } } |
Google Mobile Ads 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 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. } } } 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 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(); } } |