积分任务JS-SDK-v2使用文档
<h3>积分任务JS-SDK-v2基础说明</h3>
<p>珊瑚JS-SDK适用于H5页面的接入。客户如有需求自己做界面,但选用H5方式接入时可引入。sdk完备拉取任务配置,资源等接口。</p>
<ol>
<li>appid获取:注册产品之后,登录珊瑚后台,在[自主对接平台—基础配置—产品配置—产品ID ]中查看 。</li>
<li>现有资源:下载任务(含下载广告,仅安卓)、视频任务(含视频广告)、自定义任务。</li>
<li><strong>需要js-sdk签名,生成signature。<a href="https://www.showdoc.com.cn/893799497216534?page_id=4777858918867418" title="签名规则请查看">签名规则请查看</a></strong></li>
<li>
<p>jsapi_ticket请求,珊瑚测试环境域名是https://testgmall.m.qq.com 正式环境域名是https://gmall.m.qq.com</p>
</li>
<li>需在珊瑚后台配置或者提供域名白名单到珊瑚的对接人员配置(暂时无需配置,有需要的再提供)</li>
</ol>
<h4>sdk引入地址</h4>
<ul>
<li><a href="https://webcdn.m.qq.com/webcdn/gmall/sdk/coral-sdk-v2.min.js?t=1">https://webcdn.m.qq.com/webcdn/gmall/sdk/coral-sdk-v2.min.js?t=1</a></li>
</ul>
<h3>二、使用demo</h3>
<pre><code class="language-javascript"> <script src="https://webcdn.m.qq.com/webcdn/gmall/sdk/coral-sdk-v2.min.js?t=1" id="coral_js" env="beta"></script>
<script type="application/javascript">
let ts = 1414587457;
let noncestr = "xxadsa";
// 从自己的服务器上请求一个signature
// 现在生成一个测试用的
window.onload = function () {
let coral = new Coral({
appId: 8997,
timestamp: ts,
nonceStr: noncestr,
signature: "ff471cde58dddeeaaaef6ee4781ca6b6",
jsApiList: [],
userParams: {
account_id: 7146933,
login_openid: '',
login_appid: ''
},
guidInfo: {
plat: 2, //2为安卓,3为ios
product: 13, //可固定为13
imei: 863793032667145, //设备imei
guid: "863793032667145",
sdk: 26, //可固定为26
ua: 'HUAWEI CAZ-AL10', //设备型号,如Honor 6X
mac: 'A8:C8:3A:40:AE:BC', //设备的mac地址
firmware: '', //ios固件版本
androidID: '24', //安卓系统的androidId
idfa: '', //ios专有设备标识
oaid: '' //安卓专有设备标识
},
advParams: {
target: 1
}
});
coral.ready(() => {
document.getElementById("test-btn-1").onclick = async function(){
const result = await coral.fetchVideoTask(); //获取视频任务
console.log("fetchVideoTask res...", result);
document.getElementById('result').innerText = "";
document.getElementById('result').innerText = JSON.stringify(result);
document.getElementById("test-btn-4").onclick = function(){
coral.statVideo(3, result.data[0].adv.statCtx); //视频广告曝光上报珊瑚
}
}
document.getElementById("test-btn-2").onclick = async function(){
const result = await coral.fetchDownloadTask(); //获取下载任务
console.log("fetchDownloadTask res...", result);
document.getElementById('result').innerText = "";
document.getElementById('result').innerText = JSON.stringify(result);
document.getElementById("test-btn-5").onclick = function(){
coral.statDownload(3, result.data[0].adv.statCtx); //下载广告曝光上报珊瑚
}
}
document.getElementById("test-btn-3").onclick = async function(){
const result = await coral.fetchCustomizeTask(8); //获取自定义任务
console.log("fetchCustomizeTask res...", result);
document.getElementById('result').innerText = "";
document.getElementById('result').innerText = JSON.stringify(result);
}
}, (err) => {
console.log("Coral init err", err);
document.getElementById('result').innerText = "Coral init err: " + err;
});
}
</script></code></pre>
<h3>三、视频广告/下载广告,上报珊瑚。(接入方需要做下载器)</h3>
<p><strong>具体的下载任务,视频任务,自定义任务等三种任务的返回值可见另一接口文档。</strong>
这里除了拉取任务配置之外,也定义了上报数据的接口。如使用了视频或者下载任务,开发者必须在对应的时候上报对应的统计点。statVieo的参数有两个,第一个为统计点phase,第二个为校验位statCtx(该参数由fetchXXTask的接口返回)。
具体统计点phase如下:</p>
<pre><code>// SEND: 1, // 发送
// RECV: 2, // 接收
// DISPLAY: 3, // 展示 - 客户端上报
// CLICK: 4, // 点击 - 客户端上报
// TRANS: 5, // 开始下载 - 客户端上报
// DOWNLOAD: 6, // 下载完成 - 客户端上报
// INSTALL: 7, // 安装 - 客户端上报
// ACTIVE: 8, // 激活
// CLOSE: 9, // 关闭广告
// DEEPLINK: 10, // 应用跳转成功
// VIDEO_PLAY: 11, // 视频广告播放</code></pre>
<h3>四、视频任务广告,需要额外做第三方上报。<a href="https://www.showdoc.com.cn/1procedure2develop?page_id=5507783860897180" title="查看第三方上报文档">点击查看第三方上报文档</a></h3>
<h3>五、提交任务接口:<a href="https://www.showdoc.com.cn/1procedure2develop?page_id=4633343491378110" title="点击查看提交任务接口">点击查看提交任务接口</a></h3>
<h4><strong> 会员功能使用: <a href="https://www.showdoc.cc/1procedure2develop?page_id=4376384186674672">请点击这里查看接口文档</a> </strong></h4>
<hr />