Reklama pełnoekranowa

Reklamy pełnoekranowe 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ąć, 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 testuj za pomocą reklam testowych

Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie aktywnych wersji produkcyjnej. Jeśli tego nie zrobisz, Twoje konto może zostać zawieszone.

Najłatwiejszym sposobem wczytywania reklam testowych jest użycie naszego dedykowanego identyfikatora testowej jednostki reklamowej na potrzeby reklam pełnoekranowych:

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Testowe jednostki reklamowe są tak skonfigurowane, aby zwracać reklamy testowe w odpowiedzi na każde żądanie. Możesz ich swobodnie używać w swoich aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj, 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 reklam pełnoekranowych

Za pomocą interfejsu FullScreenContentCallback możesz nasłuchiwać zdarzeń cyklu życia, np. dotyczących wyświetlenia lub zamknięcia reklamy. Przed wyświetleniem reklamy ustaw parametr InterstitialAd.fullScreenContentCallback, aby otrzymywać powiadomienia o tych zdarzeniach. W tym przykładzie implementujemy wszystkie 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 reklam pełnoekranowych

Element InterstitialAd jest wyświetlany jako Overlay nad całą treścią aplikacji i jest umieszczony statycznie. Nie można go więc dodać do drzewa widżetów Flutter. Możesz wybrać, kiedy reklama ma się wyświetlać, dzwoniąc pod numer show().

_interstitiaAd.show();

Po wywołaniu metody show() nie można automatycznie zamknąć wyświetlonego w ten sposób elementu Ad. Wymaga to danych wejściowych użytkownika. Element InterstitialAd można wyświetlić tylko raz. Kolejne wywołania będą aktywować kod onAdFailedToShowFullScreenContent.

Reklamę należy zutylizować, gdy dostęp do niej nie jest już potrzebny. Sprawdzoną metodą wywołania dispose() jest użycie wywołań zwrotnych FullScreenContentCallback.onAdDismissedFullScreenContent i FullScreenContentCallback.onAdFailedToShowFullScreenContent.

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

Dalsze kroki

Uzupełnij przykład na GitHubie

Reklama pełnoekranowa