union_ad_ssgf/ios/Classes/Page/FAQRewardVideoPage.swift
2024-10-23 17:03:18 +08:00

109 lines
3.5 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// FAQRewardVideoPage.swift
// Pods
//
// Created by Jin on 10/23/24.
//
import UIKit
import Flutter
//
class FAQRewardVideoPage: FAQBaseAdPage, GDTRewardedVideoAdDelegate {
// 广
var rvad: GDTRewardVideoAd?
//
var customData: String?
//
var userId: String?
// 广
override func loadAd(call: FlutterMethodCall) {
guard let arguments = call.arguments as? [String: Any],
let customData = arguments["customData"] as? String,
let userId = arguments["userId"] as? String,
let playMuted = arguments["playMuted"] as? Bool else {
return
}
self.customData = customData
self.userId = userId
// 广
self.rvad = GDTRewardVideoAd(placementId: self.posId)
self.rvad?.delegate = self
self.rvad?.videoMuted = playMuted
// serverSideVerificationOptions
let ssv = GDTServerSideVerificationOptions()
ssv.userIdentifier = self.userId
ssv.customRewardString = self.customData
self.rvad?.serverSideVerificationOptions = ssv
self.rvad?.load()
}
// MARK: - GDTRewardVideoAdDelegate
func gdt_rewardVideoAdDidLoad(_ rewardedVideoAd: GDTRewardVideoAd) {
print(#function)
if let controller = UIApplication.shared.keyWindow?.rootViewController {
self.rvad?.show(fromRootViewController: controller)
// 广
self.sendEventAction(onAdLoaded)
}
}
func gdt_rewardVideoAdVideoDidLoad(_ rewardedVideoAd: GDTRewardVideoAd) {
print(#function)
}
func gdt_rewardVideoAdWillVisible(_ rewardedVideoAd: GDTRewardVideoAd) {
print(#function)
// 广
self.sendEventAction(onAdPresent)
}
func gdt_rewardVideoAdDidExposed(_ rewardedVideoAd: GDTRewardVideoAd) {
print(#function)
print("广告已曝光")
// 广
self.sendEventAction(onAdExposure)
}
func gdt_rewardVideoAdDidClose(_ rewardedVideoAd: GDTRewardVideoAd) {
print(#function)
print("广告已关闭")
// 广
self.sendEventAction(onAdClosed)
}
func gdt_rewardVideoAdDidClicked(_ rewardedVideoAd: GDTRewardVideoAd) {
print(#function)
print("广告已点击")
// 广
self.sendEventAction(onAdClicked)
}
func gdt_rewardVideoAd(_ rewardedVideoAd: GDTRewardVideoAd, didFailWithError error: Error) {
print(#function)
print("ERROR: \(error.localizedDescription)")
// 广
self.sendErrorEvent(errCode: (error as NSError).code, errMsg: error.localizedDescription)
}
func gdt_rewardVideoAdDidRewardEffective(_ rewardedVideoAd: GDTRewardVideoAd, info: [AnyHashable: Any]) {
print(#function)
if let transId = info["GDT_TRANS_ID"] as? String {
print("播放达到激励条件 transid: \(transId)")
//
let event = FAQAdRewardEvent(adId: self.posId, transId: transId, customData: self.customData!, userId: self.userId!)
self.sendEvent(event)
}
}
func gdt_rewardVideoAdDidPlayFinish(_ rewardedVideoAd: GDTRewardVideoAd) {
print(#function)
print("视频播放结束")
}
}