Na tej stronie znajdziesz instrukcje inicjowania pakietu GMA Next Gen SDK.
Zanim zaczniesz
Aby korzystać z pakietu GMA SDK nowej generacji, musisz przeprowadzić integrację bez zapośredniczenia lub używać AdMob jako platformy zapośredniczenia. Pozostałe platformy mediacji nie są zgodne z pakietem GMA SDK nowej generacji.
Konfigurowanie kompilacji pod kątem pakietu GMA Next Gen SDK
W sekcjach poniżej znajdziesz niezbędne kroki do skonfigurowania pakietu SDK do reklam mobilnych Google nowej generacji.
Uwzględnij zależność od pakietu GMA Next Gen SDK.
Pakiet SDK do reklam mobilnych Google nowej generacji wymaga innego komponentu Gradle. W pliku kompilacji na poziomie aplikacji usuń odwołanie do bieżącej zależności pakietu SDK do reklam mobilnych i uwzględnij nowy artefakt.
| Zależności Gradle | |
|---|---|
| Obecnie |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } Zakręconydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
| GMA Next Gen 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") } Zakręconydependencies { // ... // 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' } |
Wykluczanie modułów com.google.android.gms w integracjach zapośredniczenia
Adaptery zapośredniczenia nadal zależą od bieżącego pakietu SDK do reklam mobilnych. Jednak pakiet SDK nowej generacji do reklam mobilnych Google zawiera wszystkie klasy wymagane przez adaptery zapośredniczenia. Aby uniknąć błędów kompilacji związanych ze zduplikowanymi symbolami, musisz wykluczyć bieżący pakiet SDK reklam mobilnych z pobierania jako zależności przez adaptery do mediacji.
W pliku kompilacji na poziomie aplikacji wyklucz globalnie z wszystkich zależności moduły play-services-ads i 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") }
Zakręcony
configurations { all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") } }
Ustawianie minimalnego i kompilowanego poziomu interfejsu API Androida
Pakiet SDK GMA nowej generacji wymaga minimalnego poziomu interfejsu Android API 24 i poziomu interfejsu Android API 34 do kompilacji. Dostosuj wartości minSdk i compileSdk w pliku kompilacji na poziomie aplikacji odpowiednio do 24 lub większej i 34 lub większej.
Inicjowanie pakietu GMA Next Gen SDK
Pakiet SDK nowej generacji do reklam mobilnych Google wymaga inicjowania przed wczytaniem reklam. Jest to zmiana w porównaniu z obecnym pakietem SDK do reklam mobilnych, w którym inicjowanie jest opcjonalne, ale zalecane. Jeśli wcześniej nie inicjowano pakietu SDK przed wczytaniem reklam, zaktualizuj kod.
W tej sekcji opisujemy różnice w implementacji inicjowania pakietu SDK między obecnym pakietem SDK a pakietem GMA Next Gen SDK.
Ustawianie identyfikatora aplikacji AdMob
W przykładach poniżej ustawiono identyfikator aplikacji AdMob w bieżącym pakiecie SDK i w pakiecie SDK GMA nowej generacji:
| Obecnie |
Integracja wymaga tagu <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> |
| GMA Next Gen SDK |
Podaj identyfikator aplikacji AdMob 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 we wdrożeniu
W przykładach poniżej pokazujemy, jak zainicjować bieżący pakiet SDK i pakiet SDK GMA nowej generacji:
| Obecnie |
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 |
Wywołaj
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 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 GMA Next Gen SDK 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(); } } |