Commit 335b5598a1a81eac9d6725526bc17942ad4e3ee7

Authored by 宋庆平
1 parent fedd4dca

X

sdk/Analytics.ts
... ... @@ -93,4 +93,5 @@ export class Analytics {
93 93  
94 94 }
95 95 export enum EventKey {
  96 +
96 97 }
... ...
sdk/SDKTools.ts
... ... @@ -34,6 +34,11 @@ export class SDKTools {
34 34 return WXSDK.data.openId;
35 35 }
36 36  
  37 + static get pon() {
  38 + return WXSDK.data.pon;
  39 + }
  40 +
  41 +
37 42 // 是否当天注册用户
38 43 static get isnew() {
39 44 try {
... ... @@ -318,7 +323,7 @@ export class SDKTools {
318 323 * @param opts
319 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 327 return WXSDK.game.pay(params, opts)
323 328 }
324 329 /**
... ... @@ -334,8 +339,8 @@ export class SDKTools {
334 339 * @param orderid 订单号
335 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 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 93  
94 94  
95 95 export enum ShareKey {
  96 +
96 97 }
... ...
wxsdk/base/SDKConst.ts
1 1 // 游戏配置数据 只需要改动这里的配置信息
2 2 // 游戏配置数据 只需要改动这里的配置信息
3 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 37 // sdk版本
38   -export const SDKVersion = 'v1.0';
  38 +export const SDKVersion = 'v1.0.1';
39 39 // 是否打印
40 40 export const __LOG__ = false;
41 41  
... ... @@ -94,6 +94,7 @@ export const HostKeys = {
94 94 totalrankAdd: 'game/totalrank/add', //排行榜添加分数
95 95 totalrankList: 'game/totalrank/list', //世界排行榜
96 96 adList: 'api/adplan/list', //广告计划列表
  97 + behavior: 'api/douyin/behavior', //抖音投放关键行为
97 98  
98 99 //订单
99 100 orderReport: 'api/order/v2/mimas', //订单信息上报
... ...
wxsdk/http/SDKApi.ts
... ... @@ -26,6 +26,8 @@ export class SDKApi {
26 26 public static totalrankList = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.totalrankList}`, ...args);
27 27 //广告计划列表
28 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 33 //LoginApi
... ...
wxsdk/service/DataService.ts
... ... @@ -99,6 +99,8 @@ export default class DataService {
99 99 get amount() {
100 100 return this._data.amount;
101 101 }
  102 +
  103 + // 用户类型:1微信投放2抖音3自然量0未知
102 104 get pon() {
103 105 return this._data.pon;
104 106 }
... ... @@ -434,6 +436,23 @@ export default class DataService {
434 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 456 get IsCross(): boolean {
438 457 return this._data.isCross;
439 458 }
... ...
wxsdk/service/GameService.ts
... ... @@ -62,6 +62,22 @@ export default class GameService {
62 62 adList(adtyp) {
63 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 83 subScribe(tmplIds: Array<string>, ids: Array<string>): Promise<any> {
... ...
wxsdk/service/LogService.ts
1 1 import DataService from "./DataService";
2   -import { __LOG__, GAMEDATA } from "../base/SDKConst";
  2 +import { __LOG__, GAMEDATA, SDKVersion } from "../base/SDKConst";
3 3 import { SDKApi } from "../http/SDKApi";
4 4 import WxSystem from "../wx/WxSystem";
5 5 import StorageUtils from "../utils/StorageUtils";
... ... @@ -459,6 +459,7 @@ export default class LogService {
459 459 */
460 460 private buildParams() {
461 461 let APIVersion = '0.6.0';//固定值
  462 + let pkv = SDKVersion;
462 463 let gameid = GAMEDATA.game_id;
463 464 let channel = DataService.I.ChannelId;
464 465 let brand = WxSystem.I.brand;
... ... @@ -488,7 +489,8 @@ export default class LogService {
488 489 env,
489 490 logindays,
490 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 36 public isCross: boolean; // 是否开启交叉悬浮框推广位
37 37 public isDrawer: boolean; // 是否开启交叉抽屉推广位
38 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 48 constructor() {
45 49 this.token = '';
... ... @@ -79,6 +83,10 @@ export default class SdkData {
79 83 this.logindays = 0;
80 84 this.amount = 0;
81 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 70 let key = '';
71 71 let query = '';
72 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 75 key = keys[i];
76 76 i && (query += '');
77 77 if(SDKUtils.isArray(params[key])){
... ...
wxsdk/wx/WxInit.ts
... ... @@ -37,7 +37,14 @@ export default class WxInit {
37 37 weixinadinfo,
38 38 account_id,
39 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 48 } = query;
42 49  
43 50 let fromChannel = channelId || channel_id || channel || td_channelid;
... ... @@ -47,21 +54,16 @@ export default class WxInit {
47 54 if (infoArr && infoArr.length)
48 55 fromChannel = infoArr[0];
49 56 }
  57 + // 设置抖音投放转化跟踪
  58 + if(ad_id){
  59 + fromChannel = ad_id;
  60 + }
50 61  
51 62 //定向分享统计
52 63 if (shareMessageToFriendScene && shareMessageToFriendScene >= 0 && shareMessageToFriendScene <= 50) {
53 64 share_key = GAMEDATA.shareMessageToFriend.sharekey;
54 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 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 80 .setQueryUserInviteUid(user_invite_uid || 0)
79 81 .setQueryExtData({ account_id, service_id })
80 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 90 WxApi.I.getNetworkType()
84 91 .then((ret: _NetworkTypeSuccessObject) => this.setNetworkType(ret))
... ...
wxsdk/wx/WxLogin.ts
... ... @@ -136,6 +136,10 @@ export default class WxLogin {
136 136 let scene = DataService.I.Scene + '';
137 137 let sharekey = DataService.I.ShareKey;
138 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 143 return {
140 144 channel,
141 145 brand,
... ... @@ -147,7 +151,11 @@ export default class WxLogin {
147 151 shareuid,
148 152 scene,
149 153 sharekey,
150   - shareid
  154 + shareid,
  155 + cule_token,
  156 + creative_id,
  157 + advertister_id,
  158 + request_id
151 159 };
152 160 }
153 161  
... ...