1

趣盟 iOS-SDK 接入文档

使用说明:

建议优先使用 QuMengAdSDK QuMengAdSDK API 前缀使用 "qumeng_" QMAdSDK API 前缀使用 "qm_"

SDK 工程配置及初始化说明

运行环境

自动部署

注意⚠️:我们建议您使用 CocoaPods 更轻松地管理 Xcode 项目的库依赖项,而不是直接下载并安装 SDK。SDK 的依赖项都在提供的文件中,请注意查收。

提醒 如果您获取的SDK版本号和推荐版本号不一致,可尝试按照以下骤执行

手动部署

下载压缩包,将 QuMengAdSDK.xcframework 或者 QMAdSDK.xcframework 添加项目工程中即可完成手动部署。

Xcode 配置

Info.plist 中 添加 Privacy - Tracking Usage Description 权限

Info.plist 中加入

SDK 初始化

注意事项

接入代码

开屏广告

简介

开屏广告使用 QuMengSplashAd 对象管理开屏广告所有业务。开屏广告所有视图的展示和移除将由 SDK 统一管理,开发者无需关心。 接入方式上,使用 QuMengSplashAd 对象调用 loadAdData 方法请求广告,调用 show 方法展示广告,通过设置 QuMengSplashAdDelegate 代理,获取广告加载、渲染、点击、关闭、跳转等回调。

接入代码

广告位对象创建时必须传入广告位ID

广告物料加载成功后,会回调 qumeng_splashAdLoadSuccess 方法,在此处展示开屏广告

开屏回调说明

方法说明
- (void)qumeng_splashAdLoadSuccess:(QuMengSplashAd *)splashAd开屏广告加载成功
- (void)qumeng_splashAdLoadFail:(QuMengSplashAd *)splashAd error:(NSError * _Nullable)error开屏广告加载失败
- (void)qumeng_splashAdDidShow:(QuMengSplashAd *)splashAd开屏广告曝光
- (void)qumeng_splashAdDidClick:(QuMengSplashAd *)splashAd开屏广告点击
- (void)qumeng_splashAdDidClose:(QuMengSplashAd *)splashAd closeType:(enum QuMengSplashAdCloseType)type开屏广告关闭
- (void)qumeng_splashAdVideoDidPlayFinished:(QuMengSplashAd *)splashAd didFailWithError:(NSError *)error开屏广告视频播放结束回调

插屏广告

简介

插屏广告使用 QuMengInterstitialAd 对象管理插屏广告所有业务。插屏广告所有视图的展示和移除将由 SDK 统一管理,开发者无需关心。 接入方式上,使用 QuMengInterstitialAd 对象调用 loadAdData 方法请求广告,调用 show 方法展示广告,通过设置 QuMengInterstitialAdDelegate 代理,获取广告加载、渲染、点击、关闭、跳转等回调。

接入代码

广告位对象创建时必须传入广告位ID

广告物料加载成功后,会回调 qumeng_interstitialAdLoadSuccess 方法,在此处展示开屏广告

插屏回调说明

方法说明
- (void)qumeng_interstitialAdLoadSuccess:(QuMengInterstitialAd *)interstitialAd插屏广告加载成功
- (void)qumeng_interstitialAdLoadFail:(QuMengInterstitialAd *)interstitialAd error:(NSError *)error插屏广告加载失败
- (void)qumeng_interstitialAdDidShow:(QuMengInterstitialAd *)interstitialAd插屏广告曝光
- (void)qumeng_interstitialAdDidClick:(QuMengInterstitialAd *)interstitialAd插屏广告点击
- (void)qumeng_interstitialAdDidClose:(QuMengInterstitialAd *)interstitialAd closeType:(enum QuMengInterstitialAdCloseType)type插屏广告关闭
- (void)qumeng_interstitialAdDidCloseOtherController:(QuMengInterstitialAd *)interstitialAd插屏广告落地页关闭
- (void)qumeng_interstitialAdDidStart:(QuMengInterstitialAd *)rewardedVideoAd插屏广告视频播放开始
- (void)qumeng_interstitialAdDidPause:(QuMengInterstitialAd *)rewardedVideoAd插屏广告视频播放暂停
- (void)qumeng_interstitialAdDidResume:(QuMengInterstitialAd *)rewardedVideoAd插屏广告视频播放继续
- (void)qumeng_interstitialAdVideoDidPlayComplection:(QuMengInterstitialAd *)interstitialAd插屏广告视频播放完成
- (void)qumeng_interstitialAdVideoDidPlayFinished:(QuMengInterstitialAd *)interstitialAd didFailWithError:(NSError *)error插屏广告视频播放异常

