App-Öffnen-Anzeigen

Dieser Leitfaden richtet sich an Publisher, die App-Start-Anzeigen über das Google Mobile Ads Android SDK einbinden.

App-Start-Anzeigen sind ein spezielles Anzeigenformat für Publisher, die mit ihren App-Bildschirmen Einnahmen erzielen möchten. App-Start-Anzeigen können jederzeit geschlossen werden und sind so konzipiert, dass sie eingeblendet werden, wenn Nutzer Ihre App in den Vordergrund stellen.

Bei App-Start-Anzeigen wird automatisch ein kleiner Brandingbereich angezeigt, damit Nutzer wissen, dass sie sich in Ihrer App befinden. Hier ein Beispiel für eine App-Start-Anzeige:

Im Folgenden sind die wichtigsten Schritte aufgeführt:

  1. Erweitern Sie die Klasse Application, um das Google Mobile Ads SDK zu initialisieren.
  2. Erstellen Sie eine Dienstprogrammklasse, mit der eine Anzeige geladen wird, bevor Sie sie präsentieren können.
  3. Laden Sie eine Anzeige.
  4. Auf ActivityLifecycleCallbacks. anhören
  5. Die Anzeige einblenden und Callbacks verarbeiten
  6. Implementieren und registrieren Sie die Schnittstelle LifecycleObserver, um eine Anzeige während der Vordergrundereignisse anzuzeigen.

Voraussetzungen

  • Google Mobile Ads SDK 19.4.0 oder höher.
  • Folgen Sie der Einrichtungsanleitung im Startleitfaden.

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen statt Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Am einfachsten laden Sie die Testanzeigen mit der Test-Anzeigenblock-ID für App-Start-Anzeigen:

ca-app-pub-3940256099942544/3419835294

Es wurde speziell für die Rückgabe von Testanzeigen für jede Anfrage konfiguriert und kann in Ihren eigenen Apps beim Codieren, Testen und Debuggen verwendet werden. Ersetzen Sie diese vor dem Veröffentlichen Ihrer App einfach durch Ihre eigene Anzeigenblock-ID.

Weitere Informationen zur Funktionsweise der Testanzeigen des Mobile Ads SDK finden Sie unter Testanzeigen.

Anwendungsklasse erweitern

Erstellen Sie eine neue Klasse, die die Klasse Application erweitert, und fügen Sie den folgenden Code hinzu, um das Google Mobile Ads SDK zu initialisieren.

Java

/** Application class that initializes, loads and show ads when activities change states. */
public class MyApplication extends Application {

  @Override
  public void onCreate() {
    super.onCreate();
    MobileAds.initialize(
        this,
        new OnInitializationCompleteListener() {
          @Override
          public void onInitializationComplete(InitializationStatus initializationStatus) {}
        });
  }
}

Kotlin

/** Application class that initializes, loads and show ads when activities change states. */
class MyApplication : Application() {

  override fun onCreate() {
    super.onCreate()
    MobileAds.initialize(this) {}
  }
}

Dadurch wird das SDK initialisiert und das Skelett vorhanden, in dem Sie sich später für Ereignisse im Vordergrund registrieren.

Fügen Sie als Nächstes den folgenden Code zu AndroidManifest.xml hinzu:

<application
    android:name="com.google.android.gms.example.appopendemo.MyApplication" ...>
...
</application>

Achten Sie darauf, den tatsächlichen Paketnamen anzugeben.

Klasse des Dienstprogramms implementieren

Die Anzeige sollte schnell zu sehen sein. Laden Sie sie am besten, bevor Sie sie präsentieren. So haben Sie eine Anzeige, die ausgeliefert wird, sobald der Nutzer Ihre App öffnet. Implementieren Sie eine Dienstprogrammklasse, damit die Anzeigenanfragen rechtzeitig ausgelöst werden.

Erstellen Sie innerhalb der Klasse MyApplication eine neue Klasse mit dem Namen AppOpenAdManager und füllen Sie sie so aus:

Java

public class MyApplication extends Application {
  ...
  /** Inner class that loads and shows app open ads. */
  private class AppOpenAdManager {
    private static final String LOG_TAG = "AppOpenAdManager";
    private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/3419835294";

