Reklamy pełnoekranowe z nagrodą (beta)

Reklama pełnoekranowa z nagrodą to typ formatu reklamy zachęcającej do działania, który umożliwia oferowanie nagrody za wyświetlane reklamy. automatycznie podczas naturalnych przechodzenia między aplikacjami. W przeciwieństwie do reklam z nagrodą użytkownicy wymagane do wyświetlenia reklamy pełnoekranowej z nagrodą. Z tego przewodnika dowiesz się, jak zintegrować reklamy pełnoekranowe z nagrodą z Ad Managera w aplikacji Flutter.

Wymagania wstępne

  • Wtyczka Flutter w wersji 1.1.0 lub nowszej.
  • Wykonaj czynności opisane w sekcji Pierwsze kroki. Twoje Aplikacja Flutter powinna już mieć wtyczkę Google Mobile Ads Flutter .

Zawsze korzystaj z reklam testowych

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

Najłatwiejszym sposobem wczytania reklam testowych jest użycie specjalnego identyfikatora testowego reklamy pełnoekranowe z nagrodą:

  • /21775744923/example/rewarded_interstitial

testowe jednostki reklamowe są tak skonfigurowane, aby zwracać reklamy testowe w przypadku każdego żądania; możesz używać ich we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj tylko, aby przed opublikowaniem zastąpić je własnymi identyfikatorami jednostek reklamowych do aplikacji.

Wczytywanie reklamy

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

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardeInterstitialdAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/21775744923/example/rewarded_interstitial';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        adLoadCallback: RewardedInterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _rewardedInterstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('RewardedInterstitialAd failed to load: $error');
          },
        ));
  }
}

Zdarzenia reklam pełnoekranowych z nagrodą

Za pomocą FullScreenContentCallback możesz monitorować cykl życia zdarzenia, np. wyświetlenie lub odrzucenie reklamy. Ustaw RewardedInterstitialAd.fullScreenContentCallback przed wyświetleniem reklamy użytkownikowi otrzymywać powiadomienia o tych wydarzeniach. Ten przykład implementuje każdą metodę, rejestruje komunikat w konsoli:

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardedInterstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/21775744923/example/rewarded_interstitial';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        adLoadCallback: RewardedInterstitialAdLoadCallback(
          // 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.
            _rewardedInterstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugprint('RewardedInterstitialAd failed to load: $error');
          },
        ));
  }
}

Reklama displayowa

RewardedInterstitialAd wyświetla się jako nakładka na całą zawartość aplikacji i jest statycznie rozmieszczona, 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(). RewardedInterstitialAd.show() ma OnUserEarnedRewardCallback, czyli wywoływany, gdy użytkownik zdobędzie nagrodę. Pamiętaj, aby ją zaimplementować i nagrodzić za obejrzenie reklamy.

_rewardedInterstitialAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
  // Reward the user for watching an ad.
});

Po wywołaniu funkcji show() nie można usunąć obiektu Ad wyświetlonego w ten sposób automatycznie i wymaga danych wejściowych użytkownika. Element RewardedInterstitialAd może mieć tylko być wyświetlane tylko raz. Uruchomione będą kolejne wywołania do wyświetlenia onAdFailedToShowFullScreenContent

Reklamę należy wyrzucić, gdy dostęp do niej nie jest już potrzebny. Sprawdzona metoda dotyczące czasu połączenia z użytkownikiem dispose() jest w FullScreenContentCallback.onAdDismissedFullScreenContent i FullScreenContentCallback.onAdFailedToShowFullScreenContent wywołań zwrotnych.

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