ksAdLive
概述
本模块封装了快手联盟SDK
注意:本模块 iOS 平台上最低适配系统版本为 iOS 9.0
Android中:请求⼴告数据前,请务必申请IMEI权限,否则会造成下发下载类⼴告的数据⽆法正常下发,影响⼴告计费追踪。所以强烈建议媒体在通过SDK请求⼴告前,先申请获取IMEI权限。
iOS kss文件
开发者需要到[快手终端安全平台] (https://endpoint-security.corp.kuaishou.com/security_sdk/project/outside)进行申请账号,提交项目的bunldle id后,会得到一个对应的加密文件video_yh_loading_icon.kss以及相应的appkey和wbindex信息。
资源包文件制作方法如下:
下载 ksAdLiveAppendix 模块 zip 包并解压,把 zip 包内 target 目录下的 video_yh_loading_icon.kss文件替换为自己申请的video_yh_loading_icon.kss文件。然后重新压缩为 zip 包文件上传自定义模块,云编译时勾选该模块。
在 iOS 平台需配置 白名单。 配置如下:
<preference name="querySchemes" value="kwai,ksnebula" />
iOS使用此模块前需先配置 config.xml文件,方法如下:
- 名称:ksAdLive
- 参数:urlScheme
- 配置示例:
<feature name="ksAdLive">
<param name="urlScheme" value="kwai.union" />
</feature>
- 字段描述:
urlScheme:(必须配置)kwai.union
init
初始化
init(params)
params
appId:
- 参数:字符串类型
描述:应用id,快手平台申请
appKey:
参数:字符串类型
- 描述:appKey
wbIndex:
- 参数:字符串类型
- 描述:wbIndex
callback(ret,err)
ret:
- 类型:JSON对象
- 内部字段:
{
status:, //布尔类型;是否初始化成功
}
err:
- 类型:JSON对象
- 内部字段
{
msg:'', //字符串类型;错误信息
}
示例代码
var ksAdLive = api.require('ksAdLive');
var params = {
appId:'',
appKey:'',
wbIndex:''
};
ksAdLive.init(params);
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
loadRewardedAd
加载激励视频广告
loadRewardedAd(params,callback(ret))
params
posId:
- 类型:字符串
- 描述:广告位ID
showDirection:
- 类型:数字
- 描述:(可选项)显示方向;0:竖屏,1:横屏
- 默认:0
userID:
- 类型:字符串
- 描述:用户id
rewardName:
- 类型:字符串
- 描述:(可选项)奖励名称
- 默认值:金币
rewardAmount:
- 类型:数字
- 描述:(可选项)奖励数量
extra:
- 类型:字符串
- 描述:(可选项)附加参数
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType:'', //字符串类型;事件回调,取值范围如下:
//loadRewardedAdVideoAdDidLoad:视频广告素材成功加载
//loadRewardedAdVideoAdDidFail:视频广告素材无法加载
//loadRewardedAdVideoAdVideoDidLoad:成功缓存,收到此回调可展示
//loadRewardedAdVideoAdWillVisible:视频广告位将显示 (仅iOS支持)
//loadRewardedAdVideoAdDidVisible:视频广告位已经显示 (仅iOS支持)
//loadRewardedAdVideoAdWillClose:视频广告即将关闭 (仅iOS支持)
//loadRewardedAdVideoAdDidClose:视频广告已经关闭 (仅iOS支持) //loadRewardedAdVideoAdDidClick:点击视频广告
//loadRewardedAdVideoAdDidPlayFinish:视频广告播放完成
//loadRewardedAdVideoAdDidPlayFail:视频广告播放发生错误
//loadRewardedAdVideoAdDidClickSkip:用户单击跳过按钮(仅iOS支持)
//loadRewardedAdVideoAdStartPlay:视频开始播放
//loadRewardedAdVideoAdHasReward:用户关闭视频广告
//rewardVerify:激励视频获取奖励(仅android支持)
hasReward:true //布尔类型;是否有奖励,用户关闭视频广告时返回(仅iOS支持)
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.loadRewardedAd({
posId:'',
userID:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
showRewardedAd
显示激励视频广告
params
showDirection:
- 类型:数字
- 描述:(可选项)显示方向;0:竖屏,1:横屏(仅android支持)
- 默认:0
showRewardedAd(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;是否成功,true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: '' //字符串类型;错误信息
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.showRewardedAd(function(ret,err) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
loadFullScreenVideoAd
加载全屏广告
loadFullScreenVideoAd(params,callback(ret))
params
posId:
- 类型:字符串
- 描述:广告位ID
showDirection:
- 类型:数字
- 描述:(可选项)显示方向;0:竖屏,1:横屏
- 默认:0
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType:'', //字符串类型;事件回调,取值范围如下:
//fullscreenVideoAdDidLoad:视频广告素材成功加载
//fullscreenVideoAdDidFail:视频广告素材无法加载
//fullscreenVideoAdVideoDidLoad:成功缓存,收到此回调可展示
//fullscreenVideoAdWillVisible:视频广告位将显示(仅iOS支持)
//fullscreenVideoAdDidVisible:视频广告位已经显示(仅iOS支持)
//fullscreenVideoAdWillClose:视频广告即将关闭(仅iOS支持)
//fullscreenVideoAdDidClose:视频广告已经关闭
//fullscreenVideoAdDidClick:点击视频广告
//fullscreenVideoAdDidPlayFinish:视频广告播放完成
//fullscreenVideoAdDidPlayFail:视频广告播放发生错误
//fullscreenVideoAdDidClickSkip:用户单击跳过按钮
//fullscreenVideoAdStartPlay:视频开始播放
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.loadFullScreenVideoAd({
posId:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
showFullScreenVideoAd
显示激励视频广告
showFullScreenVideoAd(callback(ret,err))
params
showDirection:
- 类型:数字
- 描述:(可选项)显示方向;0:竖屏,1:横屏(仅android支持)
- 默认:0
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔类型;是否成功,true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: '' //字符串类型;错误信息
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.showFullScreenVideoAd(function(ret,err) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
loadDrawAd
加载Draw广告
loadDrawAd(params,callback(ret))
params
posId:
- 类型:字符串
- 描述:广告位ID
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType:'', //字符串类型;事件回调,取值范围如下:
//drawAdsSuccessToLoad:广告加载成功,得到此回调后可进行open
//drawAdsLoadError:广告加载失败
//drawAdViewWillShow:广告展示
//drawAdDidClick:广告点击
//drawAdDidShowOtherController:广告跳转落地页(仅iOS支持)
//drawAdDidCloseOtherController:广告关闭落地页(仅iOS支持)
//drawAdVideoDidStart:视频开始播放
//drawAdVideoDidPause:视频暂停播放
//drawAdVideoDidResume:视频恢复播放
//drawAdVideoDidStop:视频停止播放
//drawAdVideoDidFailed:视频播放失败
interactionType:0,//数字类型;落地页类型;广告跳转落地页、广告关闭落地页时返回(仅iOS支持)
//取值范围:
//0:unknown type
//1:open downlaod page in app
//2:open webpage in app
//3:open deeplink
//4:open appstore
finished:true. //布尔类型;是否播放完成(仅iOS支持)
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.loadDrawAd({
posId:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
openDrawAd
打开Draw广告
openDrawAd(params)
params
rect:
- 类型:JSON对象
- 描述:(可选项)位置及长宽
{
x: 0, //(可选项)数字类型;播放画面 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;播放画面 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;iOS支持设置'auto';播放画面宽(相对于所属的 Window 或 Frame);默认值:屏幕宽度
h: 300, //(可选项)数字类型;iOS支持设置'auto';播放画面高(相对于所属的 Window 或 Frame);默认值:屏幕高度
}
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.openDrawAd({
rect:{}
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
closeDrawAd
关闭Draw广告
closeDrawAd()
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.closeDrawAd();
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
loadFeedAd
加载Feed广告
loadFeedAd(params,callback(ret))
params
posId:
- 类型:字符串
- 描述:广告位ID
size:
- 类型:JSON对象
- 描述:(可选项)长宽
{
w: 320, //(可选项)数字类型;播放画面宽(相对于所属的 Window 或 Frame);默认值:屏幕宽度
h: 300, //(可选项)数字类型;播放画面高(相对于所属的 Window 或 Frame);默认值:屏幕高度
}
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType:'', //字符串类型;事件回调,取值范围如下:
//feedAdsManagerSuccessToLoad:广告加载成功,收到此回调可调用打开接口
//feedAdsLoadError:广告加载失败
//feedAdViewWillShow:广告展示
//feedAdDidClick:广告点击
//feedAdDislike:不喜欢
//feedAdDidShowOtherController:广告跳转落地页(仅iOS支持)
//feedAdDidCloseOtherController:广告关闭落地页(仅iOS支持)
interactionType:0,//数字类型;落地页类型;广告跳转落地页、广告关闭落地页时返回(仅iOS支持)
//取值范围:
//0:unknown type
//1:open downlaod page in app
//2:open webpage in app
//3:open deeplink
//4:open appstore
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.loadFeedAd({
posId:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
openFeedAd
打开Feed广告
openFeedAd(params)
params
rect:
- 类型:JSON对象
- 描述:(可选项)位置及长宽
{
x: 0, //(可选项)数字类型;播放画面 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;播放画面 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;iOS支持设置'auto';播放画面宽(相对于所属的 Window 或 Frame);默认值:屏幕宽度
h: 300, //(可选项)数字类型;iOS支持设置'auto';播放画面高(相对于所属的 Window 或 Frame);默认值:屏幕高度
}
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.openFeedAd({
rect:{}
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
closeFeedAd
关闭Feed广告
closeFeedAd()
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.closeFeedAd();
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
openSplashAd
打开开屏广告
openSplashAd(params,callback(ret))
params
posId:
- 类型:字符串
- 描述:广告位ID
rect:
- 类型:JSON对象
- 描述:(可选项)位置及长宽
{
x: 0, //(可选项)数字类型;播放画面 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;播放画面 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;iOS支持设置'auto';播放画面宽(相对于所属的 Window 或 Frame);默认值:屏幕宽度
h: 300, //(可选项)数字类型;iOS支持设置'auto';播放画面高(相对于所属的 Window 或 Frame);默认值:屏幕高度
}
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:``
{
eventType:'', //字符串类型;事件回调,取值范围如下:
//splashAdDidLoadFail:初始广告(素材)无法加载(仅Android支持)
//splashAdContentDidLoad:初始广告素材加载,随时可以显示(仅Android支持)
//splashAdDidVisible:已经显示
//splashAdVideoDidBeginPlay:广告视频开始播放(仅iOS支持)
//splashAdDidClick:点击广告
//splashAddidSkip:用户单击跳过按钮(仅Android支持)
//splashAdDidAutoDismiss:广告播放已完成,并且自动关闭(仅Android支持)
//splashAdDidClose: 广告关闭(仅iOS支持)
showDuration:0, //数字类型;显示时间,用户单击跳过时返回(仅iOS支持)
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.openSplashAd({
posId:'',
rect:{}
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
closeSplashAd
关闭开屏广告
closeSplashAd()
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.closeSplashAd();
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
loadInterstitialAd
加载插屏广告(仅支持Android)
loadInterstitialAd(params,callback(ret))
params
posId:
- 类型:字符串
- 描述:广告位ID
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType:'', //字符串类型;事件回调,取值范围如下:
//interstitialAdDidLoad:视频广告素材成功加载
//interstitialAdRenderSuccess:
//interstitialAdRenderFail:视频广告素材无法加载
//interstitialAdWillVisible:视频广告位将显示(仅iOS支持)
//interstitialAdDidVisible:视频广告位已经显示
//interstitialAdDidClick:点击视频广告
//interstitialAdDidSkip:跳过
//interstitialAdWillClose:广告将要关闭
//interstitialAdDidClose:广告已经关闭
//interstitialAdPlayStrart:视频广告开始播放(仅android支持)
//interstitialAdPlayError:视频广告播放失败(仅android支持)
//interstitialAdPlayEnd:视频广告播放结束(仅android支持)
//interstitialAdDidCloseOtherController:广告关闭落地页(仅iOS支持)
playDuration:0, //数字类型;播放时长,用户单击跳过时返回 interactionType:0,//数字类型;落地页类型;广告关闭落地页时返回(仅iOS支持)
//取值范围:
//0:unknown type
//1:open downlaod page in app
//2:open webpage in app
//3:open deeplink
//4:open appstore
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.loadInterstitialAd({
posId:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
android系统
可提供的1.0.0及更高版本
showInterstitialAd
显示插屏广告(仅支持Android)
showInterstitialAd()
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.showInterstitialAd();
可用性
android系统
可提供的1.0.0及更高版本
openLive
打开直播页面
openLive(params,callback(ret))
params
posId:
- 类型:字符串
- 描述:广告位ID
promoteID:
- 类型:字符串
- 描述:电商推广位Id
comment:
- 类型:字符串
- 描述:如果您需要将订单归属到某个渠道或用户,则要传入comment参数(媒体备注,备注仅支持传入字母、数字、下划线或中划线,最多20个字符,且不包含空格)。然后您就可以在备注中提供渠道或用户标识,并通过快手电商联盟提供的订单API获取带渠道或用户标识的订单信息。
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:``
{
eventType:'', //字符串类型;事件回调,取值范围如下:
//videoDidStartPlay:视频开始播放
//videoDidPause:视频暂停播放
//videoDidResume:视频恢复播放
//videoDidEndPlay:视频停止播放(仅iOS支持)
//videoPlayCompleted:视频播放完成(仅android支持)
//videoDidFailedToPlay:视频播放失败
//contentDidFullDisplay:内容展示
//contentDidEndDisplay:内容隐藏
//contentDidPause:内容暂停显示 //contentDidResume:内容恢复显示
finished:true //布尔类型;是否播放完成(仅iOS支持)
}
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.openLive({
posId:'',
promoteID:'',
comment:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
可用性
iOS系统,android系统
可提供的1.0.0及更高版本
closeLive
关闭直播页面
closeLive()
示例代码
var ksAdLive = api.require('ksAdLive');
ksAdLive.closeLive();
可用性
iOS系统,android系统
可提供的1.0.0及更高版本