Analytics.ts
5.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
import { LogLevel } from "../wxsdk/service/LogService";
import WXSDK from "../wxsdk/WXSDK";
export class Analytics {
private static _instance: Analytics;
private systemType: number
static get I(): Analytics {
return this._instance || (this._instance = new Analytics);
}
private static IGNORE_LOGGER = false;
constructor() {
}
private get isSupported() {
return typeof WXSDK === 'object';
}
// 游戏打点
dot(dot_type: string, data: any = {}) {
if (typeof my == 'undefined') return
// wx.aldSendEvent(dot_type, data); //阿拉丁打点,没需求注释即可
return WXSDK.stat.dot(dot_type, data);
}
// loading完成
loadingFinish() {
return WXSDK.stat.loadingFinish();
}
// 关键行为
behaviors() {
return WXSDK.stat.behaviors()
}
// 导出打点
jumps(id, type) {
return WXSDK.stat.jumps(id, type)
}
/**
* 关卡开始
* @param stageid 关卡ID, 必须1.1、12.2 “.”前面代表模式 后面代表关卡
* @param stagename 关卡名称,格式:"xx模式-第x关"
* @param pattern 模式名称,格式:"xx模式"
*/
levelStart(stageid, stagename?, pattern?) {
if (!stagename) stagename = `第${stageid}关`
if (!pattern) pattern = '普通模式'
return WXSDK.stat.levelStart(stageid, stagename, pattern)
}
/**
* 关卡进行中
* @param stageid 关卡ID, 必须1.1、12.2 “.”前面代表模式 后面代表关卡
* @param stagename 关卡名称,格式:"xx模式-第x关"
* @param pattern 模式名称,格式:"xx模式"
* @param event 事件 tools:使用道具 award:奖励
* @param params_id 道具ID
* @param params_name 道具名称
* @param params_count 道具数量
* @param params_desc 道具描述
*/
levelRunning(stageid, stagename, pattern, event, params_id, params_name, params_count, params_desc?) {
if (!stagename) stagename = `第${stageid}关`
if (!pattern) pattern = '普通模式'
return WXSDK.stat.levelRunning(stageid, stagename, pattern, event, params_id, params_name, params_count, params_desc)
}
/**
* 关卡结束
* @param stageid 关卡ID, 必须1.1、12.2 “.”前面代表模式 后面代表关卡
* @param stagename 关卡名称,格式:"xx模式-第x关"
* @param pattern 模式名称,格式:"xx模式"
* @param event complete:成功 fail:失败
* @param times 时间
* @param perc 失败时的完成进度 (浮点数)
*/
async levelEnd(stageid, stagename, pattern, event, times, perc?, valence = 0) {
if (!stagename) stagename = `第${stageid}关`
if (!pattern) pattern = '普通模式'
return WXSDK.stat.levelEnd(stageid, stagename, pattern, event, times, perc, valence)
}
/**
* 视频信息 打点
* @param adstatus 1.请求 3.展示 5.完成 6.中断 7.失败
* @param times 视频关闭时间 (完成和中断)需要传
*/
videoAdStat(adstatus: number, times?) {
WXSDK.stat.adStat('video', '9999', 2, adstatus, times)
}
/**
* 客户端日志
* @param content 内容
* @param level 日志等级
* @returns
*/
clientLog(content, level = LogLevel.debug) {
return WXSDK.stat.clientLog(content, level)
}
/**
* 资源上报
* @param id 1体力 2经验 3钻石
* @param typ 1增加 2减少
* @param nums 增加或减少的数量
* @param gsne 消耗场景
*/
consume(id: number, typ: number, nums: number, gsne: string) {
return WXSDK.stat.consume(id, typ, nums, gsne)
}
/**
* 游戏行为数据提交(玩一玩)
* @param action_code 用户在游戏中的行动编码
* @param action_finish_channel 用户完成行动的渠道
* @param action_finish_date 用户完成时间
* @param status 上报的结果 0成功 其他失败
*/
AlipayGameCenter(action_code: string, action_finish_channel: string, action_finish_date: string, status: string) {
WXSDK.stat.AlipayGameCenter(action_code, action_finish_channel, action_finish_date, status);
}
/**
* 支付行为上报
* @param orderid 订单号,游戏方订单号
* @param goodid 游戏方商品ID
* @param goodname 游戏方商品名字
* @param money 支付金额,单位分
* @param paytype 支付方式,1客服消息支付 3米大师支付 4小程序支付 6二维码支付 7字节钱包 8QQ钱包 9华为钱包 10支付宝小游戏支付 11支付宝小程序(跳转到另外一个小程序支付)13美团支付
* @param paystatus 1支付成功 2支付失败
* @param ordertype 支付平台,android,ios,windows,mac
*/
orderLogReport(orderid: string, goodid: string, goodname: string, money: number, paytype: number, paystatus: number, ordertype: string) {
WXSDK.stat.orderLogReport(orderid, goodid, goodname, money, paytype, paystatus, ordertype)
}
}
export enum EventKey {
toggleScene = 'toggleScene',
recoverGame = 'recoverGame',
replayGame = 'replayGame',
settingClose = 'settingClose',
updateLvUI = 'updateLvUI',
}