이 페이지에서는 GMA Next-Gen SDK를 초기화하는 방법을 설명합니다.
시작하기 전에
GMA Next-Gen SDK를 사용하려면 미디에이션 없이 통합하거나 Ad Manager를 미디에이션 플랫폼으로 사용해야 합니다. 다른 미디에이션 플랫폼은 GMA Next-Gen SDK과 호환되지 않습니다.
GMA Next-Gen SDK용 빌드 구성
다음 섹션에서는 GMA Next-Gen SDK를 구성하는 데 필요한 단계를 보여줍니다.
GMA Next-Gen SDK 종속 항목 포함
GMA Next-Gen SDK에는 다른 Gradle 종속 항목이 필요합니다. 앱 수준 빌드 파일에서 현재 모바일 광고 SDK 종속 항목에 대한 참조를 삭제하고 새 아티팩트를 포함합니다.
| Gradle 종속 항목 | |
|---|---|
| 현재 |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.9.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.9.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.9.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta04") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.9.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta04' } |
미디에이션 통합에서 com.google.android.gms 모듈 제외
미디에이션 어댑터는 계속해서 현재 모바일 광고 SDK에 종속됩니다. 하지만 GMA Next-Gen SDK에는 미디에이션 어댑터에 필요한 모든 클래스가 포함됩니다. 중복된 심볼과 관련된 컴파일 오류를 방지하려면 중재 어댑터가 종속 항목으로 가져오지 않도록 현재 모바일 광고 SDK를 제외해야 합니다.
앱 수준 빌드 파일에서 모든 종속 항목에서 play-services-ads 및 play-services-ads-lite 모듈을 전역적으로 제외합니다.
Kotlin
configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
configurations.configureEach { exclude group: "com.google.android.gms", module: "play-services-ads" exclude group: "com.google.android.gms", module: "play-services-ads-lite" }
최소 및 컴파일 Android API 수준 설정
GMA Next-Gen SDK에는 최소 Android API 수준 24와 컴파일 Android API 수준 34가 필요합니다. 앱 수준 빌드 파일에서 minSdk 및 compileSdk 값을 각각 24 이상 및 34 이상으로 조정합니다.
GMA Next-Gen SDK 초기화
GMA Next-Gen SDK는 광고를 로드하기 전에 초기화해야 합니다. 초기화가 선택사항이지만 권장되는 현재 모바일 광고 SDK와는 다릅니다. 이전에 광고를 로드하기 전에 SDK를 초기화하지 않았다면 코드를 업데이트합니다.
이 섹션에서는 현재 버전과 GMA Next-Gen SDK 간의 SDK 초기화 구현 차이점을 설명합니다.
Ad Manager 앱 ID 설정
다음 예에서는 현재 및 GMA Next-Gen SDK에서 Ad Manager 앱 ID를 설정합니다.
| 현재 |
통합에는 앱의 AndroidManifest.xml 파일 내에 Ad Manager 앱 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 초기화의 일부로 Ad Manager 앱 ID를 프로그래매틱 방식으로 제공합니다. Kotlin// Initialize the Google Mobile Ads SDK. val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build() MobileAds.initialize(this@MainActivity, initConfig) {} 자바// Initialize GMA Next-Gen SDK. InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
구현 변경사항 검토
다음 예에서는 current와 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) {} } } } 자바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(); } } |
| GMA Next-Gen SDK |
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(); } } |