激励视频广告

简介

激励视频广告使用 QuMengRewardedVideoAd 对象管理激励视频广告所有业务。激励视频广告所有视图的展示和移除将由 SDK 统一管理,开发者无需关心。 接入方式上,使用 QuMengRewardedVideoAd 对象调用 loadAdData 方法请求广告,调用 show 方法展示广告,通过设置 QuMengRewardedVideoAdDelegate 代理,获取广告加载、渲染、点击、关闭、跳转等回调。

接入代码

广告位对象创建时必须传入广告位ID

广告物料加载成功后,会回调 qumeng_rewardedVideoAdLoadSuccess 方法,在此处展示开屏广告

激励视频回调说明

方法说明
- (void)qumeng_rewardedVideoAdLoadSuccess:(QuMengRewardedVideoAd *)rewardedVideoAd激励视频广告加载成功
- (void)qumeng_rewardedVideoAdLoadFail:(QuMengRewardedVideoAd *)rewardedVideoAd error:(NSError *)error激励视频广告加载失败
- (void)qumeng_rewardedVideoAdDidShow:(QuMengRewardedVideoAd *)rewardedVideoAd激励视频广告曝光
- (void)qumeng_rewardedVideoAdDidClick:(QuMengRewardedVideoAd *)rewardedVideoAd激励视频广告点击
- (void)qumeng_rewardedVideoAdDidClose:(QuMengRewardedVideoAd *)rewardedVideoAd closeType:(enum QuMengRewardedVideoAdCloseType)type激励视频广告关闭
- (void)qumeng_rewardedVideoAdDidCloseOtherController:(QuMengRewardedVideoAd *)rewardedVideoAd落地页关闭
- (void)qumeng_rewardedVideoAdDidRewarded:(QuMengRewardedVideoAd *)rewardedVideoAd激励视频广告激励完成
- (void)qumeng_rewardedVideoAdDidStart:(QuMengRewardedVideoAd *)rewardedVideoAd激励视频广告播放开始
- (void)qumeng_rewardedVideoAdDidPause:(QuMengRewardedVideoAd *)rewardedVideoAd激励视频广告播放暂停
- (void)qumeng_rewardedVideoAdDidResume:(QuMengRewardedVideoAd *)rewardedVideoAd激励视频广告播放继续
- (void)qumeng_rewardedVideoAdVideoDidPlayComplection:(QuMengRewardedVideoAd *)rewardedVideoAd rewarded:(BOOL)isRewarded激励视频广告视频播放完成
- (void)qumeng_rewardedVideoAdVideoDidPlayFinished:(QuMengRewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *)error rewarded:(BOOL)isRewarded激励视频广告视频播放异常

信息流广告

简介

信息流广告使用 QuMengFeedAd 对象管理信息流广告所有业务。 接入方式上,使用 QuMengFeedAd 对象调用 loadAdData 方法请求广告,调用 show 方法展示广告,通过设置 QuMengFeedAdDelegate 代理,获取广告加载、渲染、点击、关闭、跳转等回调。

接入代码

广告位对象创建时必须传入广告位ID

信息流回调说明

方法说明
- (void)qumeng_feedAdLoadSuccess:(QuMengFeedAd *)feedAd信息流广告加载成功
- (void)qumeng_feedAdLoadFail:(QuMengFeedAd *)feedAd error:(NSError *)error信息流广告加载失败
- (void)qumeng_feedAdDidShow:(QuMengFeedAd *)feedAd信息流广告曝光
- (void)qumeng_feedAdDidClick:(QuMengFeedAd *)feedAd信息流广告点击
- (void)qumeng_feedAdDidClose:(QuMengFeedAd *)feedAd信息流广告关闭
- (void)qumeng_feedAdDidCloseOtherController:(QuMengFeedAd *)feedAd信息流落地页关闭
- (void)qumeng_feedAdDidStart:(QuMengFeedAd *)feedAd信息流视频播放开始
- (void)qumeng_feedAdDidPause:(QuMengFeedAd *)feedAd信息流视频播放暂停
- (void)qumeng_feedAdDidResume:(QuMengFeedAd *)feedAd信息流视频播放继续
- (void)qumeng_feedAdVideoDidPlayComplection:(QuMengFeedAd *)feedAd信息流视频播放完成
- (void)qumeng_feedAdVideoDidPlayFinished:(QuMengFeedAd *)feedAd didFailWithError:(NSError *)error信息流视频播放异常

