Reklama pełnoekranowa z nagrodą to format reklamy zachęcającej użytkownika do jej obejrzenia, który umożliwia oferowanie nagród za oglądanie reklam wyświetlających 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ć reklamy pełnoekranowe z nagrodą z AdMob z aplikacją na platformę Flutter.
Wymagania wstępne
- wtyczkę Flutter w wersji 1.1.0 lub nowszej,
- Kliknij Rozpocznij. W aplikacji Flutter powinien być już zaimportowany wtyczka Google Mobile Ads 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 z nagrodą:
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
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
Poniższy przykład pokazuje, jak wczytać reklamę pełnoekranową z nagrodą:
Zastąp _adUnitId identyfikatorem swojej jednostki reklamowej.
Zdarzenia związane z reklamami pełnoekranowymi z nagrodą
Za pomocą FullScreenContentCallback możesz nasłuchiwać zdarzeń związanych z cyklem życia, np. wyświetlenia lub zamknięcia reklamy. Ustaw parametr
RewardedInterstitialAd.fullScreenContentCallback przed wyświetleniem reklamy, aby otrzymywać powiadomienia o tych zdarzeniach. Ten przykład implementuje każdą metodę i rejestruje w konsoli komunikat:
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 Fluttera.
Możesz wybrać, kiedy chcesz wyświetlać reklamę, wywołując funkcję show().
RewardedInterstitialAd.show() przyjmuje OnUserEarnedRewardCallback, który jest wywoływany, gdy użytkownik zdobędzie nagrodę. Pamiętaj, aby wdrożyć tę funkcję i nagradzać użytkowników za oglądanie reklam.
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
Po wywołaniu funkcji show() reklamy Ad wyświetlane w ten sposób nie można usunąć programowo i wymaga ona interakcji użytkownika. RewardedInterstitialAd może być wyświetlany tylko raz. Kolejne wywołania funkcji show spowodują wywołanie funkcji onAdFailedToShowFullScreenContent.
Reklamę należy usunąć, gdy nie jest już potrzebna. Sprawdzona metoda dotycząca wywoływania funkcji dispose() polega na używaniu wywołań zwrotnych FullScreenContentCallback.onAdDismissedFullScreenContent i FullScreenContentCallback.onAdFailedToShowFullScreenContent.
[Opcjonalnie] Weryfikowanie wywołań zwrotnych weryfikacji po stronie serwera
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 swoimi danymi niestandardowymi.
Pełny przykład w GitHubie
Reklama pełnoekranowa z nagrodą