ios接入穿山甲【Swift】

1.可接入的广告,点击右下角查看接入文档

https://www.csjplatform.com/union/media/union/download/groMore

2.进入接入文档,选择最新版本进行接入

c 复制代码
    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>

swift 复制代码
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

swift 复制代码
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
     setupTTSDK()
     return
     }

5.调用开屏广告

swift 复制代码
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("开屏广告关闭")
        // 广告关闭后的处理,比如进入主界面
    }
}
相关推荐
Web3&Basketball3 小时前
Meta Muse 816B 实测:两台 Mac 本地跑通
macos·大模型·mac·本地部署·moe·显存优化·meta muse
DevLoom_3 小时前
macOS 27 升级翻车怎么降级?不用终端,2 种方案实测回退旧系统
macos·macos27·mac系统降级·macos安装盘·mac使用技巧
茶底世界之下4 小时前
叶片纹理要多硬?用 Awaking 只加一点清晰度
ios
2501_915106327 小时前
KXApp 的 VS Code 真机调试:按下 Cmd+R 之后发生了什么
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
ii_best8 小时前
安卓手机开发、iOS 手机开发都能用:按键精灵远程调试,设备在千里外也能改脚本
android·ios·智能手机·自动化·按键精灵
向着光芒的女孩8 小时前
【Mac】腾讯视频会议在Mac电脑屏幕共享失败解决方案
macos
开心猴爷1 天前
应对iOS审核4.3:可以使用 IpaGuard 来给属性名混淆的技术细节与平衡之道
后端·ios
iOS开发上架哦1 天前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
后端·ios
_瑞1 天前
APM_KSCrash 原理
ios
あ-1 天前
mac dbeaver安装后显示数据包损坏
macos