UNPKG

gamelet-pixui-frame

Version:

pixui开发者框架

149 lines 7.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Reporter = void 0; var rpc_mgr_1 = require("./rpc_mgr"); var Reporter = /** @class */ (function () { function Reporter() { } // 上报统计数据 // @param iModule 上报模块 1-活动中心 2-公告中心 3-整体 4-图片公告 5-幸运星 6-拍脸 // @param iChannelId 公告中心-频道id,活动中心-固定1 // @param iType 上报类型 1-展现 2-点击 3-跳转 4-打开 5-关闭 6-初始化 7-主界面上点击详情 8-购买点击 9-左按钮点击 10-右按钮点击 11-详情界面上点击购买等 // @param iActId 活动中心-活动id,公告中心-公告id // @param iJumpType 跳转类型 3-图片公告 1-前往按钮 2-富文本内容 // @param sJumpUrl 跳转URL 当公告中心时有跳转链接时上报 // @param sRecommendId 推荐接口上报id,上报时填入上报协议,用来数据中心推荐效果统计 // @param iChangjingId 触发场景id,后台填写固定值上报,客户端不用填写 // @param iGoodsId 礼包ID,即数据中心为用户推荐的道具ID // @param iCountId 物品购买数量,如果数量大于1请填写此值,如果不填写后台默认该值为1 // @param iFee 购买金额 // @param iCurrencyType 货币种类 1-游戏币,2-人民币 // @param iActStyle 活动类型 1-单按钮活动,3-多按钮活动,4-静态展示页面,无AMS活动号, 5-幸运星活动,6-新近玩家活动,7-老手回流活动,9-兑换活动 // @param iFlowId 活动流程号 // @param sExtendList 扩展字段 数组每个成员为name/value形式,例如:{{"name":"reserve0","value":"0"}, {"name":"reserve1","value":"1"}, ...}, // name和value的值都是字符串类型。默认支持10个扩展字段(reserve0~reserve9),需按顺序填写,多余的字段会被忽略,不会落在表里。 // 注意:1.value字段必须为string类型;2.如果扩展字段为空的话,默认不传参数即可,不要传空table Reporter.reportStats = function (usredata, iModule, iChannelID, iType, iActID, iJumpType, sJumpURL, sRecommendID, sChangjingID, iGoodsID, iCountID, iFee, iCurrencyType, iActStyle, iFlowID, sExtendList) { var stats = {}; stats["str_open_id"] = usredata.openID; stats["str_appid"] = usredata.appID; stats["str_sdkversion"] = usredata.sdkVersion; stats["partition"] = usredata.partition; stats["sroleid"] = usredata.roleID; stats["str_phoneid"] = ""; stats["uint_clientip"] = 0; stats["uint_ostype"] = parseInt(usredata.platID); stats["recommend_id"] = sRecommendID.toString(); stats["changjing_id"] = sChangjingID.toString(); stats["goods_id"] = iGoodsID.toString(); stats["uint_module"] = iModule; stats["uint_channel_id"] = iChannelID; stats["uint_type"] = iType; stats["uint_act_id"] = iActID; stats["uint_timestamp"] = Math.floor(Date.now() / 1000); stats["uint_jump_type"] = iJumpType; stats["str_jump_url"] = sJumpURL; stats["uint_count"] = iCountID; stats["uint_fee"] = iFee; stats["currency_type"] = iCurrencyType; stats["act_style"] = iActStyle; stats["flow_id"] = iFlowID; if (sExtendList != undefined) { stats["extend"] = sExtendList; } var strstats = JSON.stringify(stats); rpc_mgr_1.RPCMgr.getInstance().callSDK("ATMSocket.getInstance().reportStats", strstats); }; Reporter.reportStatsV2 = function (usredata, iModule, iChannelID, iType, iActID, iJumpType, sJumpURL, sRecommendID, sChangjingID, iGoodsID, iCountID, iFee, iCurrencyType, iActStyle, iFlowID, sExtendList) { var stats = {}; stats["str_open_id"] = usredata.openID; stats["str_appid"] = usredata.appID; stats["str_sdkversion"] = usredata.sdkVersion; stats["partition"] = usredata.partition; stats["sroleid"] = usredata.roleID; stats["str_phoneid"] = ""; stats["uint_clientip"] = 0; stats["uint_ostype"] = parseInt(usredata.platID); stats["recommend_id"] = sRecommendID.toString(); stats["changjing_id"] = sChangjingID.toString(); stats["goods_id"] = iGoodsID.toString(); stats["uint_module"] = iModule; stats["uint_channel_id"] = iChannelID; stats["uint_type"] = iType; stats["uint_act_id"] = iActID; stats["uint_timestamp"] = Date.now(); stats["uint_jump_type"] = iJumpType; stats["str_jump_url"] = sJumpURL; stats["uint_count"] = iCountID; stats["uint_fee"] = iFee; stats["currency_type"] = iCurrencyType; stats["act_style"] = iActStyle; stats["flow_id"] = iFlowID; if (sExtendList != undefined) { stats["extend"] = sExtendList; } var strstats = JSON.stringify(stats); rpc_mgr_1.RPCMgr.getInstance().callSDK("ReportMgr.getInstance().reportStats", strstats); }; Reporter.reportMonitorV2 = function (tag, content, itype, appId, appPage, appVersion, userData, isProductEnv) { appPage = appPage || 'index'; var reportObj = this.GetReportObject(content, tag, itype, appId, appPage, appVersion, userData, isProductEnv); rpc_mgr_1.RPCMgr.getInstance().callSDK("ReportMgr.getInstance().reportMonitor", JSON.stringify(reportObj), content, tag, itype); }; Reporter.getTdmReportTags = function (tag, type, appId, appPage, appVersion, userData, isProductEnv) { var tags = {}; tags["span.kind"] = "client"; tags["gopen_id"] = userData.openID; tags["game_appid"] = userData.appID; tags["service_type"] = userData.serviceType; tags["env"] = isProductEnv ? "1" : "2"; tags["sdk_ver"] = userData.sdkVersion; tags["plat_id"] = userData.platID; tags["area_id"] = userData.area; tags["partition"] = userData.partition; tags["role_id"] = userData.roleID; tags["account_type"] = userData.accountType; tags["tnm2_id"] = tag; tags["tnm2_type"] = type.toString(); tags["s_ret_code"] = "0"; tags["open_appid"] = appId.toString(); tags["app_ver"] = appVersion; tags["app_page"] = appPage; return JSON.stringify(tags); }; Reporter.getTdmReportLogs = function (content, timestamp) { var logs = new Array(); var log = {}; log["st"] = timestamp; log["event"] = "info"; log["message"] = content; log["stack"] = ""; log["error.kind"] = ""; logs.push(log); return JSON.stringify(logs); }; // 获取上报信息,可供上报到 TDM / INTL. reportType 是保留字段,用于未来可能区分TDM / INTL的情况 Reporter.GetReportObject = function (content, tag, type, appId, appPage, appVersion, userData, isProductEnv) { var timestamp = (Date.now() * 1000).toString(); var reportInfo = { "s_tid": "", "s_sid": "", "s_op": encodeURIComponent("tnm2_" + tag), "s_st": encodeURIComponent(timestamp), "s_dur": "0", "s_tags": encodeURIComponent(this.getTdmReportTags(tag, type, appId, appPage, appVersion, userData, isProductEnv)), "s_logs": encodeURIComponent(this.getTdmReportLogs(content, timestamp)), "s_refs": "", "s_pdr_ext1": "", "s_pdr_ext2": "", "s_pdr_ext3": "", "s_pdr_ext4": "", "s_pdr_ext5": "", "s_pdr_ext6": "", }; return reportInfo; }; return Reporter; }()); exports.Reporter = Reporter; //# sourceMappingURL=reporter.js.map