快手广告联盟简介
快手联盟是移动开发者短视频商业生态联盟,秉持着“视频即服务”的理念,致力于提供创新的短视频/直播商业解决方案,实现用户时长增加、黏性增强,助力用户增长与变现LTV的提升。快手联盟包含广告联盟、内容联盟、电商联盟三种业务形态。
ksContentAds 模块概述
本模块封装了快手广告联盟的原生 SDK,集成了开屏、插屏、全屏视频、激励视频等等;可用于实现app流量变现。
模块使用攻略
使用之前须从快手广告联盟平台申请开发者账号并创建应用,获取 appid。
快手广告联盟申请地址快手广告联盟
模块依赖
-注意:
1.详细咨询QQ:770104707
使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
<feature name="ksContentAds">
<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 ksContentAds = api.require('ksContentAds');
ksContentAds.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 ksContentAds = api.require('ksContentAds');
ksContentAds.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 ksContentAds = api.require('ksContentAds');
ksContentAds.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 ksContentAds = api.require('ksContentAds');
ksContentAds.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 ksContentAds = api.require('ksContentAds');
ksContentAds.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 ksContentAds = api.require('ksContentAds');
ksContentAds.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 ksContentAds = api.require('ksContentAds');
ksContentAds.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 ksContentAds = api.require('ksContentAds');
ksContentAds.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 ksContentAds = api.require('ksContentAds');
ksContentAds.closeDrawExpressAD({
}, function(ret, err){
});
iOS系统,Android系统
可提供的1.0.0及更高版本
视频样式
showContentPage({params}, callback(ret, err))
posId:
无
var ksContentAds = api.require('ksContentAds');
ksContentAds.showContentPage({
posId:"90009005",
}, function(ret, err) {
});
iOS系统,Android系统
可提供的1.0.0及更高版本
Feed流样式
showFeedPage({params}, callback(ret, err))
posId:
无
var ksContentAds = api.require('ksContentAds');
ksContentAds.showFeedPage({
posId:"4000000062",
}, function(ret, err) {
});
iOS系统,Android系统
可提供的1.0.0及更高版本
横版样式-横版视频样式
showHorizontalFeedPage({params}, callback(ret, err))
posId:
无
var ksContentAds = api.require('ksContentAds');
ksContentAds.showHorizontalFeedPage({
posId:"4000000082",
}, function(ret, err) {
});
iOS系统,Android系统
可提供的1.0.0及更高版本
横版样式-横版图⽂样式
showHorizontalNewsFeedPage({params}, callback(ret, err))
posId:
无
var ksContentAds = api.require('ksContentAds');
ksContentAds.showHorizontalNewsFeedPage({
posId:"4000000302",
}, function(ret, err) {
});
iOS系统,Android系统
可提供的1.0.0及更高版本
短剧
showTubePage({params}, callback(ret, err))
posId:
无
var ksContentAds = api.require('ksContentAds');
ksContentAds.showTubePage({
posId:"4000000302",
}, function(ret, err) {
});
iOS系统,Android系统
可提供的1.0.0及更高版本
短剧
showTubePage({params}, callback(ret, err))
posId:
无
var ksContentAds = api.require('ksContentAds');
ksContentAds.showTubePage({
posId:"4000000302",
}, function(ret, err) {
});
iOS系统,Android系统
可提供的1.0.0及更高版本
⼊⼝组件
showEntryElement({params}, callback(ret, err))
posId:
frameName
fixed
scroll
rect
ret:
{
status: true, //初始化状态
code: 0, //状态码
type: 'onLoad', //事件类型
msg: "描述",//描述
result:{ //其他结果数据
}
}
var ksContentAds = api.require('ksContentAds');
ksContentAds.showEntryElement({
posId : "4000000020",
frameName:api.frameName,
fixed:false,
scroll:false,
rect:{
x:0,
y:0,
w:0,
h:0,
}
}, function(ret, err){
console.log(JSON.stringify(ret));
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭⼊⼝组件
closeEntryElement({params}, callback(ret, err))
无
无
var ksContentAds = api.require('ksContentAds');
ksContentAds.closeEntryElement({
}, function(ret, err){
});
iOS系统,Android系统
可提供的1.0.0及更高版本
打开热榜
showHotSpot({params}, callback(ret, err))
posId:
frameName
fixed
scroll
rect
ret:
{
status: true, //初始化状态
code: 0, //状态码
type: 'onLoad', //事件类型
msg: "描述",//描述
result:{ //其他结果数据
}
}
var ksContentAds = api.require('ksContentAds');
ksContentAds.showHotSpot({
posId : "90009005",
frameName:api.frameName,
fixed:false,
scroll:false,
rect:{
x:0,
y:0,
w:0,
h:0,
}
}, function(ret, err){
console.log(JSON.stringify(ret));
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭热榜
closeHotSpot({params}, callback(ret, err))
无
无
var ksContentAds = api.require('ksContentAds');
ksContentAds.closeHotSpot({
}, function(ret, err){
});
iOS系统,Android系统
可提供的1.0.0及更高版本