SDK HeyZap を iOS アプリケーションに統合しています。
IncentivizedAd を fetch() および show() できます。
しかし、コールバック デリゲート関数を使用できません。
3 つの方法 (通知、(HZIncentivizedAd.ShowWithOptions) での完了、および HZAdsDelegate を使用すると、私のクラスで HZIncentivizedAdDelegate が宣言されました) は機能しません。
class GridLigueController: MyViewController, UITableViewDataSource, HZAdsDelegate, HZIncentivizedAdDelegate {
func didShowAdNotificationHandler() {
print("didShowAdNotificationHandler")
}
// Configure with NSNotification Listener
// function called on viewDidLoad
func configureRewardVideo() {
HZIncentivizedAd.setDelegate(self)
NSNotificationCenter.defaultCenter().addObserver(self, selector:#selector(didShowAdNotificationHandler), name:HZMediationDidShowAdNotification, object:nil)
if adRequestInProgress == false && HZIncentivizedAd.isAvailable() == false {
HZIncentivizedAd.fetch()
adRequestInProgress = true
print("[Debug] - adRequestInProgress...")
} else {
print("[Debug] - Reward video not ready : \(adRequestInProgress)")
}
// Completion on showWithOptions
func completion(success: Bool, error: NSError!) -> Void {
if success {
print("success showing an ad")
} else {
print("error showing an ad; error was %@",error)
}
}
func showAd() {
if HZIncentivizedAd.isAvailable() {
let options = HZShowOptions()
options.viewController = self
options.completion = self.completion
HZIncentivizedAd.showWithOptions(options)
print("[Debug] - HZIncentivizedAd video is ready, should be shown")
} else { // show an alert }
}
// Normal Delegate function
func didReceiveAdWithTag(tag: String!) {
print("didReceiveAdWithTag")
}
func didShowAdWithTag(tag: String!) {
print("didShowAdWithTag")
}
func didFailToCompleteAdWithTag(tag: String!) {
print("didFailToCompleteAdWithTag")
}
func didCompleteAdWithTag(tag: String!) {
print("didCompleteAdWithTag")
}
}
初期化するのを忘れましたか?Swift 2.3でXcode 7.3.1を使用しています
私を助けてくれてありがとう