与Swift 3.0兼容的奖励视频?

时间:2016-09-01 16:17:46

标签: ios swift admob rewardedvideoad

我使用的是Swift 3.0和Xcode 8 Beta 6。 我的应用程序尚未在AppStore上发布。

我想我在这里遗漏了一些东西,但我不知道是什么。我之前使用iAds与其他应用程序没有任何问题。但这是我第一次尝试奖励视频和AdMob。

我按照你的教程在AppDelegate.swift中编写了这段代码:

FIRApp.configure()
GADMobileAds.configure(withApplicationID: "my_app_id_created_on_admob") 
let request = GADRequest()
GADRewardBasedVideoAd.sharedInstance().load(request, withAdUnitID: "my_add_unit_created_on_admob")

然后我在UIViewController中有这个,我在点击按钮时推动。

我希望这个VC在加载时展示有价值的广告。所以我也将其设置为AdMob委托:

override func viewDidLoad() {
    super.viewDidLoad()
    GADRewardBasedVideoAd.sharedInstance().delegate = self
}

我在GADRewardBasedVideoAdDelegate之后声明了这个VC,并在VC的末尾添加了所有这些协议实现:

func rewardBasedVideoAdDidOpen(_ rewardBasedVideoAd: GADRewardBasedVideoAd!) {
 print("rewardBasedVideoAdDidOpen")
 }

 func rewardBasedVideoAdDidClose(_ rewardBasedVideoAd: GADRewardBasedVideoAd!) {
 print("rewardBasedVideoAdDidClose")
 GADRewardBasedVideoAd.sharedInstance().load(GADRequest(), withAdUnitID: "my_add_unit_created_on_admob")
 }

 func rewardBasedVideoAdDidReceive(_ rewardBasedVideoAd: GADRewardBasedVideoAd!) {
 print("rewardBasedVideoAdDidReceive")
 }

 func rewardBasedVideoAdDidStartPlaying(_ rewardBasedVideoAd: GADRewardBasedVideoAd!) {
 print("rewardBasedVideoAdDidStartPlaying")
 }

 func rewardBasedVideoAdWillLeaveApplication(_ rewardBasedVideoAd: GADRewardBasedVideoAd!) {
 print("rewardBasedVideoAdWillLeaveApplication")
 }

 func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd!, didRewardUserWith reward: GADAdReward!) {
 print("Should reward user with \(reward.amount) \(reward.type)")
 }

 func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd!, didFailToLoadWithError error: Error!) {
 print("didFailToLoadWithError")
 GADRewardBasedVideoAd.sharedInstance().load(GADRequest(), withAdUnitID: "my_add_unit_created_on_admob")
 }

有两个问题:

  • 为什么即使我在AdMob信息中心尚未实施任何其他中介网络,某些视频也能正常显示?

  • 为什么在我观看开发设备上显示的视频后没有调用didRewardUserWith?

我在想这可能是正常的,而这个didRewardUserWith函数只会被其他中介网络广告触发。所以我实施了另外3个(AdColony,Chartboost和AppLovin)以检查是否是原因...但是它只是地狱:没有最新的文件,适应者和#34;需要但大部分与最新的AdMob框架不兼容,需要从Obj-C到Swift的桥梁,没有人告诉它......

其他事情:从今天早上开始,我真的不知道为什么,我的GADRewardBasedVideoAd.sharedInstance()不再能够成功加载广告视频......

这里的任何帮助都会受到赞赏......我已经没有希望了:(

0 个答案:

没有答案