媒体自渲染广告

简介

媒体自渲染广告使用 QuMengNativeAd 对象管理信息流广告所有业务。 接入方式上,使用 QuMengNativeAd 对象调用 loadAdData 方法请求广告,调用 show 方法展示广告,通过设置 QuMengNativeAdDelegate 代理,获取广告加载、渲染、点击、跳转等回调。 自渲染广告需要调用 registerContainer:withClickableViews: 方法,否则回调无法触发

接入代码示例

广告位对象创建时必须传入广告位ID

媒体自渲染回调说明

方法说明
- (void)qumeng_nativeAdLoadSuccess:(QuMengNativeAd *)nativeAd自渲染广告素材加载成功
- (void)qumeng_nativeAdLoadFail:(QuMengNativeAd *)nativeAd error:(NSError *)error自渲染广告素材加载失败
- (void)qumeng_nativeAdDidShow:(QuMengNativeAd *)nativeAd自渲染广告展示
- (void)qumeng_nativeAdDidClick:(QuMengNativeAd *)nativeAd自渲染广告点击
- (void)qumeng_nativeAdDidCloseOtherController:(QuMengNativeAd *)nativeAd自渲染广告落地页关闭
- (void)qumeng_nativeAdDidStart:(QuMengNativeAdAd *)nativeAd自渲染视频播放开始
- (void)qumeng_nativeAdDidPause:(QuMengNativeAdAd *)nativeAd自渲染视频播放暂停
- (void)qumeng_nativeAdDidResume:(QuMengNativeAdAd *)nativeAd自渲染视频播放继续
- (void)qumeng_nativeAdVideoDidPlayComplection:(QuMengNativeAdAd *)nativeAd自渲染视频播放完成
- (void)qumeng_nativeAdVideoDidPlayFinished:(QuMengNativeAdAd *)nativeAd didFailWithError:(NSError *)error自渲染视频播放异常

自渲染摇一摇组件

使用说明

版本要求大于等于 1.3.1,可参考 Demo 中 QMNativeCell 类

自渲染滑一滑组件

使用说明

版本要求大于等于 1.3.2,可参考 Demo 中 QMNativeCell 类

竞价结果通知

提供竞价成功和失败的通知功能,便于广告业务处理。


成功通知

参数说明

参数名称类型描述
auctionSecondPriceNSInteger竞价第二名的价格,单位为分

描述

当竞价成功时调用此方法,告知竞价第二名的出价金额。


失败通知

参数说明

参数名称类型描述
auctionPriceNSInteger胜出者的价格,单位为分
winBidderQuMengWinBidder胜出者对应广告商(可选)
预定义值包括:
- QuMengWinBidderCSJ:穿山甲
- QuMengWinBidderGDT:优量汇
- QuMengWinBidderKuaishou:快手
- QuMengWinBidderBaidu:百度
- QuMengWinBidderQumeng:趣盟
- QuMengWinBidderOther:其他家
如果需要扩展,可以直接传入自定义的字符串
lossReasonQuMengLossReason失败原因(可选)
预定义值包括:
- QuMengLossReasonBaseFilter:底价过滤
- QuMengLossReasonLowBidQuMengLossReason:bid 价格低于最高价
- QuMengLossReasonBlacklist:素材黑名单过滤
- QuMengLossReasonCompetitor:竞品过滤
- QuMengLossReasonNoResponse:在有效时间内未返回广告
- QuMengLossReasonOther:其他
如果需要扩展,可以直接传入自定义的字符串(建议字符串为 > 1000 的数字)

描述

当竞价失败时调用此方法,告知失败原因及胜出者信息

微信小程序/小游戏跳转接入方案

步骤 1:创建移动应用

进入 微信开放平台 创建移动应用,并获取相应的微信 AppID


步骤 2:嵌入最新版 OpenSDK

在移动端嵌入最新版 OpenSDK(仅嵌入即可,无需额外开发工作),并确保版本为 1.8.6 及以上。


步骤 3:关联微信 AppID

趣盟平台 将微信开放平台填写的 AppID 与当前应用进行关联。


步骤 4:更新趣盟 SDK

嵌入并更新趣盟 SDK1.3.1 或以上版本。


注意事项

TopOn聚合平台自定义广告接入文档

简介

Topon自定义广告接入地址:https://help.takuad.com

接入方式

将 QMTopOnSDK.xcframework 集成到项目中

或者使用 CocoaPods 集成

广告类型及服务器配置参数

