このページでは、GMA Next-Gen SDK を初期化する手順について説明します。
始める前に
GMA Next-Gen SDK を使用するには、メディエーションなしで統合するか、メディエーション プラットフォームとしてアド マネージャーを使用する必要があります。他のメディエーション プラットフォームは GMA Next-Gen SDK と互換性がありません。
GMA Next-Gen SDK 用にビルドを構成する
以降のセクションでは、GMA Next-Gen SDK を設定するために必要な手順について説明します。
GMA Next-Gen SDK の依存関係を含める
GMA Next-Gen SDK では、別の Gradle 依存関係が必要です。アプリレベルのビルドファイルで、現在の Mobile Ads SDK の依存関係への参照を削除し、新しいアーティファクトを含めます。
| Gradle の依存関係 | |
|---|---|
| 現在 |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.8.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.8.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.8.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta01") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.8.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta01' } |
メディエーション統合で com.google.android.gms モジュールを除外する
メディエーション アダプタは、引き続き現在の Mobile Ads SDK に依存します。ただし、GMA Next-Gen SDK にはメディエーション アダプタに必要なクラスがすべて含まれています。重複するシンボルに関連するコンパイル エラーを回避するには、メディエーション アダプタによって依存関係として取り込まれないように、現在の Mobile Ads 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 レベルとコンパイル Android API レベルを設定する
GMA Next-Gen SDK では、Android API レベルの最小値が 24、コンパイル Android API レベルが 34 である必要があります。アプリレベルのビルドファイルで、minSdk と compileSdk の値をそれぞれ 24 以上と 34 以上に調整します。
GMA Next-Gen SDK を初期化する
GMA Next-Gen SDK では、広告を読み込む前に初期化が必要です。現在の Mobile Ads SDK では初期化は任意ですが、推奨されています。以前に広告を読み込む前に SDK を初期化していなかった場合は、コードを更新します。
このセクションでは、現在の SDK と GMA Next-Gen SDK の SDK 初期化実装の違いについて説明します。
アド マネージャー アプリ ID を設定する
次の例では、現在と GMA Next-Gen SDK でアド マネージャー アプリ ID を設定しています。
| 現在 |
統合には、アプリの AndroidManifest.xml ファイル内にアド マネージャー アプリ ID を含む <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 の初期化の一部として、アド マネージャー アプリ ID をプログラムで指定します。 Kotlin// Initialize the Google Mobile Ads SDK. val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build() MobileAds.initialize(this@MainActivity, initConfig) {} Java// Initialize GMA Next-Gen SDK. InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
実装の変更を確認する
次の例では、現在の SDK と GMA Next-Gen 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(); } } |
| GMA Next-Gen 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 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. } // 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 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. }); // Other methods on MobileAds can now be called. }) .start(); } } |