8

我正在使用 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")
 }

来自那里的2个问题:

  • 为什么即使我还没有在 AdMob 控制面板上实施任何其他中介网络,有些视频也能正常显示?

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

我在想可能是正常的,这个didRewardUserWith函数只会被其他中介网络广告触发。因此,我实施了另外 3 个(AdColony、Chartboost 和 AppLovin)来检查这是否是原因……但这只是地狱:没有最新的文档,需要“适配器”,但大多与最新的不兼容AdMob 框架,从 Obj-C 到 Swift 所需的桥梁,无需任何人告诉它......

另一件事:从今天早上开始,我真的不知道为什么,我的 GADRewardBasedVideoAd.sharedInstance() 没有成功加载广告视频了......

这里的任何帮助都将不胜感激......我已经没有希望了:(

4

0 回答 0