Na tej stronie znajdziesz instrukcje dotyczące inicjowania GMA Next-Gen SDK.
Zanim zaczniesz
Aby korzystać z GMA Next-Gen SDK, musisz zintegrować go bez zapośredniczenia lub używać Ad Managera jako platformy zapośredniczenia. Inne platformy zapośredniczenia nie są zgodne z GMA Next-Gen SDK.
Konfigurowanie kompilacji pod kątem GMA Next-Gen SDK
W kolejnych sekcjach znajdziesz informacje o niezbędnych krokach konfigurowania GMA Next-Gen SDK.
Dodawanie zależności pakietu GMA Next-Gen SDK
Pakiet GMA Next-Gen SDK wymaga innej zależności Gradle. W pliku kompilacji na poziomie aplikacji usuń odniesienie do bieżącej zależności pakietu SDK do reklam mobilnych i dodaj nowy artefakt.
| Zależności Gradle | |
|---|---|
| Obecnie |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:25.2.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.2.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.2.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.0.1") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.2.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.0.1' } |
Wykluczanie modułów com.google.android.gms w integracjach zapośredniczenia
Adaptery zapośredniczenia nadal zależą od bieżącego pakietu SDK do reklam mobilnych. Pakiet GMA Next-Gen SDK zawiera jednak wszystkie klasy wymagane przez adaptery zapośredniczenia. Aby uniknąć błędów kompilacji związanych z duplikatami symboli, musisz wykluczyć bieżący pakiet SDK do reklam mobilnych z pobierania jako zależności przez adaptery zapośredniczenia.
W pliku kompilacji na poziomie aplikacji wyklucz globalnie moduły play-services-ads i
play-services-ads-lite ze wszystkich zależności.
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" }
Ustawianie minimalnych i docelowych poziomów interfejsu API Androida
GMA Next-Gen SDK wymaga minimalnego poziomu interfejsu API Androida 24 i docelowego poziomu interfejsu API Androida 34. Dostosuj wartości minSdk i compileSdk w pliku kompilacji na poziomie aplikacji odpowiednio do wartości 24 lub wyższej i 34 lub wyższej.
Inicjowanie GMA Next-Gen SDK
GMA Next-Gen SDK wymaga inicjowania przed wczytaniem reklam. Jest to zmiana w porównaniu z bieżącym pakietem SDK do reklam mobilnych, w którym inicjowanie jest opcjonalne, ale zalecane. Jeśli wcześniej nie inicjowałeś pakietu SDK przed wczytaniem reklam, zaktualizuj kod.
W tej sekcji opisujemy różnice w implementacji inicjowania pakietu SDK między bieżącym pakietem SDK a GMA Next-Gen SDK.
Ustawianie identyfikatora aplikacji Ad Managera
W poniższych przykładach ustawiamy identyfikator aplikacji Ad Managera w bieżącym pakiecie SDK i pakiecie GMA Next-Gen SDK:GMA Next-Gen SDK
| Obecnie |
Integracja wymaga tagu <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 |
Podaj identyfikator aplikacji Ad Managera programowo w ramach inicjowania pakietu SDK. 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 -> {}); |
Sprawdzanie zmian w implementacji
W poniższych przykładach inicjujemy bieżący pakiet SDK i pakiet GMA Next-Gen SDK:
| Obecnie |
Aby zainicjować pakiet SDK do reklam mobilnych Google, wywołaj funkcję 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 |
Aby zainicjować GMA Next-Gen SDK, wywołaj funkcję
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. } // SDK initialization is complete. If you don't want to wait for bidding adapters to finish // initializing, start loading ads now. } } } 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. }); // SDK initialization is complete. If you don't want to wait for bidding adapters to // finish initializing, start loading ads now. }) .start(); } } |