Commit 335b5598a1a81eac9d6725526bc17942ad4e3ee7
1 parent
fedd4dca
Exists in
master
and in
3 other branches
X
Showing
12 changed files
with
130 additions
and
54 deletions
Show diff stats
sdk/Analytics.ts
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
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 |