提交 d5de02df 作者: 王进

更新QQ小游戏心跳上报

上级 a466178a
...@@ -80,7 +80,7 @@ class QQSDK { ...@@ -80,7 +80,7 @@ class QQSDK {
_selt.Login() _selt.Login()
}); });
if (sdkLoginData.code == 0) { if (sdkLoginData.code == 0) {
_selt.ReportParams.openId = _selt.sdkParams.open_id = _selt.sdkParams.uniqueid = sdkLoginData.data.openid; _selt.ReportParams.openId = _selt.sdkParams.open_id = _selt.sdkParams.uniqueid= _selt.heartParams.uuid = sdkLoginData.data.openid;
_selt.sdkParams.session_key = sdkLoginData.data.session_key; _selt.sdkParams.session_key = sdkLoginData.data.session_key;
if (_selt.actId) { if (_selt.actId) {
let shareInfo = { let shareInfo = {
...@@ -118,7 +118,7 @@ class QQSDK { ...@@ -118,7 +118,7 @@ class QQSDK {
if (sdkLoginData.code == 0) { if (sdkLoginData.code == 0) {
// 根据SDK返回用户状态来判断用户是否注册 // 根据SDK返回用户状态来判断用户是否注册
_selt.sdkParams.token = sdkLoginData.data.token // 记录用户toekn _selt.sdkParams.token = sdkLoginData.data.token // 记录用户toekn
_selt.ReportParams.userId = sdkLoginData.data.uid // 记录用户ID _selt.ReportParams.userId= _selt.heartParams.userid = sdkLoginData.data.uid // 记录用户ID
let LoginCallBack = _selt.deepCopy({}, sdkLoginData.data, { let LoginCallBack = _selt.deepCopy({}, sdkLoginData.data, {
os: _selt.sdkParams.os, // 返回系统类型IOS或者android os: _selt.sdkParams.os, // 返回系统类型IOS或者android
session_key: _selt.sdkParams.session_key // 返回session_key session_key: _selt.sdkParams.session_key // 返回session_key
...@@ -373,7 +373,7 @@ class QQSDK { ...@@ -373,7 +373,7 @@ class QQSDK {
const _selt = this const _selt = this
await (qq as any).getNetworkType({ await (qq as any).getNetworkType({
success: (res) => { success: (res) => {
_selt.ReportParams.networkType = res.networkType _selt.ReportParams.networkType= _selt.heartParams.info.network = res.networkType
}, },
fail: (err) => { fail: (err) => {
console.log("@@SDK错误->getNetworkType", err) console.log("@@SDK错误->getNetworkType", err)
...@@ -385,15 +385,15 @@ class QQSDK { ...@@ -385,15 +385,15 @@ class QQSDK {
await (qq as any).getSystemInfo({ await (qq as any).getSystemInfo({
success: (res) => { success: (res) => {
console.log('##', res); console.log('##', res);
_selt.ReportParams.model = _selt.sdkParams.equipmentname = res.model _selt.ReportParams.model = _selt.sdkParams.equipmentname= _selt.heartParams.info.model = res.model
_selt.ReportParams.screenWidth = res.screenWidth _selt.ReportParams.screenWidth = res.screenWidth
_selt.ReportParams.screenHeight = res.screenHeight _selt.ReportParams.screenHeight = res.screenHeight
_selt.ReportParams.language = res.language _selt.heartParams.resolution = res.screenWidth + '*' + res.screenHeight
_selt.ReportParams.language = _selt.heartParams.language = res.language
_selt.ReportParams.system = _selt.sdkParams.equipmentos = res.system _selt.ReportParams.system = _selt.sdkParams.equipmentos = res.system
_selt.ReportParams.version = res.version _selt.ReportParams.version = res.version
_selt.ReportParams.SDKVersion = res.SDKVersion _selt.ReportParams.SDKVersion = res.SDKVersion
_selt.ReportParams.benchmarkLevel = res.benchmarkLevel _selt.sdkParams.os = _selt.heartParams.osname = (res.system).split(' ')[0].toLowerCase()
_selt.sdkParams.os = (res.system).split(' ')[0].toLowerCase()
} }
}) })
} }
...@@ -439,9 +439,27 @@ class QQSDK { ...@@ -439,9 +439,27 @@ class QQSDK {
console.log("##SDK激活上报参数", portData) console.log("##SDK激活上报参数", portData)
return this.request(link, portData, method) return this.request(link, portData, method)
} }
// 上报心跳
private heartBeat() {
const _selt = this;
const obj = this.heartParams;
const tmp = Date.parse(new Date().toString()).toString() // 获取请求的时间戳秒
obj.time = obj.gentime = tmp.substr(0, 10);
let keys = Object.keys(obj).sort();
let key_url = "";
for (let i = 0; i < keys.length; i++) {
if (keys[i] != 'sign' && keys[i] != 'info' && keys[i] != 'content') key_url += keys[i] + '=' + obj[keys[i]] + '&'
}
obj.sign = md5(key_url + 'BA886FF52827126DCD18E73E0E16420C')
this.request(qqLinks.heartReport, obj, 'POST');
setTimeout(function () {
_selt.heartBeat();
}, 60000);
}
// 上报激活 // 上报激活
public ActiReport() { public ActiReport() {
this.ReportData({ action: 'activation' }) this.ReportData({ action: 'activation' });
this.heartBeat();
} }
// 上报注册 // 上报注册
public RegisterReport() { public RegisterReport() {
...@@ -540,7 +558,6 @@ class QQSDK { ...@@ -540,7 +558,6 @@ class QQSDK {
userBtn.onTap( userBtn.onTap(
function (res) { function (res) {
if (res.userInfo) { if (res.userInfo) {
//上报授权
var userInfo = res["userInfo"]; var userInfo = res["userInfo"];
// 上报用户授权 // 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, { _selt.ReportData(_selt.deepCopy({}, userInfo, {
...@@ -810,6 +827,46 @@ class QQSDK { ...@@ -810,6 +827,46 @@ class QQSDK {
} }
return this.share(ShareParams) return this.share(ShareParams)
} }
private heartParams = {
action: "heartbeat",
appid: qq_SDKConfig.productCode,
time: null, // 【发送请求时间】 unix时间戳,要求是10位数字
gentime: null, // 【数据生成时间】 unix时间戳,要求是10位数字
advid: "", // 广告活动ID
osname: "", // 操作系统名字
userid: "", // 玩家ID
osversion: "", // 操作系统版本号
sdkversion: this.sdkVersion, // sdk 版本号
appname: qq_SDKConfig.appName, // 当前应用的app名字
packagename: "", // 当前应用的包名
appversion: qq_SDKConfig.appVersion, // 当前应用的版本号
resolution: "", // 屏幕分辨率
language: "", // 语言CODE
country: "", // 国家
timezone: "", // 时区
uuid: "", // openid
testid: "", // 测试序列号
sign: "",
info: {
idfa: "",
imei: "",
imsi: "",
mac: "",
model: "", // 手机型号
buildid: "",
manufacturer: "",
memory_free: "",
memory_total: "",
network: "", // 网络状态
battery: "", // 电量
androidid: "",
advertisingid: "",
deeplink: "",
wifiname: ""
},
source: "weixinmp-api",
content: ""
}
// 统计上报参数 // 统计上报参数
private ReportParams = { private ReportParams = {
action: null, // 必填,事件类型 action: null, // 必填,事件类型
...@@ -870,6 +927,7 @@ const qqLinks = { ...@@ -870,6 +927,7 @@ const qqLinks = {
getActShareId: qq_SDKConfig.active_domain + '/weixin/updatable_message/create_activity_id', // 获取活动消息id getActShareId: qq_SDKConfig.active_domain + '/weixin/updatable_message/create_activity_id', // 获取活动消息id
setActShareInfo: qq_SDKConfig.active_domain + '/weixin/updatable_message/updatablemsg', // 更新活动消息内容 setActShareInfo: qq_SDKConfig.active_domain + '/weixin/updatable_message/updatablemsg', // 更新活动消息内容
getActShareInfo: qq_SDKConfig.active_domain + '/weixin/updatable_message/get_activity', // 查询活动消息内容 getActShareInfo: qq_SDKConfig.active_domain + '/weixin/updatable_message/get_activity', // 查询活动消息内容
heartReport: 'https://s.pthzwl.net/sdkapi.php', // 心跳上报接口
} }
class qqshareInfo { class qqshareInfo {
title?: string title?: string
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论