Commit 335b5598a1a81eac9d6725526bc17942ad4e3ee7

Authored by 宋庆平
1 parent fedd4dca

X

sdk/Analytics.ts
@@ -93,4 +93,5 @@ export class Analytics { @@ -93,4 +93,5 @@ export class Analytics {
93 93
94 } 94 }
95 export enum EventKey { 95 export enum EventKey {
  96 +
96 } 97 }
sdk/SDKTools.ts
@@ -34,6 +34,11 @@ export class SDKTools { @@ -34,6 +34,11 @@ export class SDKTools {
34 return WXSDK.data.openId; 34 return WXSDK.data.openId;
35 } 35 }
36 36
  37 + static get pon() {
  38 + return WXSDK.data.pon;
  39 + }
  40 +
  41 +
37 // 是否当天注册用户 42 // 是否当天注册用户
38 static get isnew() { 43 static get isnew() {
39 try { 44 try {
@@ -318,7 +323,7 @@ export class SDKTools { @@ -318,7 +323,7 @@ export class SDKTools {
318 * @param opts 323 * @param opts
319 * @returns 324 * @returns
320 */ 325 */
321 - static pay(params: {payid:string, goodid:string, money: number; orderid: string }, opts: any = {}) { 326 + static pay(params: { payid: string, goodid: string, money: number; orderid: string }, opts: any = {}) {
322 return WXSDK.game.pay(params, opts) 327 return WXSDK.game.pay(params, opts)
323 } 328 }
324 /** 329 /**
@@ -334,8 +339,8 @@ export class SDKTools { @@ -334,8 +339,8 @@ export class SDKTools {
334 * @param orderid 订单号 339 * @param orderid 订单号
335 * @returns 340 * @returns
336 */ 341 */
337 - static preorder(goodid:string,orderid:string) {  
338 - return WXSDK.game.preorder(goodid,orderid) 342 + static preorder(goodid: string, orderid: string) {
  343 + return WXSDK.game.preorder(goodid, orderid)
339 } 344 }
340 345
341 346
@@ -349,6 +354,12 @@ export class SDKTools { @@ -349,6 +354,12 @@ export class SDKTools {
349 } 354 }
350 355
351 356
  357 + //抖音投放关键行为
  358 + static behavior() {
  359 + return WXSDK.game.behavior()
  360 + }
  361 +
  362 +
352 } 363 }
353 364
354 /** 365 /**
sdk/shareTools.ts
@@ -93,4 +93,5 @@ export class ShareTools { @@ -93,4 +93,5 @@ export class ShareTools {
93 93
94 94
95 export enum ShareKey { 95 export enum ShareKey {
  96 +
96 } 97 }
wxsdk/base/SDKConst.ts
1 // 游戏配置数据 只需要改动这里的配置信息 1 // 游戏配置数据 只需要改动这里的配置信息
2 // 游戏配置数据 只需要改动这里的配置信息 2 // 游戏配置数据 只需要改动这里的配置信息
3 export const GAMEDATA = { 3 export const GAMEDATA = {
4 - game_id: '10000',  
5 - channel_id: '10080',  
6 - version: '1.0.0', //游戏版本号,发版前+1  
7 - appkey: 'cf2ea5aca60b562d927805c52876a96c',  
8 - interstitialAdId: 'adunit-638f9158bce2c31e',//插屏ID  
9 - bannerId: '',//banner  
10 - gridId: '',//格子  
11 - customId: 'adunit-3ecef510636baa07',//原生模板单个 //adunit-fb925feb16d2c13b  
12 - videoAd: 'adunit-638f9158bce2c31e',//初始化视频广告id  
13 - shareMessageToFriend: { // 暂时只支持一个场景值  
14 - scene: 10, //定向分享场景值1-50 配>0的会初始化  
15 - sharekey: 'shareMessageToFriendScene',//定向分享对应后台的分享key  
16 - share_id: 26,//定向分享对应后台的分享key  
17 - },  
18 - default_share: {  
19 - content: '分享标题.....',  
20 - icon: '分享图链接',  
21 - id: '9999',  
22 - key: 'default',  
23 - title: '默认',  
24 - typ: 1,  
25 - videoid: ''  
26 - },  
27 - MidasPay: { // 米大师虚拟支付配置  
28 - OfferId: "0000000000", // 在米大师申请的应用id  
29 - ZoneId: "1", // 分区ID,默认:1  
30 - Mode: "game", // 默认:game  
31 - CurrencyType: "CNY", // 默认:CNY  
32 - Platform: '' // 申请接入时的平台  
33 - } 4 + game_id: '10001',//游戏id
  5 + channel_id: '10001',//渠道id 暂时和游戏id一致
  6 + version: '1.0.1', //版本号 中台控制正式还是测试服,尽量保持和小游戏版本一致
  7 + appkey: 'd959274a83ea3b95bd1d9b765683eff6',//中台appkey
  8 + interstitialAdId: 'adunit-4bd19de3c351233e',//插屏ID
  9 + bannerId: 'adunit-25341fff11681315',//banner
  10 + gridId: 'adunit-491a39ffc9a330a5',//格子
  11 + customId: 'adunit-193590de82ede6a4',//原生模板单个
  12 + customIds: 'adunit-c905cad189ee8a74',//原生模板多个
  13 + shareMessageToFriend: { // 暂时只支持一个场景值
  14 + scene: 0, //定向分享场景值1-50 配>0的会初始化
  15 + sharekey: 'shareMessageToFriendScene',//定向分享对应后台的分享key
  16 + share_id: 26,//定向分享对应后台的分享key
  17 + },
  18 + default_share: { //默认分享数据在拉取不到中台分享数据的时候用
  19 + content: '全新版本的连连消,等你来玩!',//分享标题 *找运营提供
  20 + icon: 'xxxx',//分享图链接 *找运营提供
  21 + id: '9999',//默认id 写死9999
  22 + key: 'default',//默认分享key 写死default
  23 + title: '默认',//无需修改
  24 + typ: 1,//分享类型 写死1
  25 + videoid: '',//默认的视频广告id 填空就行
  26 + },
  27 + MidasPay: { // 米大师虚拟支付配置 *找运营提供
  28 + OfferId: "9999999999", // 在米大师申请的应用id *找运营提供
  29 + ZoneId: "1", // 分区ID,默认:1
  30 + Mode: "game", // 默认:game
  31 + CurrencyType: "CNY", // 默认:CNY
  32 + Platform: '' // 申请接入时的平台
  33 + }
34 } 34 }
35 35
36 36
37 // sdk版本 37 // sdk版本
38 -export const SDKVersion = 'v1.0'; 38 +export const SDKVersion = 'v1.0.1';
39 // 是否打印 39 // 是否打印
40 export const __LOG__ = false; 40 export const __LOG__ = false;
41 41
@@ -94,6 +94,7 @@ export const HostKeys = { @@ -94,6 +94,7 @@ export const HostKeys = {
94 totalrankAdd: 'game/totalrank/add', //排行榜添加分数 94 totalrankAdd: 'game/totalrank/add', //排行榜添加分数
95 totalrankList: 'game/totalrank/list', //世界排行榜 95 totalrankList: 'game/totalrank/list', //世界排行榜
96 adList: 'api/adplan/list', //广告计划列表 96 adList: 'api/adplan/list', //广告计划列表
  97 + behavior: 'api/douyin/behavior', //抖音投放关键行为
97 98
98 //订单 99 //订单
99 orderReport: 'api/order/v2/mimas', //订单信息上报 100 orderReport: 'api/order/v2/mimas', //订单信息上报
wxsdk/http/SDKApi.ts
@@ -26,6 +26,8 @@ export class SDKApi { @@ -26,6 +26,8 @@ export class SDKApi {
26 public static totalrankList = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.totalrankList}`, ...args); 26 public static totalrankList = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.totalrankList}`, ...args);
27 //广告计划列表 27 //广告计划列表
28 public static adList = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.adList}`, ...args); 28 public static adList = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.adList}`, ...args);
  29 + //
  30 + public static behavior = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.behavior}`, ...args);
29 31
30 32
31 //LoginApi 33 //LoginApi
wxsdk/service/DataService.ts
@@ -99,6 +99,8 @@ export default class DataService { @@ -99,6 +99,8 @@ export default class DataService {
99 get amount() { 99 get amount() {
100 return this._data.amount; 100 return this._data.amount;
101 } 101 }
  102 +
  103 + // 用户类型:1微信投放2抖音3自然量0未知
102 get pon() { 104 get pon() {
103 return this._data.pon; 105 return this._data.pon;
104 } 106 }
@@ -434,6 +436,23 @@ export default class DataService { @@ -434,6 +436,23 @@ export default class DataService {
434 return this; 436 return this;
435 } 437 }
436 438
  439 + setCuleToken(cule_token) {
  440 + this.setValue('cule_token', cule_token)
  441 + return this;
  442 + }
  443 + setCreativeId(creative_id) {
  444 + this.setValue('creative_id', creative_id)
  445 + return this;
  446 + }
  447 + setAdvertisterId(advertister_id) {
  448 + this.setValue('advertister_id', advertister_id)
  449 + return this;
  450 + }
  451 + setRequestId(request_id) {
  452 + this.setValue('request_id', request_id)
  453 + return this;
  454 + }
  455 +
437 get IsCross(): boolean { 456 get IsCross(): boolean {
438 return this._data.isCross; 457 return this._data.isCross;
439 } 458 }
wxsdk/service/GameService.ts
@@ -62,6 +62,22 @@ export default class GameService { @@ -62,6 +62,22 @@ export default class GameService {
62 adList(adtyp) { 62 adList(adtyp) {
63 return SDKApi.adList({ adtyp, uid: DataService.I.UserId, token: DataService.I.Token }) 63 return SDKApi.adList({ adtyp, uid: DataService.I.UserId, token: DataService.I.Token })
64 } 64 }
  65 + /**
  66 + * 抖音投放关键行为打点
  67 + */
  68 + behavior() {
  69 +
  70 + let gameid = GAMEDATA.game_id;
  71 + let uid = DataService.I.UserId;
  72 + let token = DataService.I.Token;
  73 + let openid = DataService.I.OpenId;
  74 + return SDKApi.behavior({
  75 + openid,
  76 + gameid,
  77 + uid,
  78 + token
  79 + })
  80 + }
65 81
66 82
67 subScribe(tmplIds: Array<string>, ids: Array<string>): Promise<any> { 83 subScribe(tmplIds: Array<string>, ids: Array<string>): Promise<any> {
wxsdk/service/LogService.ts
1 import DataService from "./DataService"; 1 import DataService from "./DataService";
2 -import { __LOG__, GAMEDATA } from "../base/SDKConst"; 2 +import { __LOG__, GAMEDATA, SDKVersion } from "../base/SDKConst";
3 import { SDKApi } from "../http/SDKApi"; 3 import { SDKApi } from "../http/SDKApi";
4 import WxSystem from "../wx/WxSystem"; 4 import WxSystem from "../wx/WxSystem";
5 import StorageUtils from "../utils/StorageUtils"; 5 import StorageUtils from "../utils/StorageUtils";
@@ -459,6 +459,7 @@ export default class LogService { @@ -459,6 +459,7 @@ export default class LogService {
459 */ 459 */
460 private buildParams() { 460 private buildParams() {
461 let APIVersion = '0.6.0';//固定值 461 let APIVersion = '0.6.0';//固定值
  462 + let pkv = SDKVersion;
462 let gameid = GAMEDATA.game_id; 463 let gameid = GAMEDATA.game_id;
463 let channel = DataService.I.ChannelId; 464 let channel = DataService.I.ChannelId;
464 let brand = WxSystem.I.brand; 465 let brand = WxSystem.I.brand;
@@ -488,7 +489,8 @@ export default class LogService { @@ -488,7 +489,8 @@ export default class LogService {
488 env, 489 env,
489 logindays, 490 logindays,
490 amount, 491 amount,
491 - pon 492 + pon,
  493 + pkv
492 }; 494 };
493 } 495 }
494 496
wxsdk/service/entity/SdkData.ts
@@ -36,10 +36,14 @@ export default class SdkData { @@ -36,10 +36,14 @@ export default class SdkData {
36 public isCross: boolean; // 是否开启交叉悬浮框推广位 36 public isCross: boolean; // 是否开启交叉悬浮框推广位
37 public isDrawer: boolean; // 是否开启交叉抽屉推广位 37 public isDrawer: boolean; // 是否开启交叉抽屉推广位
38 public isGuessLike: boolean; // 是否开启交叉猜你喜欢推广位 38 public isGuessLike: boolean; // 是否开启交叉猜你喜欢推广位
39 - public logindays:number; // 登录天数  
40 - public amount:number; // 充值金额  
41 - public pon:number; // 用户类型  
42 - 39 + public logindays: number; // 登录天数
  40 + public amount: number; // 充值金额
  41 + public pon: number; // 用户类型:1微信投放2抖音3自然量0未知
  42 + public cule_token: string; // 用户通过广告调起微信小游戏的唯一编码
  43 + public creative_id: string; //创意ID
  44 + public advertister_id: string; //广告账户ID
  45 + public request_id: string; // 请求下发ID
  46 +
43 47
44 constructor() { 48 constructor() {
45 this.token = ''; 49 this.token = '';
@@ -79,6 +83,10 @@ export default class SdkData { @@ -79,6 +83,10 @@ export default class SdkData {
79 this.logindays = 0; 83 this.logindays = 0;
80 this.amount = 0; 84 this.amount = 0;
81 this.pon = 0; 85 this.pon = 0;
  86 + this.cule_token ='';
  87 + this.creative_id ='';
  88 + this.advertister_id ='';
  89 + this.request_id ='';
82 } 90 }
83 } 91 }
84 92
wxsdk/utils/SignUtils.ts
@@ -70,8 +70,8 @@ export default class SignUtils { @@ -70,8 +70,8 @@ export default class SignUtils {
70 let key = ''; 70 let key = '';
71 let query = ''; 71 let query = '';
72 for (let i = 0, len = keys.length; i < len; i++) { 72 for (let i = 0, len = keys.length; i < len; i++) {
73 - // 为空,为 0的参数不参与签名,参数名为ver的参数不参与签名, 字符集为 utf-8  
74 - if (params[keys[i]] === '' || params[keys[i]] === '0' || params[keys[i]] === 0 || keys[i] === 'ver') continue 73 + // 为空,为 0的参数不参与签名,参数名为ver,pkv的参数不参与签名, 字符集为 utf-8
  74 + if (params[keys[i]] === '' || params[keys[i]] === '0' || params[keys[i]] === 0 || keys[i] === 'ver'|| keys[i] === 'pkv') continue
75 key = keys[i]; 75 key = keys[i];
76 i && (query += ''); 76 i && (query += '');
77 if(SDKUtils.isArray(params[key])){ 77 if(SDKUtils.isArray(params[key])){
wxsdk/wx/WxInit.ts
@@ -37,7 +37,14 @@ export default class WxInit { @@ -37,7 +37,14 @@ export default class WxInit {
37 weixinadinfo, 37 weixinadinfo,
38 account_id, 38 account_id,
39 service_id, 39 service_id,
40 - shareMessageToFriendScene 40 + shareMessageToFriendScene,
  41 + // 抖音投放相关信息
  42 + cule_token,
  43 + ad_id,
  44 + creative_id,
  45 + advertister_id,
  46 + request_id
  47 + // 抖音投放相关信息 end
41 } = query; 48 } = query;
42 49
43 let fromChannel = channelId || channel_id || channel || td_channelid; 50 let fromChannel = channelId || channel_id || channel || td_channelid;
@@ -47,21 +54,16 @@ export default class WxInit { @@ -47,21 +54,16 @@ export default class WxInit {
47 if (infoArr && infoArr.length) 54 if (infoArr && infoArr.length)
48 fromChannel = infoArr[0]; 55 fromChannel = infoArr[0];
49 } 56 }
  57 + // 设置抖音投放转化跟踪
  58 + if(ad_id){
  59 + fromChannel = ad_id;
  60 + }
50 61
51 //定向分享统计 62 //定向分享统计
52 if (shareMessageToFriendScene && shareMessageToFriendScene >= 0 && shareMessageToFriendScene <= 50) { 63 if (shareMessageToFriendScene && shareMessageToFriendScene >= 0 && shareMessageToFriendScene <= 50) {
53 share_key = GAMEDATA.shareMessageToFriend.sharekey; 64 share_key = GAMEDATA.shareMessageToFriend.sharekey;
54 share_id = GAMEDATA.shareMessageToFriend.share_id; 65 share_id = GAMEDATA.shareMessageToFriend.share_id;
55 } 66 }
56 - // 计算最终渠道ID  
57 - // let lchannelId: number;  
58 - // let { IntegralChannelId, ChannelId } = CfgManager.I.config;  
59 - // if (fromChannel)  
60 - // lchannelId = fromChannel;  
61 - // else if (scene === SceneCode.WX_INTEGRAL && IntegralChannelId)  
62 - // lchannelId = IntegralChannelId;  
63 - // else  
64 - // lchannelId = ChannelId;  
65 67
66 __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};`); 68 __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};`);
67 69
@@ -78,7 +80,12 @@ export default class WxInit { @@ -78,7 +80,12 @@ export default class WxInit {
78 .setQueryUserInviteUid(user_invite_uid || 0) 80 .setQueryUserInviteUid(user_invite_uid || 0)
79 .setQueryExtData({ account_id, service_id }) 81 .setQueryExtData({ account_id, service_id })
80 .setSystemId() 82 .setSystemId()
81 - .setLaunchSource(); 83 + .setLaunchSource()
  84 + .setCuleToken(cule_token)
  85 + .setCreativeId(creative_id)
  86 + .setAdvertisterId(advertister_id)
  87 + .setRequestId(request_id)
  88 + //cule_token=cule_token123&creative_id=creative_id213&ad_id=ad_id9999&request_id=request_id456&advertister_id=advertister_id9876
82 // 设置网络类型 89 // 设置网络类型
83 WxApi.I.getNetworkType() 90 WxApi.I.getNetworkType()
84 .then((ret: _NetworkTypeSuccessObject) => this.setNetworkType(ret)) 91 .then((ret: _NetworkTypeSuccessObject) => this.setNetworkType(ret))
wxsdk/wx/WxLogin.ts
@@ -136,6 +136,10 @@ export default class WxLogin { @@ -136,6 +136,10 @@ export default class WxLogin {
136 let scene = DataService.I.Scene + ''; 136 let scene = DataService.I.Scene + '';
137 let sharekey = DataService.I.ShareKey; 137 let sharekey = DataService.I.ShareKey;
138 let shareid = DataService.I.ShareId + ''; 138 let shareid = DataService.I.ShareId + '';
  139 + let cule_token = DataService.I.Data.cule_token;
  140 + let creative_id = DataService.I.Data.creative_id;
  141 + let advertister_id = DataService.I.Data.advertister_id;
  142 + let request_id = DataService.I.Data.request_id;
139 return { 143 return {
140 channel, 144 channel,
141 brand, 145 brand,
@@ -147,7 +151,11 @@ export default class WxLogin { @@ -147,7 +151,11 @@ export default class WxLogin {
147 shareuid, 151 shareuid,
148 scene, 152 scene,
149 sharekey, 153 sharekey,
150 - shareid 154 + shareid,
  155 + cule_token,
  156 + creative_id,
  157 + advertister_id,
  158 + request_id
151 }; 159 };
152 } 160 }
153 161