Commit 026f6d130435fc2cee9f2d1aee8426a61a1575c8

Authored by 小川 费
1 parent 7ba8d769
Exists in master

动态参数模块

Showing 3 changed files with 172 additions and 6 deletions   Show diff stats
SUMMARY.md
... ... @@ -13,7 +13,7 @@
13 13 * [自定义事件打点✔️](stat_event.md)
14 14 * [交叉推广位✔️](stat_ads.md)
15 15 * [分享视频模块](share.md)
16   -* [在线配置模块](online.md)
  16 +* [配置参数模块️✔️](online.md)
17 17 * [多平台接口模块](platform.md)
18 18 * [支付打点](platform_pay.md)
19 19 * [授权按钮](platform_common.md#userbtn)
... ...
online.md 0 → 100644
... ... @@ -0,0 +1,165 @@
  1 +
  2 +# 配置参数模块
  3 +
  4 +------
  5 +
  6 +#### **简介**
  7 +
  8 +在线配置参数是噗嗤游戏开放的一个新模块功能,可以让开发者在后台配置参数中动态修改游戏中的参数值。例如:动态修改游戏的数值,小到一个简单开关0/1切换、一个简单的数字配置;打到一个游戏json配置等等。
  9 +
  10 +该模块借鉴了[友盟在线配置参数](http://www.it610.com/article/4896789.htm)的设计思路。
  11 +
  12 +
  13 +
  14 +#### **后台使用**
  15 +
  16 +设置在线配置参数,登录后台->头部tab切换到【游戏数据】->【配置相关】->【配置参数】可新增、编辑修改参数值,配置完毕后,通过online模块相关的api使用:
  17 +
  18 +![sdk文件目录结构](https://dep.miso-lab.com/sdkword/sdk_021.png)
  19 +
  20 +
  21 +
  22 +#### **接入API:**
  23 +
  24 +| **名称** | **功能说明** |
  25 +| ------------------------------- | ------------------------------------------------------------ |
  26 +| PCSDK.online.updateOnlineConfig | 拉取后台配置的配置参数数据,可代码中手动调用,也可以通过config.js中配置SDK主动拉取,注意:使用前请详细[阅读config.js的IsOnlineAutoUse和IsOnlineDebug参数详解](install.md#config_env) |
  27 +| PCSDK.online.getParamsInt | 根据在线参数key获取number类型参数值,适合配置参数为:整数、浮点数 |
  28 +| PCSDK.online.getParamsObj | 根据在线参数key获取object类型参数值,适合配置参数为:数组、json对象 |
  29 +| PCSDK.online.getParamsString | 根据在线参数key获取string类型参数值,适合配置参数为:字符串、json字符串 |
  30 +
  31 +
  32 +
  33 +1. ##### **updateOnlineConfig**
  34 +
  35 + ```javascript
  36 + PCSDK.online.updateOnlineConfig(): Promise<any>
  37 + ```
  38 +
  39 + 定义:拉取后台配置的配置参数数据,
  40 +
  41 + 提示:
  42 +
  43 + > [config.js中配置IsOnlineAutoUse](install.md#config_env)为true:SDK启动时自动去拉取在线配置参数,开发者不需要调用此接口,不然会导致重复拉取
  44 + >
  45 + > [config.js中配置IsOnlineAutoUse](install.md#config_env)为false:有两种理解方式:1)不接入使用在线配置参数模块;2)接入使用在线配置参数模块,开发者自己手动调用updateOnlineConfig api处理逻辑。
  46 + >
  47 + > 下面示例会演示两种不同配置的使用范例:
  48 +
  49 + 参数:
  50 +
  51 + ```
  52 + 无
  53 + ```
  54 +
  55 + 返回值:
  56 +
  57 + ```
  58 + Promise<any>
  59 + ```
  60 +
  61 + <div id="sample"></div>
  62 +
  63 + 示例1:config.js配置IsOnlineAutoUse为false,开发者调用updateOnlineConfig api手动拉取在线配置参数数据
  64 +
  65 + ```javascript
  66 + // 后台 ->【游戏数据】->【配置参数】栏配置了:是否显示微信插屏广告、交叉推广位是否展示动态开关
  67 + PCSDK.online.updateOnlineConfig().then(() => {
  68 + // 使用1:获取是否后台动态配置开启插屏广告,1为开启,0为关闭
  69 + let isInterstitialAd = PCSDK.online.getParamsInt('interstitial_ad_open', 0) === 1;
  70 + // isInterstitialAd && '显示插屏广告';
  71 +
  72 + // 使用2:获取动态多个广告位开启的配置
  73 + let pcGameOpenMap = PCSDK.online.getParamsObj('pc_games_open', { "Drawer": 0, "GuessLike": 0, "Cross": 0 });
  74 + // pcGameOpenMap.Drawer === 1 && '显示抽屉推广位';
  75 + // pcGameOpenMap.GuessLike === 1 && '显示猜你喜欢推广位';
  76 + // pcGameOpenMap.Cross === 1 && '显示交叉推广位';
  77 +
  78 + // 使用3:获取签到配置
  79 + let signRewardCfg = PCSDK.online.getParamsObj('sign_reward_cfg', [100,300,500,700,900,2000,3000]);
  80 +
  81 + // 使用4:获取动态bannerUid
  82 + let bannerUid = PCSDK.online.getParamsString('banner_common_uid', 'adunit-fe38438f074c717f');
  83 + // bannerUid && '显示banner';
  84 + });
  85 + ```
  86 +
  87 + 示例2:config.js配置IsOnlineAutoUse为true,SDK启动时会自动调用 updateOnlineConfig api拉取在线配置参数数据
  88 +
  89 + ```javascript
  90 + let isInterstitialAd = PCSDK.online.getParamsInt('interstitial_ad_open', 0) === 1;
  91 + let pcGameOpenMap = PCSDK.online.getParamsObj('pc_games_open', { "Drawer": 0, "GuessLike": 0, "Cross": 0 });
  92 + ```
  93 +
  94 +
  95 +
  96 +2. ##### **getParamsInt**
  97 +
  98 + ```javascript
  99 + PCSDK.online.getParamsInt( key: string, defaultVal?: number ): number
  100 + ```
  101 +
  102 + 定义:根据在线参数key获取number类型参数值,适合配置参数为:整数、浮点数
  103 +
  104 + 参数:
  105 +
  106 + ```javascript
  107 + key: string 必传 后台 ->【配置参数】配置的key
  108 + defaultVal: number 选传 默认值 后台没有配置此key,或在线配置参数数据拉取失败,则返回此值
  109 + ```
  110 +
  111 + 返回值:
  112 +
  113 + ```
  114 + number
  115 + ```
  116 +
  117 + 示例:[查看上面的示例代码](online.md#sample)
  118 +
  119 +3. **getParamsObj**
  120 +
  121 + ```javascript
  122 + PCSDK.online.getParamsObj( key: string, defaultVal?: any ): any
  123 + ```
  124 +
  125 + 定义:根据在线参数key获取object类型参数值,适合配置参数为:数组、json对象
  126 +
  127 + 参数:
  128 +
  129 + ```javascript
  130 + key: string 必传 后台 ->【配置参数】配置的key
  131 + defaultVal: any 选传 默认值 后台没有配置此key,或在线配置参数数据拉取失败,则返回此值
  132 + ```
  133 +
  134 + 返回值:
  135 +
  136 + ```
  137 + object | array | null
  138 + ```
  139 +
  140 + 示例:[查看上面的示例代码](online.md#sample)
  141 +
  142 +1. **getParamsString**
  143 +
  144 + ```javascript
  145 + PCSDK.online.getParamsString( key: string, defaultVal?: string ): string
  146 + ```
  147 +
  148 + 定义:根据在线参数key获取string类型参数值,适合配置参数为:字符串、json字符串
  149 +
  150 + 参数:
  151 +
  152 + ```javascript
  153 + key: string 必传 后台 ->【配置参数】配置的key
  154 + defaultVal: string 选传 默认值 后台没有配置此key,或在线配置参数数据拉取失败,则返回此值
  155 + ```
  156 +
  157 + 返回值:
  158 +
  159 + ```
  160 + string
  161 + ```
  162 +
  163 + 示例:[查看上面的示例代码](online.md#sample)
  164 +
  165 +
0 166 \ No newline at end of file
... ...
stat_level.md
... ... @@ -45,7 +45,7 @@
45 45 }
46 46 ```
47 47  
48   - [点此查看完整示例](stat_level.md#sample)如何添加关卡失败打点代码
  48 + [点此查看完整示例](stat_level.md#sample)如何添加关卡复活成功打点代码
49 49  
50 50 2. #### **logLevelHide**
51 51  
... ... @@ -53,8 +53,8 @@
53 53 PCSDK.stat.logLevelHide(levelId: string | number , opts?: { attr: number } ): void
54 54 ```
55 55  
56   - > 定义:游戏中onHide时(监听wx.onHide事件)关卡退出数据上报。
57   - > 需要屏蔽掉复活、失败、成功状态下onHide
  56 + > 定义:游戏中onHide时(设置wx.onHide回调监听事件)关卡onHide数据上报。
  57 + > 需要屏蔽掉复活、失败、成功状态
58 58  
59 59 参数:
60 60  
... ... @@ -67,7 +67,7 @@
67 67 }
68 68 ```
69 69  
70   - [点此查看完整示例](stat_level.md#sample)如何添加关卡失败打点代码
  70 + [点此查看完整示例](stat_level.md#sample)如何添加关卡onHide打点代码
71 71  
72 72 3. #### **logLevelFail**
73 73  
... ... @@ -112,7 +112,8 @@
112 112 }
113 113 ```
114 114 <div id="sample"></div> 完整示例,以上四个接口使用场景:
115   -> 监听游戏wx.onHide关卡数据上报后上报(需要屏蔽掉复活、失败、成功状态),在执行wx.onHide时候,SDK会发出名为'app.hide'的自定义事件,可使用PCSDK.event.bindEvent监听该事件,使用PCSDK.event.removeEvent移除对应监听事件,[详细文档event模块文档请阅读event事件模块](evennt.md)。
  115 +> 游戏监听wx.onHide回调中上报关卡onHide隐藏打点(需要屏蔽掉复活、失败、成功状态)。
  116 +> SDK中监听了wx.onHide事件,当游戏onHide时,SDK会发送事件名为'app.hide'的自定义事件,开发者可在代码中使用PCSDK.event.bindEvent监听该事件,使用PCSDK.event.removeEvent移除对应监听事件,[详细文档event模块文档请阅读event事件模块](evennt.md)。
116 117  
117 118 ```javascript
118 119 /**
... ...