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("开屏广告关闭")
        // 广告关闭后的处理,比如进入主界面
    }
}
相关推荐
游戏开发爱好者81 小时前
FTP 抓包分析实战,命令、被动主动模式要点、FTPS 与 SFTP 区别及真机取证流程
运维·服务器·网络·ios·小程序·uni-app·iphone
Nick56834 小时前
Xcode16 避坑
ios
ii_best4 小时前
IOS/ 安卓开发工具按键精灵Sys.GetAppList 函数使用指南:轻松获取设备已安装 APP 列表
android·开发语言·ios·编辑器
2501_915909064 小时前
iOS 26 文件管理实战,多工具组合下的 App 数据访问与系统日志调试方案
android·ios·小程序·https·uni-app·iphone·webview
hweiyu004 小时前
苹果iOS开发零基础特训(视频教程)
ios
William.csj6 小时前
Mac——文件夹压缩的简便方法
macos
北冥有鱼被烹6 小时前
【问题】Mac 的 Finder 中没有桌面选项如何处理?(访达 -> 设置 -> 边栏 -> 勾选桌面)
macos
wenxiaocsdn9 小时前
macos虚拟机-演示篇三配置clover引导
macos
迷路爸爸18011 小时前
源码编译安装最新 tmux 教程(含 Debian/Ubuntu/CentOS/Arch/macOS 等系统)
linux·ubuntu·macos·centos·debian·tmux·archlinux
xingxing_F11 小时前
Rhino 8 for Mac 犀牛3D建模软件
macos·3d