快手广告联盟简介
快手联盟是移动开发者短视频商业生态联盟,秉持着“视频即服务”的理念,致力于提供创新的短视频/直播商业解决方案,实现用户时长增加、黏性增强,助力用户增长与变现LTV的提升。快手联盟包含广告联盟、内容联盟、电商联盟三种业务形态。
ksAds 插件概述
本插件封装了快手广告联盟的原生 SDK,集成了开屏、插屏、全屏视频、激励视频;可用于实现app流量变现。
插件使用攻略
使用之前须从快手广告联盟平台申请开发者账号并创建应用,获取 appid。
快手广告联盟申请地址快手广告联盟
插件v1.1.0版本以上
-注意:
1.本插件需添加自定义插件【ksAdsAppendix】 论坛地址:https://developer.yonyou.com/thread-189051-1-1.html 配合使用(【自定义插件教程】)
2.如编译报错联系QQ:770104707
使用此插件之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
  <feature name="ksAds">
    <param name="android_appId" value="90009" />
    <param name="ios_appId" value="90010" />
  </feature>
字段描述:
android_appId:安卓平台应用appid。
ios_appId:苹果平台应用appid。
android 配置:
    <!-- //部分第三方sdk 不支持 armeabi  -->
    <preference name="android_abi" value="arm64-v8a"/> 
ios 配置:
    <!-- res/Info.plst -->
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <!-- http 访问 -->
        <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
        </dict>
        <!-- IDFA -->
        <key>NSUserTrackingUsageDescription</key>
        <string>该标识符将用于向您投放个性化广告</string>
        <!-- 网关 -->
        <key>SKAdNetworkItems</key>
        <array>
            <dict>
                <key>SKAdNetworkIdentifier</key>
                <string>r3y5dwb26t.skadnetwork</string>
            </dict>
        </array>
    </dict>
    </plist>
sdk 初始化
initSdk({params},callback(ret, err))
appName:
ret:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onLoad', //事件类型 onInit
    msg: "onInitSdk",//描述
    result:{ //其他结果数据
        version:"3.3.9" //sdk 版本号
    }
}
var ksAds = api.require('ksAds');
ksAds.initSdk({
    appName:api.appName, //选填
},function(ret, err) {
    if (ret.status) {
        alert("sdk 初始化成功");
    } else {
        alert('sdk 初始化失败');
    }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
开屏
showSplashAD({params}, callback(ret, err))
posId:
logo:
ret:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onLoad', //事件类型 onLoad onShow onClicked onSkipped onClosed
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}
var ksAds = api.require('ksAds');
ksAds.showSplashAD({
    posId:"4000000042",
    // posId:"4000000041",ios
    logo:"widget://image/logo-bottom.png"
}, function(ret, err) {
    if (ret.status) {
        if(ret.type == "onShow"){ //展示
        }
        if(ret.type == "onClosed"){ //关闭
        }
    } else {
        alert(err.code);
    }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
插屏
showInterstitialAD({params}, callback(ret, err))
posId:
ret:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onLoad', //事件类型 onLoad onShow onClicked onSkipped onClosed 
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}
var ksAds = api.require('ksAds');
ksAds.showInterstitialAD({
    posId:"4000000276",
    // posId:"4000000277",ios
}, function(ret, err) {
    if (ret.status) {
        if(ret.type == "onShow"){ //展示
        }
        if(ret.type == "onClosed"){ //关闭
        }
    } else {
        alert(err.code);
    }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
全屏视频
showFullScreenVideoAD({params}, callback(ret, err))
posId:
ret:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onLoad', //事件类型 onLoad onShow onClicked onSkipped onCompleted onClosed
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}
var ksAds = api.require('ksAds');
ksAds.showFullScreenVideoAD({
    posId:"90009002",
    // posId:"90010002",ios
}, function(ret, err) {
    if (ret.status) {
        if(ret.type == "onShow"){ //展示
        }
        if(ret.type == "onClosed"){ //关闭
        }
    } else {
        alert(err.code);
    }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
激励视频
showRewardVideoAD({params}, callback(ret, err))
posId:
ret:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onLoad', //事件类型 onLoad onShow onClicked onCompleted onReward onClosed
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}
var ksAds = api.require('ksAds');
ksAds.showRewardVideoAD({
    posId:"90009001",
    // posId:"90010001",ios
    userId:"1",
    extraData:'{"channel":"app"}',
}, function(ret, err) {
    if (ret.status) {
        if(ret.type == "onShow"){ //展示
        }
        if(ret.type == "onClosed"){ //关闭
        }
    } else {
        alert(err.code);
    }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
信息流
showNativeExpressAD({params}, callback(ret, err))
posId:
frameName
fixed
scroll
rect
ret:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onLoad', //事件类型 onLoad onShow onClicked onClosed
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}
var ksAds = api.require('ksAds');
ksAds.showNativeExpressAD({
    posId : "4000000074",
    //posId : 4000000011 ,ios
    frameName:api.frameName,
    fixed:false,
    scroll:true,
    rect:{
        x:0,
        y:0,
        w:0,
        h:0,
    }
}, function(ret, err){
    console.log(JSON.stringify(ret));
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭信息流
closeNativeExpressAD({params}, callback(ret, err))
无
无
var ksAds = api.require('ksAds');
ksAds.closeNativeExpressAD({
}, function(ret, err){
});
iOS系统,Android系统
可提供的1.0.0及更高版本
Draw流
showDrawExpressAD({params}, callback(ret, err))
posId:
frameName
fixed
scroll
rect
ret:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onLoad', //事件类型 onLoad onShow onClicked onCompleted onClosed
    msg: "描述",//描述
    result:{ //其他结果数据
        
    }
}
var ksAds = api.require('ksAds');
ksAds.showDrawExpressAD({
    posId : "4000000020",
    //posId : 40000000028 ,ios
    frameName:api.frameName,
    fixed:false,
    scroll:true,
    rect:{
        x:0,
        y:0,
        w:0,
        h:0,
    }
}, function(ret, err){
    console.log(JSON.stringify(ret));
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭Draw流
closeDrawExpressAD({params}, callback(ret, err))
无
无
var ksAds = api.require('ksAds');
ksAds.closeDrawExpressAD({
}, function(ret, err){
});
iOS系统,Android系统
可提供的1.0.0及更高版本