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 kliknąć reklamę i przejść do jej 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 zamiast reklam produkcyjnych. Jeśli tego nie zrobisz, Twoje konto może zostać zawieszone.
Najłatwiejszym sposobem wczytywania reklam testowych jest użycie specjalnego identyfikatora jednostki reklamowej testowej w przypadku 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ć w swoich aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj tylko, aby przed opublikowaniem aplikacji zastąpić je własnymi identyfikatorami jednostek reklamowych.
Wczytywanie reklamy
W tym przykładzie wczytywana jest 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ń związanych z cyklem życia, np. wyświetlenia lub zamknięcia reklamy. Ustaw parametr
InterstitialAd.fullScreenContentCallback
przed wyświetleniem reklamy, aby otrzymywać powiadomienia o tych zdarzeniach. W tym przykładzie zaimplementowaliśmy 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
jest wyświetlany jako Overlay
nad całą zawartością aplikacji i jest umieszczony statycznie, więc nie można go dodać do
drzewa widżetów Fluttera. Możesz wybrać, kiedy chcesz wyświetlać reklamę, wywołując funkcję show()
.
_interstitiaAd.show();
Po wywołaniu funkcji show()
wyświetlony w ten sposób element Ad
nie może zostać zamknięty programowo i wymaga działania użytkownika. InterstitialAd
może być wyświetlany tylko raz. Kolejne wywołania funkcji show spowodują wywołanie funkcji onAdFailedToShowFullScreenContent
.
Reklamę należy usunąć, gdy dostęp do niej nie jest już potrzebny. Sprawdzona metoda dotycząca wywoływania funkcji dispose()
polega na używaniu wywołań zwrotnych FullScreenContentCallback.onAdDismissedFullScreenContent
i FullScreenContentCallback.onAdFailedToShowFullScreenContent
.
Znakomicie. Aplikacja jest teraz gotowa do wyświetlania reklam pełnoekranowych.
Dalsze kroki
- Zapoznaj się ze sprawdzonymi metodami dotyczącymi reklam pełnoekranowych i wytycznymi dotyczącymi reklam pełnoekranowych.
- Zapoznaj się z studium przypadku dotyczącym reklam pełnoekranowych.
- Jeśli jeszcze tego nie zrobiono, utwórz własną pełnoekranową jednostkę reklamową w interfejsie AdMob.