Pełnoekranowa

Reklamy pełnoekranowe to reklamy zajmujące cały ekran, które zakrywają interfejs aplikacji, w której się wyświetlają. Wyświetlają się zwykle w naturalnych momentach przejściowych w aplikacji, np. między działaniami lub podczas przerwy między poziomami gry. Gdy aplikacja wyświetla reklamę pełnoekranową, użytkownik może ją kliknąć, aby przejść do miejsca docelowego, lub zamknąć i wrócić do aplikacji.

Z tego przewodnika dowiesz się, jak zintegrować reklamy pośrednie z aplikacją Flutter.

Zawsze testuj reklamy za pomocą reklam testowych

Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie reklam produkcyjnych. Jeśli tego nie zrobisz, możemy zawiesić Twoje konto.

Najłatwiejszym sposobem wczytywania reklam testowych jest użycie dedykowanego identyfikatora jednostki reklamowej testowej dla reklam intersycyjnych:

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Testowe jednostki reklamowe są skonfigurowane tak, aby zwracać reklamy testowe w przypadku każdego żądania. Możesz ich używać w swoich aplikacjach podczas kodowania, testowania i debugowania. Zanim opublikujesz aplikację, pamiętaj, aby zastąpić je własnymi identyfikatorami jednostek reklamowych.

Wczytywanie reklamy

W tym przykładzie wczytuje się reklama pełnoekranowa:

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

Zdarzenia związane z reklamami pełnoekranowymi

Za pomocą FullScreenContentCallback możesz nasłuchiwać zdarzeń cyklu życia, np. gdy reklama jest wyświetlana lub odrzucana. Aby otrzymywać powiadomienia o tych zdarzeniach, przed wyświetleniem reklamy ustaw wartość parametru InterstitialAd.fullScreenContentCallback. W tym przykładzie zastosowano poszczególne metody:

class InterstitialExampleState extends State<InterstitialExample> {
  InterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
             ad.fullScreenContentCallback = FullScreenContentCallback(
                // Called when the ad showed the full screen content.
                onAdShowedFullScreenContent: (ad) {},
                // Called when an impression occurs on the ad.
                onAdImpression: (ad) {},
                // Called when the ad failed to show full screen content.
                onAdFailedToShowFullScreenContent: (ad, err) {
                  // Dispose the ad here to free resources.
                  ad.dispose();
                },
                // Called when the ad dismissed full screen content.
                onAdDismissedFullScreenContent: (ad) {
                  // Dispose the ad here to free resources.
                  ad.dispose();
                },
                // Called when a click is recorded for an ad.
                onAdClicked: (ad) {});

            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('InterstitialAd failed to load: $error');
          },
        ));
  }
}

Wyświetlanie reklamy pełnoekranowej

InterstitialAd jest wyświetlany jako Overlaynad całą zawartością aplikacji i jest umieszczany statycznie, dlatego nie można go dodawać do drzewa widżetów Fluttera. Możesz wybrać, kiedy wyświetlać reklamę, wywołując funkcję show().

_interstitiaAd.show();

Po wywołaniu metody show() wyświetlona w ten sposób wiadomość Ad nie może zostać zamknięta programowo i wymaga podania przez użytkownika danych. InterstitialAd może być wyświetlany tylko raz. Kolejne wywołania do wyświetlania będą wywoływać onAdFailedToShowFullScreenContent.

Reklamę należy usunąć, gdy nie jest już potrzebna. Sprawdzona metoda dotycząca czasu wywołania funkcji dispose() to wywołania zwrotne FullScreenContentCallback.onAdDismissedFullScreenContent i FullScreenContentCallback.onAdFailedToShowFullScreenContent.

Znakomicie. Twoja aplikacja jest teraz gotowa do wyświetlania reklam pełnoekranowych.

Dalsze kroki

Pełny przykład w GitHub

Reklama pełnoekranowa