Reklama pełnoekranowa z nagrodą to format reklamy zachęcającej użytkownika do jej obejrzenia. Umożliwia uzyskanie nagród za oglądanie reklam, które wyświetlają się automatycznie w naturalnych momentach przejściowych w aplikacji. W przeciwieństwie do reklam z nagrodą użytkownicy nie muszą wyrazić zgody na wyświetlenie reklamy pełnoekranowej z nagrodą. Z tego przewodnika dowiesz się, jak zintegrować pełnoekranowe reklamy z nagrodą z AdMob z aplikacją Flutter.
Wymagania wstępne
Zanim przejdziesz dalej, wykonaj te czynności:
- Zainstaluj wtyczkę Flutter w wersji 1.1.0 lub nowszej.
- Skonfiguruj Google Mobile Ads Flutter Plugin. Aplikacja Flutter musi mieć zaimportowany pakiet Google Mobile Ads Flutter Plugin.
Zawsze testuj za pomocą reklam testowych
Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie aktywnych reklam produkcyjnych. 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 dla reklam pełnoekranowych z nagrodą:
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
Testowe jednostki reklamowe są skonfigurowane tak, aby zwracały reklamy testowe w przypadku każdego żądania. Możesz ich używać we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj, aby przed opublikowaniem aplikacji zastąpić je własnymi identyfikatorami jednostek reklamowych.
Wczytywanie reklamy
Poniższy przykład wczytuje reklamę pełnoekranową z nagrodą:
Zastąp ciąg _adUnitId identyfikatorem swojej jednostki reklamowej.
Zdarzenia reklam pełnoekranowych z nagrodą
Za pomocą FullScreenContentCallback możesz nasłuchiwać zdarzeń cyklu życia, np. wyświetlenia lub zamknięcia reklamy. Aby otrzymywać powiadomienia o tych zdarzeniach, ustaw RewardedInterstitialAd.fullScreenContentCallback przed wyświetleniem reklamy. W tym przykładzie implementujemy każdą metodę i rejestrujemy komunikat w konsoli:
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdShowedFullScreenContent: (ad) {
// Called when the ad showed the full screen content.
debugPrint('Ad showed full screen content.');
},
onAdFailedToShowFullScreenContent: (ad, err) {
// Called when the ad failed to show full screen content.
debugPrint('Ad failed to show full screen content with error: $err');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdDismissedFullScreenContent: (ad) {
// Called when the ad dismissed full screen content.
debugPrint('Ad was dismissed.');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdImpression: (ad) {
// Called when an impression occurs on the ad.
debugPrint('Ad recorded an impression.');
},
onAdClicked: (ad) {
// Called when a click is recorded for an ad.
debugPrint('Ad was clicked.');
},
);
Reklama displayowa
RewardedInterstitialAd jest wyświetlany jako nakładka na całą zawartość aplikacji i jest umieszczony statycznie, więc nie można go dodać do drzewa widżetów Flutter.
Możesz wybrać, kiedy chcesz wyświetlać reklamę, wywołując metodę show().
Metoda RewardedInterstitialAd.show() przyjmuje obiekt OnUserEarnedRewardCallback, który jest wywoływany, gdy użytkownik otrzyma nagrodę. Pamiętaj, aby wdrożyć tę funkcję i nagradzać użytkowników za obejrzenie reklamy.
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
Po wywołaniu metody show() element Ad wyświetlany w ten sposób nie może zostać usunięty programowo i wymaga działania użytkownika. RewardedInterstitialAd może wyświetlić się tylko raz. Kolejne wywołania metody show będą powodować wywołanie metody onAdFailedToShowFullScreenContent.
Reklamę należy usunąć, gdy dostęp do niej nie jest już potrzebny. Zgodnie ze sprawdzonymi metodami metodę dispose() najlepiej wywoływać w wywołaniach zwrotnych FullScreenContentCallback.onAdDismissedFullScreenContent i FullScreenContentCallback.onAdFailedToShowFullScreenContent.
[Opcjonalnie] Sprawdzanie wywołań zwrotnych weryfikacji po stronie serwera (SSV)
Aplikacje, które wymagają dodatkowych danych w wywołaniach zwrotnych weryfikacji po stronie serwera, powinny korzystać z funkcji danych niestandardowych w reklamach z nagrodą. Każda wartość ciągu znaków ustawiona w obiekcie reklamy z nagrodą jest przekazywana do parametru zapytania custom_data wywołania zwrotnego SSV. Jeśli nie ustawisz wartości danych niestandardowych, wartość parametru zapytania custom_data nie będzie obecna w wywołaniu zwrotnym SSV.
Poniższy przykładowy kod pokazuje, jak ustawić opcje SSV po wczytaniu reklamy pełnoekranowej z nagrodą:
Zastąp SAMPLE_CUSTOM_DATA_STRING danymi niestandardowymi.
Kompletny przykład na GitHubie
Pełny przykład znajdziesz w wersji demonstracyjnej interfejsu API.