接入文档-JavaScript接入
适用于Laya,Creator等可直接调用JavaScript接口的引擎接入小游戏
对接流程
SDK接入完毕后请发送二维码到对接群,测试验收通过后再提审发布!!!
接入准备
域名加白
接入前请检查下述域名是否已加进域名配置白名单,配置项有request合法域名、socket合法域名、uploadFile合法域名、downloadFile合法域名等(根据具体使用到那些域名项进行配置,也可以通配)。
https://c.vigame.cn
https://p.vigame.cn
https://x.vimedia.cn
https://u.vigame.cn
https://r.vigame.cn
https://x.vigame.cn
https://a.vigame.cn
配置登录参数以及支付回调参数
联系运营同学配置
动能参数
联系运营同学提供
H5动能内部appid
H5动能内部appKey
广告位配置
联系运营同学配置
游戏的广告位埋点
接入步骤与常用接口
将下载好的dnsdk.js文件放入游戏脚本目录下
import './dnsdk.js';
js_load事件上报(微信小游戏必接)
小游戏工程目录下添加dnsdk-config.js文件,game.js文件中引入!!!
require('dnsdk-config.js');
dnsdk-config.js内容如下
var GameGlobal = window.GameGlobal || {};
window.GameGlobal = GameGlobal;
GameGlobal.DnsdkConfig = {};
GameGlobal.DnsdkConfig.appid = '动能appId';
示例截图
初始化(必接)
初始化后才可调用sdk其他接口,建议收到初始化回调后进行各种逻辑处理!
/**
* sdk初始化
* @param 初始化参数,object类型
*/
dnsdk.nativeInit = function (obj)
参数说明
appId
string
是
动能appid
appKey
string
是
动能appkey
offerId
string
""
否
米大师侧申请的应用ID
cloudEnv
string
""
否
云环境 ID
payRate
number
10
否
支付比例,小游戏平台配置支付时设置的比例(1:1、1:10、1:100)
gravityEngineToken
string
""
否
引力引擎 token
callBack
function
是
初始化回调
初始化示例
let obj = {
appId: '动能appId',
appKey: '动能appKey',
callBack: function (ret, openid, usercode) {
if (ret) {
console.log('dnsdk初始化成功 openId = ' + openid + ', userCode = ' + usercode);
} else {
console.log('dnsdk初始化失败');
}
}
};
dnsdk.nativeInit(obj);
统计(必接)
1.1 自定义事件(必接)
其他自定义事件可以使用该接口上报
/**
* 自定义事件上报
* @param eventId 事件名称
* @param data 上报数据object类型
*/
dnsdk.tjSendCustomEvent(eventId, data);
参数说明
eventId
string
是
事件ID
data
object
否
上报数据
使用示例
dnsdk.tjSendCustomEvent('eventId', {key1: 'value1', key2: 'value2'});
1.1.1 启动流程上报(必接)
游戏loading页面(必接)
app_loading_show
游戏实现上报逻辑
游戏引擎初始化后就触发上报
非必填
游戏内首页(必接)
app_home_show
游戏实现上报逻辑
主页展示时
非必填
使用示例
dnsdk.tjSendCustomEvent("app_loading_show");
dnsdk.tjSendCustomEvent("app_home_show");
1.2 转化行为上报(必接)
必须使用tjSendTrackingEvent接口才可以上报回传参数,事件类型为tracking
/**
* 转化行为上报
* @param eventId 事件名称
* @param data 上报数据object类型
*/
dnsdk.tjSendTrackingEvent(eventId, data);
激活(必接)
active
游戏实现上报逻辑
首次进入主页触发
非必填
注册(必接)
active_register
游戏实现上报逻辑
完成角色创建后触发。如果没有角色创建过程,可跟active事件同时触发。
非必填
次留(必接)
next_day_open
游戏实现上报逻辑
用户激活后次日(第二个自然日)在互联网环境下打开微信小游戏
非必填
使用示例
dnsdk.tjSendTrackingEvent("active");
dnsdk.tjSendTrackingEvent("active_register");
dnsdk.tjSendTrackingEvent("next_day_open");
1.3 关卡统计上报(必接)
必须使用tjSendLevelEvent接口上报,事件名称为begin、complete、fail。
1.3.1 关卡开始
// 关卡开始
var data = {
levelid: level //关卡id
}
dnsdk.tjSendLevelEvent("begin", data);
1.3.2 关卡获胜
// 关卡获胜
var data = {
levelid: level, //关卡id
score: score //关卡得分
}
dnsdk.tjSendLevelEvent("complete", data);
1.3.3 关卡失败
// 关卡失败
var data = {
levelid: level, //关卡id
score: score //关卡得分
}
dnsdk.tjSendLevelEvent("fail", data);
广告(必接)
1.1 打开广告
/**
* 打开广告
* @param {广告位名称} pos
* @param {自定义style} diyStyle
* @param {回调} callBack
*/
dnsdk.adManager.openAd = function (pos, diyStyle = "", callBack)
使用示例
// 打开激励视频广告
dnsdk.adManager.openAd("动能提供的激励视频广告位", "", (ret, data) => {
console.log('打开视频广告 data = ' + JSON.stringify(data));
if (ret == 0) {
console.log("打开成功");
} else {
console.log("打开失败");
}
});
// 打开插屏广告
dnsdk.adManager.openAd("动能提供的激励视频广告位", "", (ret, data) => {
console.log('打开插屏广告 data = ' + JSON.stringify(data));
if (ret == 0) {
console.log("打开成功");
} else {
console.log("打开失败");
}
});
// 打开banner广告
dnsdk.adManager.openAd("banner");
1.2 广告是否缓存好
/**
* 广告是否已缓存
* @param {广告位名称} adPos
* @returns ture已缓存;false未缓存
*/
dnsdk.adManager.isAdReady = function (adPos)
1.3 某关卡是否可以打开该广告
/**
* 某关卡是否可以打开该广告
* @param {广告位名称} adPos
* @param {关卡id} level
* @returns ture可以;false不可以
*/
dnsdk.adManager.isAdBeOpenInLevel = function (adPos, level)
1.4 关闭广告
/**
* 关闭广告
* @param {广告位名称} adPos
*/
dnsdk.adManager.closeAd = function (adPos)
分享(选接)
1.1 主动分享
分享接口调用后,不再返回用户是否分享完成事件
/**
* 主动分享
* @param {动能提供的分享参数} shareName
* @param {自定义数据使用'&'拼接} userData
* @param {抖音参数,微信无效} shareType
*/
dnsdk.core.shareAppMessage = function (shareName, userData, shareType, callBack)
使用示例
dnsdk.core.shareAppMessage("动能提供的分享参数","t1=1&t2=2", "", (ret, data) => {
if(ret) {
//微信无法监听用户是否真正的分享
console.log("分享接口调用成功");
} else {
console.log("分享接口调用失败");
}
});
1.2 点击右上角分享
点击右上角"..."进行分享触发,前提是要先主动调用设置分享监听OnShareAppMessage,触发右上角分享时才会调用下面的设置。
/**
* 右上角分享
* @param {动能提供的分享参数} shareName
* @param {自定义数据使用'&'拼接} userData
*/
dnsdk.core.onShareAppMessage = function (shareName, userData)
使用示例
dnsdk.core.onShareAppMessage ("动能提供的分享参数", "t1=1&t2=2");
Last updated