我已經在我的應用中使用Firebase實施了獎勵視頻。 https://developers.google.com/admob/ios/rewarded-videoFirebase激勵視頻代表方法不叫
我已經導入下面的(關於廣告):
import Firebase
import GoogleMobileAds
class ViewController: UIViewController, MFMailComposeViewControllerDelegate, GKGameCenterControllerDelegate, GADInterstitialDelegate, GADRewardBasedVideoAdDelegate, UIAlertViewDelegate {...}
所以我成立了代表和我加載廣告:
rewardBasedVideo = GADRewardBasedVideoAd.sharedInstance()
rewardBasedVideo.delegate = self
if !adRequestInProgress && rewardBasedVideo?.isReady == false {
GADRewardBasedVideoAd.sharedInstance().delegate = self
rewardBasedVideo?.load(GADRequest(),
withAdUnitID: "ca-app-pub...")
adRequestInProgress = true
}
我照着這個頁面做了一切必要的
我又撥打了廣告,當我按下一個按鈕:
if rewardBasedVideo?.isReady == true {
rewardBasedVideo?.present(fromRootViewController: self)
if !adRequestInProgress && rewardBasedVideo?.isReady == false {
rewardBasedVideo?.load(GADRequest(),
withAdUnitID: "ca-app-pub-3940256099942544/1712485313")
//ca-app-pub-8020832369894951/1361675226
adRequestInProgress = true
}
然後,我把所有的對於委託功能:
func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd,
didRewardUserWith reward: GADAdReward) {
print("You eaerned $\(abbreviateNumber(num: (moneyPerSecond * 360.0) as NSNumber))")
money = UserDefaults.standard.double(forKey: moneyKey)
money += moneyPerSecond * 360.0
UserDefaults.standard.set(money, forKey: moneyKey)
}
func rewardBasedVideoAdDidReceive(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
adRequestInProgress = false
print("Reward based video ad is received.")
}
func rewardBasedVideoAdDidOpen(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
print("Opened reward based video ad.")
}
func rewardBasedVideoAdDidStartPlaying(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
print("Reward based video ad started playing.")
}
func rewardBasedVideoAdDidClose(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
print("Reward based video ad is closed.")
}
func rewardBasedVideoAdWillLeaveApplication(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
print("Reward based video ad will leave application.")
}
func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd,
didFailToLoadWithError error: Error) {
print("Reward based video ad failed to load.")
}
會出現以下情況:我可以加載廣告(在此之後,rewardBasedVideoAdDidReceive運行),我可以觀看廣告,關閉廣告。但是,應該獎勵用戶的功能不會運行。我需要知道爲什麼這不能正確運行,所以我可以正確地獎勵用戶。