    private AppOpenAd appOpenAd = null;
    private boolean isLoadingAd = false;
    private boolean isShowingAd = false;

    /** Constructor. */
    public AppOpenAdManager() {}

    /** Request an ad. */
    private void loadAd(Context context) {
      // We will implement this below.
    }

    /** Check if ad exists and can be shown. */
    private boolean isAdAvailable() {
      return appOpenAd != null;
    }
  }
}

Kotlin

private const val String LOG_TAG = "AppOpenAdManager"
private const val String AD_UNIT_ID = "ca-app-pub-3940256099942544/3419835294"

public class MyApplication extends Application {
  ...
  /** Inner class that loads and shows app open ads. */
  private inner class AppOpenAdManager {
    private var appOpenAd: AppOpenAd? = null
    private var isLoadingAd = false
    var isShowingAd = false

    /** Request an ad. */
    fun loadAd(context: Context) {
      // We will implement this below.
    }

    /** Check if ad exists and can be shown. */
    private fun isAdAvailable(): Boolean {
      return appOpenAd != null
    }
  }
}

Nachdem Sie nun eine Dienstprogrammklasse haben, können Sie sie in Ihrer MyApplication-Klasse instanziieren:

Java

public class MyApplication extends Application {

  private AppOpenAdManager appOpenAdManager;

  @Override
  public void onCreate() {
    super.onCreate();
    MobileAds.initialize(
        this,
        new OnInitializationCompleteListener() {
          @Override
          public void onInitializationComplete(InitializationStatus initializationStatus) {}
        });
    appOpenAdManager = new AppOpenAdManager(this);
  }
}

Kotlin

class MyApplication : Application() {

  private lateinit var appOpenAdManager: AppOpenAdManager

  override fun onCreate() {
    super.onCreate()
    MobileAds.initialize(this) {}
    appOpenAdManager = AppOpenAdManager()
  }
}

Anzeige laden

Als Nächstes füllen Sie die Methode loadAd() aus.

Java

private class AppOpenAdManager {
  ...
  /** Request an ad. */
  public void loadAd(Context context) {
    // Do not load ad if there is an unused ad or one is already loading.
    if (isLoadingAd || isAdAvailable()) {
      return;
    }

    isLoadingAd = true;
    AdRequest request = new AdRequest.Builder().build();
    AppOpenAd.load(
        context, AD_UNIT_ID, request,
        AppOpenAd.APP_OPEN_AD_ORIENTATION_PORTRAIT,
        new AppOpenAdLoadCallback() {
          @Override
          public void onAdLoaded(AppOpenAd ad) {
            // Called when an app open ad has loaded.
            Log.d(LOG_TAG, "Ad was loaded.");
            appOpenAd = ad;
            isLoadingAd = false;
          }

          @Override
          public void onAdFailedToLoad(LoadAdError loadAdError) {
            // Called when an app open ad has failed to load.
            Log.d(LOG_TAG, loadAdError.getMessage());
            isLoadingAd = false;
          }
        });
  }
  ...
}

Kotlin

private inner class AppOpenAdManager {
  ...
  /** Request an ad. */
  fun loadAd(context: Context) {
    // Do not load ad if there is an unused ad or one is already loading.
    if (isLoadingAd || isAdAvailable()) {
      return
    }

    isLoadingAd = true
    val request = AdRequest.Builder().build()
    AppOpenAd.load(
        context, AD_UNIT_ID, request,
        AppOpenAd.APP_OPEN_AD_ORIENTATION_PORTRAIT,
        object : AppOpenAdLoadCallback() {

          override fun onAdLoaded(ad: AppOpenAd) {
            // Called when an app open ad has loaded.
            Log.d(LOG_TAG, "Ad was loaded.")
            appOpenAd = ad
            isLoadingAd = false
          }

          override fun onAdFailedToLoad(loadAdError: LoadAdError) {
            // Called when an app open ad has failed to load.
            Log.d(LOG_TAG, loadAdError.message)
            isLoadingAd = false;
          }
        })
  }
  ...
}

AppOpenAdLoadCallback hat Methoden, die aufgerufen werden, wenn AppOpenAd geladen ist.

Aktuelle Aktivitäten im Blick behalten

