Inicjowanie pakietu SDK

Na tej stronie znajdziesz instrukcje dotyczące inicjowania pakietu SDK do reklam mobilnych Google (wersja beta).

Zanim zaczniesz

Aby korzystać z pakietu SDK do reklam mobilnych Google (wersja beta), musisz przeprowadzić integrację bez zapośredniczenia lub używać AdMob jako platformy zapośredniczenia. Pozostałe platformy zapośredniczenia nie są zgodne z pakietem SDK do reklam mobilnych Google (wersja beta).

Konfigurowanie kompilacji pod kątem pakietu SDK do reklam mobilnych Google (wersja beta)

W sekcjach poniżej znajdziesz niezbędne czynności do skonfigurowania pakietu SDK do reklam mobilnych Google (wersja beta).

Uwzględnij zależność pakietu SDK do reklam mobilnych Google (wersja beta)

Pakiet SDK do reklam mobilnych Google (wersja beta) wymaga innej zależności 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

Kotlin

dependencies {
  // ...
  implementation("com.google.android.gms:play-services-ads:24.7.0")
}

Zakręcony

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-ads:24.7.0'
}
Pakiet SDK do reklam mobilnych Google (beta)

Kotlin

dependencies {
  // ...
  // 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ęcony

dependencies {
  // ...
  // 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 do reklam mobilnych Google (wersja beta) 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-adsplay-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 do reklam mobilnych Google (wersja beta) wymaga minimalnego poziomu interfejsu Android API 24 i poziomu interfejsu Android API 34 do kompilacji. Dostosuj wartości minSdkcompileSdk w pliku kompilacji na poziomie aplikacji odpowiednio do 24 lub większej i 34 lub większej.

Inicjowanie pakietu SDK do reklam mobilnych Google (beta)

Pakiet SDK do reklam mobilnych Google (wersja beta) wymaga zainicjowania 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 znajdziesz informacje o różnicach w implementacji inicjowania pakietu SDK między obecnym pakietem SDK a pakietem SDK do reklam mobilnych Google (wersja beta).

Ustawianie identyfikatora aplikacji AdMob

W przykładach poniżej ustawiono identyfikator aplikacji AdMob w bieżącej wersji pakietu SDK do reklam mobilnych Google (beta):

Obecnie

Integracja wymaga tagu <meta-data>android:name="com.google.android.gms.ads.APPLICATION_ID" zawierającego identyfikator aplikacji AdMob w pliku AndroidManifest.xml aplikacji.

<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>
Pakiet SDK do reklam mobilnych Google (beta)

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 Google Mobile Ads SDK (beta).
InitializationConfig initConfig =
    new InitializationConfig.Builder("SAMPLE_APP_ID").build();
MobileAds.initialize(this, initConfig, initializationStatus -> {});

Sprawdzanie zmian we wdrożeniu

W tych przykładach zainicjowano bieżący pakiet SDK do reklam mobilnych Google (wersja beta):

Obecnie

Wywołaj MobileAds.initialize(), aby zainicjować pakiet SDK do reklam mobilnych Google. Aby zmniejszyć liczbę błędów ANR, zalecamy inicjowanie w wątku w tle.

Kotlin

import 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) {}
    }
  }
}

Java

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();
  }
}
Pakiet SDK do reklam mobilnych Google (beta) MobileAds

Wywołaj MobileAds.initialize() , aby zainicjować pakiet SDK do reklam mobilnych Google (wersja beta). Tę metodę należy wywoływać w wątku w tle. W przeciwnym razie może wystąpić błąd „Aplikacja nie odpowiada” (ANR).

Kotlin

import 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.
    }
  }
}

Java

import 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();
  }
}