이 페이지에서는 Google 모바일 광고 SDK (베타)를 초기화하는 방법을 설명합니다.
시작하기 전에
Google 모바일 광고 SDK (베타)를 사용하려면 미디에이션 없이 통합하거나 AdMob을 미디에이션 플랫폼으로 사용해야 합니다. 다른 미디에이션 플랫폼은 Google 모바일 광고 SDK (베타)와 호환되지 않습니다.
Google 모바일 광고 SDK (베타)용 빌드 구성
다음 섹션에서는 Google 모바일 광고 SDK (베타)를 구성하는 데 필요한 단계를 보여줍니다.
Google 모바일 광고 SDK (베타) 종속 항목 포함
Google 모바일 광고 SDK (베타)에는 다른 Gradle 종속 항목이 필요합니다. 앱 수준 빌드 파일에서 현재 모바일 광고 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 모바일 광고 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
모듈 제외
미디에이션 어댑터는 현재 모바일 광고 SDK에 계속 종속됩니다. 하지만 Google 모바일 광고 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 모바일 광고 SDK (베타)에는 최소 Android API 수준 24와 컴파일 Android API 수준 34가 필요합니다. 앱 수준 빌드 파일에서 minSdk
및 compileSdk
값을 각각 24 이상 및 34 이상으로 조정합니다.
Google 모바일 광고 SDK (베타) 초기화
Google 모바일 광고 SDK (베타)는 광고를 로드하기 전에 초기화해야 합니다. 초기화가 선택사항이지만 권장되는 현재 모바일 광고 SDK와는 다릅니다. 이전에 광고를 로드하기 전에 SDK를 초기화하지 않았다면 코드를 업데이트합니다.
이 섹션에서는 현재 SDK와 Google 모바일 광고 SDK (베타) 간의 SDK 초기화 구현 차이점을 설명합니다.
AdMob 앱 ID 설정
다음 예에서는 현재 및 Google 모바일 광고 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 모바일 광고 SDK (베타) |
SDK 초기화의 일부로 AdMob 앱 ID를 프로그래매틱 방식으로 제공합니다. Kotlin// 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 모바일 광고 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) {} } } } 자바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 모바일 광고 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(); } } |