ksAdLive

概述

本插件封装了快手联盟SDK

注意:本插件 iOS 平台上最低适配系统版本为 iOS 9.0

Android中:请求⼴告数据前,请务必申请IMEI权限,否则会造成下发下载类⼴告的数据⽆法正常下发,影响⼴告计费追踪。所以强烈建议媒体在通过SDK请求⼴告前,先申请获取IMEI权限。

iOS kss文件

开发者需要到快手终端安全平台进行申请账号,提交项目的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:初始广告(素材)无法加载
                        //splashAdContentDidLoad:初始广告素材加载,随时可以显示
                        //splashAdDidVisible:已经显示
                        //splashAdVideoDidBeginPlay:广告视频开始播放(仅iOS支持)
                        //splashAdDidClick:点击广告 
                       //splashAddidSkip:用户单击跳过按钮
                        //splashAdDidAutoDismiss:广告播放已完成,并且自动关闭
                        //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及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/11/18