Межстраничная реклама с вознаграждением — это тип рекламы с поощрениями, позволяющий предлагать вознаграждения за объявления, которые автоматически появляются во время естественных переходов в приложении. В отличие от рекламы с вознаграждением, пользователям не требуется давать согласие на просмотр такой рекламы. В этом руководстве показано, как интегрировать межстраничные объявления с вознаграждением из Ad Manager в приложение Flutter.
Предварительные требования
- Плагин Flutter версии 1.1.0 или выше.
- Завершите процесс « Начало работы» . В вашем Flutter-приложении уже должен быть импортирован плагин Google Mobile Ads Flutter.
Всегда проводите тестирование с помощью тестовых объявлений.
При разработке и тестировании приложений обязательно используйте тестовые объявления, а не рабочие. Несоблюдение этого правила может привести к блокировке вашего аккаунта.
Самый простой способ загрузить тестовые объявления — использовать наш специальный идентификатор тестового рекламного блока для межстраничных объявлений с вознаграждением:
-
/21775744923/example/rewarded-interstitial
Тестовые рекламные блоки настроены на возврат тестовых объявлений при каждом запросе, и вы можете свободно использовать их в своих приложениях во время кодирования, тестирования и отладки. Просто убедитесь, что вы заменили их на свои собственные идентификаторы рекламных блоков перед публикацией приложения.
Загрузить рекламу
В следующем примере загружается рекламное объявление с вознаграждением:
Замените _adUnitId на идентификатор вашего рекламного блока.
Рекламные мероприятия в межстраничной области с вознаграждением
С помощью FullScreenContentCallback вы можете отслеживать события жизненного цикла, например, показ или закрытие рекламы. Установите RewardedInterstitialAd.fullScreenContentCallback перед показом рекламы, чтобы получать уведомления об этих событиях. В этом примере реализованы оба метода и выведено сообщение в консоль:
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.');
},
);
Показывать рекламу
RewardedInterstitialAd отображается как наложение поверх всего контента приложения и размещается статически; поэтому его нельзя добавить в дерево виджетов Flutter. Вы можете выбрать, когда показывать рекламу, вызвав show() . RewardedInterstitialAd.show() принимает вызов OnUserEarnedRewardCallback , который вызывается, когда пользователь получает награду. Обязательно реализуйте это и вознаграждайте пользователя за просмотр рекламы.
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
После вызова show() отображаемое таким образом Ad нельзя удалить программно, и для этого требуется ввод данных пользователем. Объявление RewardedInterstitialAd может быть показано только один раз. Последующие вызовы функции show будут запускать onAdFailedToShowFullScreenContent .
Рекламное объявление необходимо закрыть, когда доступ к нему больше не требуется. Наилучший способ вызова метода dispose() — использование обработчиков событий FullScreenContentCallback.onAdDismissedFullScreenContent и FullScreenContentCallback.onAdFailedToShowFullScreenContent .
[Необязательно] Проверка обратных вызовов серверной проверки (SSV)
Приложениям, требующим дополнительных данных в коллбэках проверки на стороне сервера, следует использовать функцию пользовательских данных в объявлениях с вознаграждением. Любое строковое значение, заданное для объекта объявления с вознаграждением, передается в параметр запроса custom_data коллбэка SSV. Если значение пользовательских данных не задано, значение параметра запроса custom_data не будет присутствовать в коллбэке SSV.
Приведенный ниже пример кода демонстрирует, как установить параметры SSV после загрузки рекламного объявления с вознаграждением:
Замените SAMPLE_CUSTOM_DATA_STRING на ваши пользовательские данные.