1.可接入的广告,点击右下角查看接入文档
https://www.csjplatform.com/union/media/union/download/groMore
2.进入接入文档,选择最新版本进行接入
pod 'Ads-CN-Beta','6.8.0.2'
pod 'GMGdtAdapter-Beta', '4.15.22.0'
pod 'GDTMobSDK','4.15.30'
pod 'KSAdSDK','3.3.74.0'
pod 'GMKsAdapter-Beta', '3.3.74.0'
3.配置
按照要求进行配置
https://www.csjplatform.com/union/media/union/download/detail?id=197&docId=27487&locale=zh-CN&osType=ios
4.初始化sdk
Header中加入#import <BUAdSDK/BUAdSDK.h>
import BUAdSDK // 确保在桥接文件中正确引入
func setupTTSDK() {
let configuration = BUAdSDKConfiguration()
// 设置APPID(替换为你的应用ID)
configuration.appID = "*****"
// 调试日志开关(注意类型转换)
configuration.debugLog = NSNumber(value: true)
// 聚合配置
configuration.useMediation = true
// 隐私合规配置
configuration.mediation.limitPersonalAds = 0 // 直接使用 Int 类型
configuration.mediation.limitProgrammaticAds = 0
configuration.mediation.forbiddenCAID = 0
// 修正初始化方法
BUAdSDKManager.start(syncCompletionHandler: { success, error in
if success {
print("穿山甲SDK初始化成功")
DispatchQueue.main.async {
// 可以在这里开始请求广告
}
} else if let error = error {
print("穿山甲SDK初始化失败: \(error.localizedDescription)")
}
})
}
在AppDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
setupTTSDK()
return
}
5.调用开屏广告
import BUAdSDK
class TestVC: BaseViewController {
private var splashAd: BUSplashAd?
override func viewDidLoad() {
super.viewDidLoad()
loadSplashAd()
}
private func loadSplashAd() {
let slotId = "103***697" // 替换为你的实际广告位ID
let splashAd = BUSplashAd(slotID: slotId, adSize: view.bounds.size)
splashAd.delegate = self
splashAd.loadData()
self.splashAd = splashAd
}
}
extension AppWidgetVC: BUSplashAdDelegate {
func splashAdLoadSuccess(_ splashAd: BUSplashAd) {
self.splashAd?.showSplashView(inRootViewController: self)
}
func splashAdLoadFail(_ splashAd: BUSplashAd, error: BUAdError?) {
print(error)
}
func splashAdRenderSuccess(_ splashAd: BUSplashAd) {}
func splashAdRenderFail(_ splashAd: BUSplashAd, error: BUAdError?) {}
func splashAdWillShow(_ splashAd: BUSplashAd) {
// 广告即将展示时的处理,例如隐藏启动图
}
func splashAdDidShow(_ splashAd: BUSplashAd) {}
func splashAdDidClick(_ splashAd: BUSplashAd) {}
func splashAdDidClose(_ splashAd: BUSplashAd, closeType: BUSplashAdCloseType) {}
func splashAdViewControllerDidClose(_ splashAd: BUSplashAd) {}
func splashDidCloseOtherController(_ splashAd: BUSplashAd, interactionType: BUInteractionType) {}
func splashVideoAdDidPlayFinish(_ splashAd: BUSplashAd, didFailWithError error: (any Error)?) {}
func splashAdDidLoad(_ splashAd: BUSplashAd) {
print("开屏广告加载成功")
}
func splashAd(_ splashAd: BUSplashAd, didFailWithError error: Error?) {
print("开屏广告加载失败: \(error?.localizedDescription ?? "")")
// 加载失败后的处理,比如显示默认启动图或进入主界面
}
func splashAdDidClose(_ splashAd: BUSplashAd) {
print("开屏广告关闭")
// 广告关闭后的处理,比如进入主界面
}
}