Heyzap Ad Mediation, работает только для rootviewcontroller

Сегодня я начал использовать Heyzap для интеграции нескольких рекламных сетей в свой проект iOS. Интеграция прошла успешно, как показано на изображении ниже.

Однако у меня возникают проблемы при попытке показать рекламу. Я получаю предупреждающие сообщения о том, что реклама отображается поверх rootviewcontroller и сейчас ее нет в иерархии представлений.

*Warning: Attempt to present <GADInterstitialViewController:    0x14f63d9c0> on <TwentyFour.GameEntranceViewController: 0x14f5094c0> whose view is not in the window hierarchy!*

«GameEntranceViewController — это мой RootViewController»

Как я могу показывать рекламу, если она не для rootViewController? У меня есть мой код ниже, что я сделал не так?

  1. В AppDelegate

    HeyzapAds.startWithPublisherID("publisher_id")
    HZInterstitialAd.fetch()
    
  2. В viewDidLoad или viewDidAppear в контроллере представления, который не является RootViewController.

    if HZInterstitialAd.isAvailable() {
    
      HZInterstitialAd.show()
    
    }
    

Большое спасибо!!! Показан Mediation Test Suite с правильно интегрированными несколькими сетями


person Yanyan    schedule 09.09.2015    source источник


Ответы (1)


Я iOS-инженер в Heyzap. Вы можете создать объект HZShowOptions, установить для него свойство viewController и передать его showWithOptions:

let options:HZShowOptions = HZShowOptions()
options.viewController = self
HZInterstitialAd.showWithOptions(options)
person MaxGabriel    schedule 09.09.2015
comment
Спасибо, что объяснили это. Вы спасатель жизни! - person Chris M; 20.11.2015