Damit die Anzeige ausgeliefert werden kann, ist ein Activity-Kontext erforderlich. Implementiere Application.ActivityLifecycleCallbacks in deiner Application-Klasse, um den Überblick darüber zu behalten, welche Aktivitäten aktuell von deinem Nutzer verwendet werden.

Java

public class MyApplication extends Application implements ActivityLifecycleCallbacks {

  private Activity currentActivity;

  ...

  /** ActivityLifecycleCallback methods. */
  @Override
  public void onActivityCreated(Activity activity, Bundle savedInstanceState) {}

  @Override
  public void onActivityStarted(Activity activity) {
    // Updating the currentActivity only when an ad is not showing.
    if (!appOpenAdManager.isShowingAd) {
      currentActivity = activity;
    }
  }

  @Override
  public void onActivityResumed(Activity activity) {}

  @Override
  public void onActivityStopped(Activity activity) {}

  @Override
  public void onActivityPaused(Activity activity) {}

  @Override
  public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {}

  @Override
  public void onActivityDestroyed(Activity activity) {}
}

Kotlin

class MyApplication : Application(), Application.ActivityLifecycleCallbacks {

  private var currentActivity: Activity? = null

  ...

  /** ActivityLifecycleCallback methods. */
  override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}

  override fun onActivityStarted(activity: Activity) {
    // Updating the currentActivity only when an ad is not showing.
    if (!appOpenAdManager.isShowingAd) {
      currentActivity = activity
    }
  }

  override fun onActivityResumed(activity: Activity) {}

  override fun onActivityPaused(activity: Activity) {}

  override fun onActivityStopped(activity: Activity) {}

  override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}

  override fun onActivityDestroyed(activity: Activity) {}
}

Wenn Sie den Überblick über die aktuelle Aktivität behalten, steht Ihnen ein Kontext für die Auslieferung der Anzeige zur Verfügung. Sie müssen diese Schnittstelle jetzt mit der Methode registerActivityLifecycleCallbacks registrieren.

Java

public class MyApplication extends Application {
  ...
  @Override
  public void onCreate() {
    super.onCreate();
    this.registerActivityLifecycleCallbacks(this);
    MobileAds.initialize(
        this,
        new OnInitializationCompleteListener() {
          @Override
          public void onInitializationComplete(InitializationStatus initializationStatus) {}
        });
    appOpenAdManager = new AppOpenAdManager();
  }
}

Kotlin

class MyApplication : Application() {
  ...
  override fun onCreate() {
    super.onCreate()
    registerActivityLifecycleCallbacks(this)
    MobileAds.initialize(this) {}
    appOpenAdManager = AppOpenAdManager()
  }
}

Mit registerActivityLifecycleCallbacks können Sie alle Activity-Ereignisse überwachen. Indem Sie darauf achten, wann Aktivitäten gestartet und gelöscht werden, können Sie einen Verweis auf die aktuelle Activity erfassen, die Sie dann für die Präsentation Ihrer App-Start-Anzeige verwenden.

Anzeige einblenden und Vollbild-Callback-Ereignisse verarbeiten

Im folgenden Code sehen Sie, wann eine Anzeige ausgeliefert und anschließend neu geladen wird.

Java

public class MyApplication extends Application {
  ...
  /** Interface definition for a callback to be invoked when an app open ad is complete. */
  public interface OnShowAdCompleteListener {
    void onShowAdComplete();
  }

  private class AppOpenAdManager {
    ...

