datasdk.ts 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import { sys } from "cc";
  2. export enum REPORT_EVENT {
  3. ENTER_GAME = '进入游戏',
  4. LOAD_COMPLETE = '加载完成',
  5. ENTER_LEVEL = '进入关卡',
  6. LEVEL_PASS = '关卡通过',
  7. LEVEL_FAIL = '关卡失败',
  8. LEVEL_REST = '重置关卡',
  9. CLICK_LEAVE = '点击直接开走按钮',
  10. CLICK_ADD_CELL = '点击加两个格按钮',
  11. CLICK_CLEAR_CELL = '点击清理格子按钮',
  12. START_ADD_CELL_AD = '拉起加两个格广告',
  13. START_LEAVE_AD = '拉起直接开走广告',
  14. START_CLEAR_CELL_AD = '拉起清空格子广告',
  15. END_ADD_CELL_AD = '看完加两个格广告',
  16. END_LEAVE_AD = '看完直接开走广告',
  17. END_CLEAR_CELL_AD = '看完清空格子广告',
  18. OPEN_RECOVERY = '打开复活窗口',
  19. CLICK_RECOVERY = '点击复活按钮',
  20. OPEN_REWARD = '点击限时福利',
  21. CLICK_SIDEBAR = '点击从侧边栏进入',
  22. OPEN_CHANGE_SKIN = '打开换肤窗口',
  23. CLICK_CHANGE_SKIN = '点击换肤按钮',
  24. }
  25. export class DataSdk {
  26. private static SaveKey = "ttzt_ext"
  27. private static ReportURL = "https://dataapi.uwotao.com/api/v1/game/report"
  28. private static extend: { [k: string]: any } = {};
  29. public static get openid() { return this.extend && this.extend.openid }
  30. public static initReport(openid?: string) {
  31. if (typeof window.tt === 'undefined' || !tt) {
  32. console.log("#### DataSdk #### 非字节平台不初始化")
  33. return;
  34. }
  35. console.log("#### DataSdk #### 初始化")
  36. // 加载历史记录
  37. let savedata = sys.localStorage.getItem(this.SaveKey);
  38. console.log("#### DataSdk #### 读取旧数据", savedata)
  39. if (savedata) {
  40. this.extend = JSON.parse(savedata)
  41. }
  42. // 如果已经激活, 不重复上报
  43. if (DataSdk.openid) {
  44. console.log("#### DataSdk #### 激活已经上报,不重复上报, openid:", DataSdk.openid)
  45. return;
  46. }
  47. let options = tt.getLaunchOptionsSync();
  48. let queryStr = JSON.stringify(options.query)
  49. let appid = options.extra.appId || options.query.appId
  50. console.debug("#### DataSdk #### appid:", appid, "query:", queryStr);
  51. if (openid) {
  52. DataSdk.extend = {}
  53. DataSdk.extend.openid = openid;
  54. }
  55. }
  56. public static reportEvent(event: REPORT_EVENT, param: any='') {
  57. try {
  58. tt.request({
  59. url: DataSdk.ReportURL,
  60. data: {
  61. openid: DataSdk.openid,
  62. eventName: event,
  63. msg: `${param}`
  64. },
  65. header: { "content-type": "application/json" },
  66. method: "POST",
  67. success: (res: any) => {
  68. console.log("#### DataSdk #### 数据上报成功", res.data)
  69. },
  70. fail: (res: any) => {
  71. console.log("#### DataSdk #### 数据上报失败", res.errMsg)
  72. },
  73. })
  74. } catch (error) {
  75. console.log("#### DataSdk #### 数据上报请求错误")
  76. }
  77. }
  78. }