Pełnoekranowa

Reklamy pełnoekranowe zakrywają interfejs aplikacji, w której się wyświetlają. Zwykle wyświetlają się w naturalnych momentach przejściowych w aplikacji, np. między działaniami lub podczas przerwy między poziomami gry. Gdy w aplikacji wyświetli się reklama pełnoekranowa, użytkownik może ją kliknąć i przejść do miejsca docelowego lub zamknąć ją i wrócić do aplikacji.

Z tego przewodnika dowiesz się, jak zintegrować reklamy pełnoekranowe z aplikacją Flutter.

Zawsze korzystaj z reklam testowych

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

Najłatwiejszym sposobem wczytania reklam testowych jest użycie naszego dedykowanego testowego identyfikatora jednostki reklamowej dla reklam pełnoekranowych:

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ć we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj tylko, aby przed opublikowaniem aplikacji zastąpić je własnymi identyfikatorami jednostek reklamowych.

Wczytywanie reklamy

Ten przykład wczytuje reklamę pełnoekranową:

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 reklamy pełnoekranowej

FullScreenContentCallback pozwala rejestrować zdarzenia cyklu życia, np. wyświetlenie lub odrzucenie reklamy. Przed wyświetleniem reklamy ustaw InterstitialAd.fullScreenContentCallback, aby otrzymywać powiadomienia o tych zdarzeniach. Ten przykład implementuje każdą metodę:

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 wyświetla się jako Overlay nad całą zawartością aplikacji i jest statycznie rozmieszczony, więc nie można go dodać do drzewa widżetów Flutter. Możesz wybrać, kiedy wyświetlić reklamę, dzwoniąc pod numer show().

_interstitiaAd.show();

Po wywołaniu funkcji show() obiekt Ad wyświetlany w ten sposób nie może zostać automatycznie zamknięty i wymaga danych wejściowych użytkownika. Element InterstitialAd może zostać wyświetlony tylko raz. Kolejne wywołania wywołają onAdFailedToShowFullScreenContent.

Reklamę należy wyrzucić, gdy dostęp do niej nie jest już potrzebny. Sprawdzoną metodą określającą, kiedy należy wywoływać funkcję dispose(), jest wywoływanie wywołań zwrotnych FullScreenContentCallback.onAdDismissedFullScreenContent i FullScreenContentCallback.onAdFailedToShowFullScreenContent.

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

Dalsze kroki

Kompletny przykład w GitHubie

Reklama pełnoekranowa