    /** Shows the ad if one isn't already showing. */
    public void showAdIfAvailable(
        @NonNull final Activity activity,
        @NonNull OnShowAdCompleteListener onShowAdCompleteListener){
      // If the app open ad is already showing, do not show the ad again.
      if (isShowingAd) {
        Log.d(LOG_TAG, "The app open ad is already showing.");
        return;
      }

      // If the app open ad is not available yet, invoke the callback then load the ad.
      if (!isAdAvailable()) {
        Log.d(LOG_TAG, "The app open ad is not ready yet.");
        onShowAdCompleteListener.onShowAdComplete();
        loadAd(activity);
        return;
      }

      appOpenAd.fullScreenContentCallback(
          new FullScreenContentCallback {

            @Override
            public void onAdDismissedFullScreenContent() {
              // Called when fullscreen content is dismissed.
              // Set the reference to null so isAdAvailable() returns false.
              Log.d(LOG_TAG, "Ad dismissed fullscreen content.");
              appOpenAd = null;
              isShowingAd = false;

              onShowAdCompleteListener.onShowAdComplete();
              loadAd(activity);
            }

            @Override
            public void onAdFailedToShowFullScreenContent(AdError adError) {
              // Called when fullscreen content failed to show.
              // Set the reference to null so isAdAvailable() returns false.
              Log.d(LOG_TAG, adError.getMessage());
              appOpenAd = null;
              isShowingAd = false;

              onShowAdCompleteListener.onShowAdComplete();
              loadAd(activity);
            }

            @Override
            public void onAdShowedFullScreenContent() {
              // Called when fullscreen content is shown.
              Log.d(LOG_TAG, "Ad showed fullscreen content.");
            }
          });
      isShowingAd = true;
      appOpenAd.show(activity);
    }
    ...
  }
}

Kotlin

class MyApplication : Application() {
  ...
  /** Interface definition for a callback to be invoked when an app open ad is complete. */
  interface OnShowAdCompleteListener {
    fun onShowAdComplete()
  }

  private inner class AppOpenAdManager {
    ...

    /** Shows the ad if one isn't already showing. */
    fun showAdIfAvailable(
        activity: Activity,
        onShowAdCompleteListener: OnShowAdCompleteListener) {
      // If the app open ad is already showing, do not show the ad again.
      if (isShowingAd) {
        Log.d(LOG_TAG, "The app open ad is already showing.")
        return
      }

      // If the app open ad is not available yet, invoke the callback then load the ad.
      if (!isAdAvailable()) {
        Log.d(LOG_TAG, "The app open ad is not ready yet.")
        onShowAdCompleteListener.onShowAdComplete()
        loadAd(activity)
        return
      }

      appOpenAd?.setFullScreenContentCallback(
          object : FullScreenContentCallback() {

            override fun onAdDismissedFullScreenContent() {
              // Called when full screen content is dismissed.
              // Set the reference to null so isAdAvailable() returns false.
              Log.d(LOG_TAG, "Ad dismissed fullscreen content.")
              appOpenAd = null
              isShowingAd = false

              onShowAdCompleteListener.onShowAdComplete()
              loadAd(activity)
            }

            override fun onAdFailedToShowFullScreenContent(adError: AdError) {
              // Called when fullscreen content failed to show.
              // Set the reference to null so isAdAvailable() returns false.
              Log.d(LOG_TAG, adError.message)
              appOpenAd = null
              isShowingAd = false

              onShowAdCompleteListener.onShowAdComplete()
              loadAd(activity)
            }

            override fun onAdShowedFullScreenContent() {
              // Called when fullscreen content is shown.
              Log.d(LOG_TAG, "Ad showed fullscreen content.")
            }
          })
      isShowingAd = true
      appOpenAd?.show(activity)
    }
    ...
  }
}

Mit FullScreenContentCallback werden Ereignisse verarbeitet, z. B. wenn eine Anzeige präsentiert, nicht dargestellt oder geschlossen wird. Wenn ein Nutzer zu Ihrer App zurückkehrt, nachdem er sie durch Klicken auf eine App-Start-Anzeige verlassen hat, wird sichergestellt, dass er keine andere App-Start-Anzeige sieht.

Ereignisse im Vordergrund der App erfassen

Bibliotheken zur Gradle-Datei hinzufügen

Damit du über Vordergrundereignisse in der App informiert wirst, musst du ein LifecycleObserver registrieren. Bearbeiten Sie zuerst die Datei build.gradle auf Anwendungsebene, um die LifecycleObserver-Bibliotheken aufzunehmen:

apply plugin: 'com.android.application'

dependencies {
   implementation 'androidx.appcompat:appcompat:1.3.0'
   implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

   implementation 'com.google.android.gms:play-services-ads:21.1.0'

   def lifecycle_version = "2.3.1"
   implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
   implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
   annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
}

LifecycleObserver-Oberfläche implementieren

Sie können auf Ereignisse im Vordergrund in Ihrer Application-Klasse achten, wenn Sie die Schnittstelle LifecycleObserver implementieren.