广告类型广告类名称服务器配置参数
激励视频QMRewardVideoAdapter"slot_id" // 广告栏位
插屏QuMengInterstitialAdapter"slot_id" // 广告栏位
原生QuMengNativeAdapter"slot_id" // 广告栏位
"draw_feed": "1" // 渲染方式 - 模板渲染
"draw_feed": "0" // 渲染方式 - 自渲染
开屏QuMengSplashAdapter"slot_id" // 广告栏位

接口说明

方法名说明备注
getRequestId广告唯一 ID 
getIdeaId创意 ID 
getECPM广告价格单位:分
getTitle广告标题 
getDesc广告副标题 
getLandingPageUrl落地页地址 
getInteractionType广告交互类型1:落地页类型
2:下载类型(包含拉新和拉活)
3:小程序
4:快应用
getImageUrls广告图片链接物料地址
getAppLogoUrl广告创意 Logo 
getAppName广告创意应用名称 
getAppPackageName广告创意包名 
getAppInformation广告六要素信息用于下载合规外显,包括应用版本、开发者信息、隐私协议链接、应用权限链接、应用功能链接
getMediaSize素材宽高图片或视频的宽高
getMaterialType广告物料的类型1:小图
2:大图
3:组图
4:视频
6:开屏
12:激励视频
getVideoDuration视频播放时长 
qmLogoUrl趣盟广告标识(无文字) 
qmTextLogoUrl趣盟广告标识(有文字) 
logoUrl广告封面仅视频物料存在该字段
getExtraInfo扩展信息 

错误码

错误码说明备注
100001无填充,没有合适广告返回导致,偶现属于正常情况- reason: 100 出价未过底价(固价未过栏位底价)
- reason: 101 请求频率过高,建议避免同一时间内高频拉取广告
- reason: 102 无合适广告返回,检查流量提高用户质量。开发测试阶段可添加设备或更换设备,仍无填充可联系运营
- reason: 103 命中平台策略导致无填充,开发测试阶段可联系运营反馈
- reason: 104 命中检索 204 策略导致无填充,开发测试阶段可联系运营反馈
- reason: -1 其它异常
100002服务器错误- reason: 201 检索服务器异常
100003请求失败- reason: 301 请求体解析失败
100004代码位不合法- reason: 401 检查代码位 ID 是否为空字符串或特殊字符。注:新建的代码位需约 10 分钟生效
100005请求包名与媒体包名不一致- reason: 501 实际发起的包名和媒体的包名是否一致。注:若媒体通过趣盟运营创建,可联系趣盟运营协同排查
100006广告请求代码位类型不匹配- reason: 601 例如开屏代码位使用了激励视频方法
200001代码位不能为空检查设置代码位 ID 是否为空
200002无填充命中平台策略导致无填充,开发测试阶段可联系运营反馈
200003网络错误网络连接异常

SDK版本发布记录

版本号日期备注
1.3.42025-04-21新增:信息流模版样式
新增:iOS-CAID脱敏接口
新增:适配新预算链路
优化:开屏广告UI样式
修复:已知问题
1.3.32025-03-07优化:SDK稳定性优化
修复:已知问题
1.3.22025-02-18新增:信息流自渲染滑一滑组件
修复:已知问题
1.3.12025-01-23新增:开屏增加新样式
新增:竞价成功&失败回传
新增:支持小程序预算
修复:已知问题
1.3.02025-01-02重要:调整SDK代码架构,更新为纯OC
新增:开屏支持滑一滑交互
新增:信息流自渲染&模版渲染支持摇一摇
新增:信息流模版渲染支持滑一滑
优化:激励视频广告交互,支持摇一摇
优化:信息流自渲染视频物料接入方式
修复:已知问题
1.2.02024-10-30新增:信息流模板渲染支持自定义尺寸
新增:视频类物料支持事件回调
新增:支持 POD 远程化
优化:广告链路适配新预算
修复:已知问题
1.1.02024-10-12修复:已知问题
优化:SDK 性能优化
1.0.92024-09-20修复:已知问题
1.0.72024-09-04新增:TopOn 适配器
优化:广告交互链路
修复:已知问题
1.0.62024-08-23修复:已知问题
1.0.52024-08-13优化:适配电商预算
修复:链路上报异常问题
1.0.42024-07-29优化:广告交互链路
修复:已知问题导致的崩溃
1.0.32024-05-29新增:支持横版应用广告
修复:已知问题导致的崩溃
1.0.02024-02-21新增:开屏、激励视频、插屏、信息流、自渲染