我使用的是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()不再能够成功加载广告视频......
这里的任何帮助都会受到赞赏......我已经没有希望了:(