Java

public class MyApplication extends Application
    implements ActivityLifecycleCallbacks, LifecycleObserver { {
  ...
  @Override
  public void onCreate() {
    super.onCreate();
    this.registerActivityLifecycleCallbacks(this);
    MobileAds.initialize(
        this,
        new OnInitializationCompleteListener() {
          @Override
          public void onInitializationComplete(InitializationStatus initializationStatus) {}
        });
    ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
    appOpenAdManager = new AppOpenAdManager();
  }

  /** LifecycleObserver method that shows the app open ad when the app moves to foreground. */
  @OnLifecycleEvent(Event.ON_START)
  protected void onMoveToForeground() {
    // Show the ad (if available) when the app moves to foreground.
    appOpenAdManager.showAdIfAvailable(currentActivity);
  }

  /** Show the ad if one isn't already showing. */
  private void showAdIfAvailable(@NonNull final Activity activity) {
      showAdIfAvailable(
          activity,
          new OnShowAdCompleteListener() {
            @Override
            public void onShowAdComplete() {
              // Empty because the user will go back to the activity that shows the ad.
            }
          });
  }
}

Kotlin

class MyApplication : Application(),
    Application.ActivityLifecycleCallbacks, LifecycleObserver {
  ...
  override fun onCreate() {
    super.onCreate()
    registerActivityLifecycleCallbacks(this)
    MobileAds.initialize(this) {}
    ProcessLifecycleOwner.get().lifecycle.addObserver(this)
    appOpenAdManager = AppOpenAdManager()
  }

  /** LifecycleObserver method that shows the app open ad when the app moves to foreground. */
  @OnLifecycleEvent(Lifecycle.Event.ON_START)
  fun onMoveToForeground() {
    // Show the ad (if available) when the app moves to foreground.
    currentActivity?.let {
      appOpenAdManager.showAdIfAvailable(it)
    }
  }

  /** Show the ad if one isn't already showing. */
  fun showAdIfAvailable(activity: Activity) {
    showAdIfAvailable(
        activity,
        object : OnShowAdCompleteListener {
          override fun onShowAdComplete() {
            // Empty because the user will go back to the activity that shows the ad.
          }
        })
  }
}

Wenn Sie LifecycleObserver registrieren, wird Ihre App über App-Start- und Vordergrundereignisse benachrichtigt und kann die Anzeige zum richtigen Zeitpunkt ausliefern.

Ablauf der Anzeigen berücksichtigen

Damit keine abgelaufene Anzeige ausgeliefert wird, fügen Sie in AppOpenAdManager eine Methode hinzu, mit der geprüft wird, wie viel Zeit seit dem Laden der Anzeigenreferenz vergangen ist. Prüfen Sie dann mit dieser Methode, ob die Anzeige noch gültig ist.

Java

private class AppOpenAdManager {
  ...
  /** Keep track of the time an app open ad is loaded to ensure you don't show an expired ad. */
  private long loadTime = 0;

  /** Request an ad. */
  public void loadAd(Context context) {
    // Do not load ad if there is an unused ad or one is already loading.
    if (isLoadingAd || isAdAvailable()) {
      return;
    }

    isLoadingAd = true;
    AdRequest request = new AdRequest.Builder().build();
    AppOpenAd.load(
        context, AD_UNIT_ID, request,
        AppOpenAd.APP_OPEN_AD_ORIENTATION_PORTRAIT,
        new AppOpenAdLoadCallback() {
          @Override
          public void onAdLoaded(AppOpenAd ad) {
            // Called when an app open ad has loaded.
            Log.d(LOG_TAG, "Ad was loaded.");
            appOpenAd = ad;
            isLoadingAd = false;
            loadTime = (new Date()).getTime();
          }

          @Override
          public void onAdFailedToLoad(LoadAdError loadAdError) {
            // Called when an app open ad has failed to load.
            Log.d(LOG_TAG, loadAdError.getMessage());
            isLoadingAd = false;
          }
        });
  }
  ...

  /** Utility method to check if ad was loaded more than n hours ago. */
  private boolean wasLoadTimeLessThanNHoursAgo(long numHours) {
    long dateDifference = (new Date()).getTime() - this.loadTime;
    long numMilliSecondsPerHour = 3600000;
    return (dateDifference < (numMilliSecondsPerHour * numHours));
  }

  /** Check if ad exists and can be shown. */
  public boolean isAdAvailable() {
    return appOpenAd != null && wasLoadTimeLessThanNHoursAgo(4);
  }
}

Kotlin

private inner class AppOpenAdManager {
  ...
  /** Keep track of the time an app open ad is loaded to ensure you don't show an expired ad. */
  private var loadTime: Long = 0

  /** Request an ad. */
  fun loadAd(context: Context) {
    // Do not load ad if there is an unused ad or one is already loading.
    if (isLoadingAd || isAdAvailable()) {
      return
    }

    isLoadingAd = true
    val request = AdRequest.Builder().build()
    AppOpenAd.load(
        context, AD_UNIT_ID, request,
        AppOpenAd.APP_OPEN_AD_ORIENTATION_PORTRAIT,
        object : AppOpenAdLoadCallback() {

          override fun onAdLoaded(ad: AppOpenAd) {
            // Called when an app open ad has loaded.
            Log.d(LOG_TAG, "Ad was loaded.")
            appOpenAd = ad
            isLoadingAd = false
            loadTime = Date().time
          }

          override fun onAdFailedToLoad(loadAdError: LoadAdError) {
            // Called when an app open ad has failed to load.
            Log.d(LOG_TAG, loadAdError.message)
            isLoadingAd = false;
          }
        })
  }
  ...

  private fun wasLoadTimeLessThanNHoursAgo(numHours: Long): Boolean {
    val dateDifference: Long = Date().time - loadTime
    val numMilliSecondsPerHour: Long = 3600000
    return dateDifference < numMilliSecondsPerHour * numHours
  }

  private fun isAdAvailable(): Boolean {
    return appOpenAd != null && wasLoadTimeLessThanNHoursAgo(4)
  }
}

Kaltstart und Bildschirme werden geladen

In der Dokumentation wird davon ausgegangen, dass Sie App-Start-Anzeigen nur dann präsentieren, wenn Nutzer Ihre App vorhersehbar machen, wenn sie im Arbeitsspeicher gesperrt ist. Ein Kaltstart beginnt, wenn Ihre App gestartet, aber nicht zuvor im Arbeitsspeicher gesperrt wurde.

Ein Beispiel für einen Kaltstart ist, wenn ein Nutzer Ihre App zum ersten Mal öffnet. Bei Kaltstarts haben Sie noch keine App-Start-Anzeige, die sofort geladen wird. Die Verzögerung zwischen dem Anfordern einer Anzeige und dem Empfang einer Anzeige kann zu einer Situation führen, in der Nutzer Ihre App kurz verwenden können, bevor sie von einer Anzeige außerhalb des Kontexts überrascht werden. Das sollte vermieden werden, da es sich negativ auf die Nutzererfahrung auswirkt.

App-Start-Anzeigen werden bei Kaltstarts vor allem verwendet, wenn zum Laden des Spiels oder der App-Assets ein Ladebildschirm verwendet wird und die Anzeige nur über den Ladebildschirm ausgeliefert wird. Wenn die App vollständig geladen wurde und der Nutzer zum Hauptinhalt der App weitergeleitet wurde, sollte die Anzeige nicht ausgeliefert werden.

Best Practices

Mit App-Start-Anzeigen können Sie den Ladebildschirm Ihrer App monetarisieren, wenn die App zum ersten Mal gestartet wird und während ein App-Wechsel stattfindet. Es ist aber wichtig, die Best Practices zu berücksichtigen, damit Nutzer Ihre App gerne verwenden. Sie sollten Folgendes tun:

  • Sie können Ihre erste App-Start-Anzeige präsentieren, wenn Nutzer Ihre App einige Male verwendet haben.
  • App-Start-Anzeigen können ausgeliefert werden, wenn Nutzer die App erst nach dem Laden laden würden.
  • Wenn unter der App-Start-Anzeige ein Ladebildschirm zu sehen ist und der Ladevorgang abgeschlossen ist, bevor die Anzeige geschlossen wird, können Sie den Ladebildschirm mit der Methode onAdDismissedFullScreenContent() schließen.

Beispiele auf GitHub