From 335b5598a1a81eac9d6725526bc17942ad4e3ee7 Mon Sep 17 00:00:00 2001 From: 宋庆平 Date: Mon, 20 Jun 2022 11:44:41 +0800 Subject: [PATCH] X --- sdk/Analytics.ts | 1 + sdk/SDKTools.ts | 17 ++++++++++++++--- sdk/shareTools.ts | 1 + wxsdk/base/SDKConst.ts | 63 ++++++++++++++++++++++++++++++++------------------------------- wxsdk/http/SDKApi.ts | 2 ++ wxsdk/service/DataService.ts | 19 +++++++++++++++++++ wxsdk/service/GameService.ts | 16 ++++++++++++++++ wxsdk/service/LogService.ts | 6 ++++-- wxsdk/service/entity/SdkData.ts | 16 ++++++++++++---- wxsdk/utils/SignUtils.ts | 4 ++-- wxsdk/wx/WxInit.ts | 29 ++++++++++++++++++----------- wxsdk/wx/WxLogin.ts | 10 +++++++++- 12 files changed, 130 insertions(+), 54 deletions(-) diff --git a/sdk/Analytics.ts b/sdk/Analytics.ts index 147e406..8e3e55d 100644 --- a/sdk/Analytics.ts +++ b/sdk/Analytics.ts @@ -93,4 +93,5 @@ export class Analytics { } export enum EventKey { + } diff --git a/sdk/SDKTools.ts b/sdk/SDKTools.ts index bf86589..c871d8b 100644 --- a/sdk/SDKTools.ts +++ b/sdk/SDKTools.ts @@ -34,6 +34,11 @@ export class SDKTools { return WXSDK.data.openId; } + static get pon() { + return WXSDK.data.pon; + } + + // 是否当天注册用户 static get isnew() { try { @@ -318,7 +323,7 @@ export class SDKTools { * @param opts * @returns */ - static pay(params: {payid:string, goodid:string, money: number; orderid: string }, opts: any = {}) { + static pay(params: { payid: string, goodid: string, money: number; orderid: string }, opts: any = {}) { return WXSDK.game.pay(params, opts) } /** @@ -334,8 +339,8 @@ export class SDKTools { * @param orderid 订单号 * @returns */ - static preorder(goodid:string,orderid:string) { - return WXSDK.game.preorder(goodid,orderid) + static preorder(goodid: string, orderid: string) { + return WXSDK.game.preorder(goodid, orderid) } @@ -349,6 +354,12 @@ export class SDKTools { } + //抖音投放关键行为 + static behavior() { + return WXSDK.game.behavior() + } + + } /** diff --git a/sdk/shareTools.ts b/sdk/shareTools.ts index f5a76af..f611dc7 100644 --- a/sdk/shareTools.ts +++ b/sdk/shareTools.ts @@ -93,4 +93,5 @@ export class ShareTools { export enum ShareKey { + } diff --git a/wxsdk/base/SDKConst.ts b/wxsdk/base/SDKConst.ts index 1f1b12a..7c8c782 100644 --- a/wxsdk/base/SDKConst.ts +++ b/wxsdk/base/SDKConst.ts @@ -1,41 +1,41 @@ // 游戏配置数据 只需要改动这里的配置信息 // 游戏配置数据 只需要改动这里的配置信息 export const GAMEDATA = { - game_id: '10000', - channel_id: '10080', - version: '1.0.0', //游戏版本号,发版前+1 - appkey: 'cf2ea5aca60b562d927805c52876a96c', - interstitialAdId: 'adunit-638f9158bce2c31e',//插屏ID - bannerId: '',//banner - gridId: '',//格子 - customId: 'adunit-3ecef510636baa07',//原生模板单个 //adunit-fb925feb16d2c13b - videoAd: 'adunit-638f9158bce2c31e',//初始化视频广告id - shareMessageToFriend: { // 暂时只支持一个场景值 - scene: 10, //定向分享场景值1-50 配>0的会初始化 - sharekey: 'shareMessageToFriendScene',//定向分享对应后台的分享key - share_id: 26,//定向分享对应后台的分享key - }, - default_share: { - content: '分享标题.....', - icon: '分享图链接', - id: '9999', - key: 'default', - title: '默认', - typ: 1, - videoid: '' - }, - MidasPay: { // 米大师虚拟支付配置 - OfferId: "0000000000", // 在米大师申请的应用id - ZoneId: "1", // 分区ID,默认:1 - Mode: "game", // 默认:game - CurrencyType: "CNY", // 默认:CNY - Platform: '' // 申请接入时的平台 - } + game_id: '10001',//游戏id + channel_id: '10001',//渠道id 暂时和游戏id一致 + version: '1.0.1', //版本号 中台控制正式还是测试服,尽量保持和小游戏版本一致 + appkey: 'd959274a83ea3b95bd1d9b765683eff6',//中台appkey + interstitialAdId: 'adunit-4bd19de3c351233e',//插屏ID + bannerId: 'adunit-25341fff11681315',//banner + gridId: 'adunit-491a39ffc9a330a5',//格子 + customId: 'adunit-193590de82ede6a4',//原生模板单个 + customIds: 'adunit-c905cad189ee8a74',//原生模板多个 + shareMessageToFriend: { // 暂时只支持一个场景值 + scene: 0, //定向分享场景值1-50 配>0的会初始化 + sharekey: 'shareMessageToFriendScene',//定向分享对应后台的分享key + share_id: 26,//定向分享对应后台的分享key + }, + default_share: { //默认分享数据在拉取不到中台分享数据的时候用 + content: '全新版本的连连消,等你来玩!',//分享标题 *找运营提供 + icon: 'xxxx',//分享图链接 *找运营提供 + id: '9999',//默认id 写死9999 + key: 'default',//默认分享key 写死default + title: '默认',//无需修改 + typ: 1,//分享类型 写死1 + videoid: '',//默认的视频广告id 填空就行 + }, + MidasPay: { // 米大师虚拟支付配置 *找运营提供 + OfferId: "9999999999", // 在米大师申请的应用id *找运营提供 + ZoneId: "1", // 分区ID,默认:1 + Mode: "game", // 默认:game + CurrencyType: "CNY", // 默认:CNY + Platform: '' // 申请接入时的平台 + } } // sdk版本 -export const SDKVersion = 'v1.0'; +export const SDKVersion = 'v1.0.1'; // 是否打印 export const __LOG__ = false; @@ -94,6 +94,7 @@ export const HostKeys = { totalrankAdd: 'game/totalrank/add', //排行榜添加分数 totalrankList: 'game/totalrank/list', //世界排行榜 adList: 'api/adplan/list', //广告计划列表 + behavior: 'api/douyin/behavior', //抖音投放关键行为 //订单 orderReport: 'api/order/v2/mimas', //订单信息上报 diff --git a/wxsdk/http/SDKApi.ts b/wxsdk/http/SDKApi.ts index 2fb4b0a..2ac8119 100644 --- a/wxsdk/http/SDKApi.ts +++ b/wxsdk/http/SDKApi.ts @@ -26,6 +26,8 @@ export class SDKApi { public static totalrankList = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.totalrankList}`, ...args); //广告计划列表 public static adList = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.adList}`, ...args); + // + public static behavior = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.behavior}`, ...args); //LoginApi diff --git a/wxsdk/service/DataService.ts b/wxsdk/service/DataService.ts index 75bedd0..b952828 100644 --- a/wxsdk/service/DataService.ts +++ b/wxsdk/service/DataService.ts @@ -99,6 +99,8 @@ export default class DataService { get amount() { return this._data.amount; } + + // 用户类型:1微信投放2抖音3自然量0未知 get pon() { return this._data.pon; } @@ -434,6 +436,23 @@ export default class DataService { return this; } + setCuleToken(cule_token) { + this.setValue('cule_token', cule_token) + return this; + } + setCreativeId(creative_id) { + this.setValue('creative_id', creative_id) + return this; + } + setAdvertisterId(advertister_id) { + this.setValue('advertister_id', advertister_id) + return this; + } + setRequestId(request_id) { + this.setValue('request_id', request_id) + return this; + } + get IsCross(): boolean { return this._data.isCross; } diff --git a/wxsdk/service/GameService.ts b/wxsdk/service/GameService.ts index d22e20b..7405444 100644 --- a/wxsdk/service/GameService.ts +++ b/wxsdk/service/GameService.ts @@ -62,6 +62,22 @@ export default class GameService { adList(adtyp) { return SDKApi.adList({ adtyp, uid: DataService.I.UserId, token: DataService.I.Token }) } + /** + * 抖音投放关键行为打点 + */ + behavior() { + + let gameid = GAMEDATA.game_id; + let uid = DataService.I.UserId; + let token = DataService.I.Token; + let openid = DataService.I.OpenId; + return SDKApi.behavior({ + openid, + gameid, + uid, + token + }) + } subScribe(tmplIds: Array, ids: Array): Promise { diff --git a/wxsdk/service/LogService.ts b/wxsdk/service/LogService.ts index 94c99d9..a55e080 100644 --- a/wxsdk/service/LogService.ts +++ b/wxsdk/service/LogService.ts @@ -1,5 +1,5 @@ import DataService from "./DataService"; -import { __LOG__, GAMEDATA } from "../base/SDKConst"; +import { __LOG__, GAMEDATA, SDKVersion } from "../base/SDKConst"; import { SDKApi } from "../http/SDKApi"; import WxSystem from "../wx/WxSystem"; import StorageUtils from "../utils/StorageUtils"; @@ -459,6 +459,7 @@ export default class LogService { */ private buildParams() { let APIVersion = '0.6.0';//固定值 + let pkv = SDKVersion; let gameid = GAMEDATA.game_id; let channel = DataService.I.ChannelId; let brand = WxSystem.I.brand; @@ -488,7 +489,8 @@ export default class LogService { env, logindays, amount, - pon + pon, + pkv }; } diff --git a/wxsdk/service/entity/SdkData.ts b/wxsdk/service/entity/SdkData.ts index 1d69d60..9a668c7 100644 --- a/wxsdk/service/entity/SdkData.ts +++ b/wxsdk/service/entity/SdkData.ts @@ -36,10 +36,14 @@ export default class SdkData { public isCross: boolean; // 是否开启交叉悬浮框推广位 public isDrawer: boolean; // 是否开启交叉抽屉推广位 public isGuessLike: boolean; // 是否开启交叉猜你喜欢推广位 - public logindays:number; // 登录天数 - public amount:number; // 充值金额 - public pon:number; // 用户类型 - + public logindays: number; // 登录天数 + public amount: number; // 充值金额 + public pon: number; // 用户类型:1微信投放2抖音3自然量0未知 + public cule_token: string; // 用户通过广告调起微信小游戏的唯一编码 + public creative_id: string; //创意ID + public advertister_id: string; //广告账户ID + public request_id: string; // 请求下发ID + constructor() { this.token = ''; @@ -79,6 +83,10 @@ export default class SdkData { this.logindays = 0; this.amount = 0; this.pon = 0; + this.cule_token =''; + this.creative_id =''; + this.advertister_id =''; + this.request_id =''; } } diff --git a/wxsdk/utils/SignUtils.ts b/wxsdk/utils/SignUtils.ts index aab95bf..4d60431 100644 --- a/wxsdk/utils/SignUtils.ts +++ b/wxsdk/utils/SignUtils.ts @@ -70,8 +70,8 @@ export default class SignUtils { let key = ''; let query = ''; for (let i = 0, len = keys.length; i < len; i++) { - // 为空,为 0的参数不参与签名,参数名为ver的参数不参与签名, 字符集为 utf-8 - if (params[keys[i]] === '' || params[keys[i]] === '0' || params[keys[i]] === 0 || keys[i] === 'ver') continue + // 为空,为 0的参数不参与签名,参数名为ver,pkv的参数不参与签名, 字符集为 utf-8 + if (params[keys[i]] === '' || params[keys[i]] === '0' || params[keys[i]] === 0 || keys[i] === 'ver'|| keys[i] === 'pkv') continue key = keys[i]; i && (query += ''); if(SDKUtils.isArray(params[key])){ diff --git a/wxsdk/wx/WxInit.ts b/wxsdk/wx/WxInit.ts index 1af0e4f..0ddac9b 100644 --- a/wxsdk/wx/WxInit.ts +++ b/wxsdk/wx/WxInit.ts @@ -37,7 +37,14 @@ export default class WxInit { weixinadinfo, account_id, service_id, - shareMessageToFriendScene + shareMessageToFriendScene, + // 抖音投放相关信息 + cule_token, + ad_id, + creative_id, + advertister_id, + request_id + // 抖音投放相关信息 end } = query; let fromChannel = channelId || channel_id || channel || td_channelid; @@ -47,21 +54,16 @@ export default class WxInit { if (infoArr && infoArr.length) fromChannel = infoArr[0]; } + // 设置抖音投放转化跟踪 + if(ad_id){ + fromChannel = ad_id; + } //定向分享统计 if (shareMessageToFriendScene && shareMessageToFriendScene >= 0 && shareMessageToFriendScene <= 50) { share_key = GAMEDATA.shareMessageToFriend.sharekey; share_id = GAMEDATA.shareMessageToFriend.share_id; } - // 计算最终渠道ID - // let lchannelId: number; - // let { IntegralChannelId, ChannelId } = CfgManager.I.config; - // if (fromChannel) - // lchannelId = fromChannel; - // else if (scene === SceneCode.WX_INTEGRAL && IntegralChannelId) - // lchannelId = IntegralChannelId; - // else - // lchannelId = ChannelId; __LOG__ && console.warn(`====> PCSDK wxinit query user_invite_uid:${user_invite_uid}; fromChannel:${fromChannel}; channelId:${fromChannel}; scene:${scene}; share_id:${share_id}; share_key:${share_key};`); @@ -78,7 +80,12 @@ export default class WxInit { .setQueryUserInviteUid(user_invite_uid || 0) .setQueryExtData({ account_id, service_id }) .setSystemId() - .setLaunchSource(); + .setLaunchSource() + .setCuleToken(cule_token) + .setCreativeId(creative_id) + .setAdvertisterId(advertister_id) + .setRequestId(request_id) + //cule_token=cule_token123&creative_id=creative_id213&ad_id=ad_id9999&request_id=request_id456&advertister_id=advertister_id9876 // 设置网络类型 WxApi.I.getNetworkType() .then((ret: _NetworkTypeSuccessObject) => this.setNetworkType(ret)) diff --git a/wxsdk/wx/WxLogin.ts b/wxsdk/wx/WxLogin.ts index a9ff58c..9e879e3 100644 --- a/wxsdk/wx/WxLogin.ts +++ b/wxsdk/wx/WxLogin.ts @@ -136,6 +136,10 @@ export default class WxLogin { let scene = DataService.I.Scene + ''; let sharekey = DataService.I.ShareKey; let shareid = DataService.I.ShareId + ''; + let cule_token = DataService.I.Data.cule_token; + let creative_id = DataService.I.Data.creative_id; + let advertister_id = DataService.I.Data.advertister_id; + let request_id = DataService.I.Data.request_id; return { channel, brand, @@ -147,7 +151,11 @@ export default class WxLogin { shareuid, scene, sharekey, - shareid + shareid, + cule_token, + creative_id, + advertister_id, + request_id }; } -- libgit2 0.21.0