iOS AdMob Reward Video

Я пытаюсь вознаградить пользователя за просмотр видео с помощью AdMob. Хотя я не мог найти учебник по этому вопросу, я нашел эти два класса в документации:

GADRewardBasedVideoAd

GADRewardBasedVideoAdDelegate

Я настроил отображение GADRewardBasedVideoAd со следующим кодом View Controller:

class MarketController: UIViewController, GADRewardBasedVideoAdDelegate { override func viewDidLoad() { super.viewDidLoad() GADRewardBasedVideoAd.sharedInstance().delegate = self let request = GADRequest() // Requests test ads on test devices. request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"] GADRewardBasedVideoAd.sharedInstance().loadRequest(request, withAdUnitID: "ca-app-pub-3940256099942544/4411468910") } // MARK: Daily Reward Button Delegate @IBAction func playVideoClicked() { if GADRewardBasedVideoAd.sharedInstance().ready { GADRewardBasedVideoAd.sharedInstance().presentFromRootViewController(self) } } // MARK: GADRewardBasedVideoAdDelegate func rewardBasedVideoAdDidStartPlaying(rewardBasedVideoAd: GADRewardBasedVideoAd!) { MediaPlayer.pauseBackgroundMusic() print("Reward Video: Started") } func rewardBasedVideoAdDidClose(rewardBasedVideoAd: GADRewardBasedVideoAd!) { MediaPlayer.startBackgroundMusic() requestLoadAd() print("Reward Video: Complete") } func rewardBasedVideoAdWillLeaveApplication(rewardBasedVideoAd: GADRewardBasedVideoAd!) { requestLoadAd() print("Reward Video: Will leave application") } } 

Когда я нажимаю кнопку, чтобы вызвать код в функции «playVideoClicked», я просто вижу регулярный тестовый интерстициальный (без видео), и функция «rewardBasedVideoDidStartPlaying» никогда не вызывается. Однако, когда я закрываю интерстициальную функцию, вызывается функция "rewardBasedVideoAdDidClose". Означает ли это, что я сделал что-то неправильно, или AdMob просто не отображает тестовые видео?

Кроме того, как мне настроить это объявление как награду видео в консоли разработчика AdMob?

Измените request.testDevices = ["2077ef9a63d2b398840261c8221a0c9b"] на request.testDevices = [kGADSimulatorID] и он должен работать.

  • мигающий экран программно с помощью Swift («снят снимок экрана»)
  • Скрыть строку состояния без автоматической настройки рамки навигационной панели
  • Swift - утечка памяти NSContiguousString
  • UIKeyboard не появляется при нажатии на UITextField
  • Swift 3 - Как правильно запустить INStart Workout Intent?
  • Быстрое расширение UIImage
  • Получите инициалы от имени и ограничьте его до 2 инициалов
  • viewForAnnotation путаница и настройка pinColor итеративно
  • Как использовать пространства имен в Swift?
  • Clickable link в TTTAttributedLabel с Swift
  • iOS 11 - Станьте первым ответчиком, не открывая клавиатуру
  • Давайте будем гением компьютера.