Commit 6a23c5dbb9a57d6c0cf1d5380de1caee8f7722ba
1 parent
e6f13bf6
Exists in
master
1
Showing
7 changed files
with
285 additions
and
108 deletions
Show diff stats
SUMMARY.md
| ... | ... | @@ -14,13 +14,11 @@ |
| 14 | 14 | * [交叉推广位](stat_ads.md) |
| 15 | 15 | * [分享视频模块](share.md) |
| 16 | 16 | * [配置参数模块️](online.md) |
| 17 | -* [多平台接口模块❎](platform.md) | |
| 18 | - * [支付打点❎](platform_pay.md) | |
| 19 | - * [授权按钮❎](platform_common.md#userbtn) | |
| 20 | - * [检测自动更新❎](platform_common.md#autoupdate) | |
| 21 | - * [打开客服消息❎](platform_common.md#service) | |
| 22 | - * [震动接口❎](platform_common.md#vibrate) | |
| 23 | - * [其他接口❎](platform_common.md#other) | |
| 17 | +* [多平台接口模块](platform.md) | |
| 18 | + * [支付打点](platform.md#logpay) | |
| 19 | + * [检测自动更新](platform.md#checkUpdate) | |
| 20 | + * [打开客服消息](platform.md#service) | |
| 21 | + * [震动接口](platform.md#vibrate) | |
| 24 | 22 | * [数据模块](data.md) |
| 25 | 23 | * [事件模块](event.md) |
| 26 | 24 | * [FAQ❎](faq.md) |
| 27 | 25 | \ No newline at end of file | ... | ... |
103 KB
No preview for this file type
No preview for this file type
install.md
platform.md
| 1 | -# 多平台接口模块 | |
| 1 | +# 多平台接口模块:PCSDK.platform | |
| 2 | 2 | |
| 3 | 3 | ------ |
| 4 | 4 | |
| 5 | 5 | #### **简介** |
| 6 | 6 | |
| 7 | -启动注册打点上报用户注册活跃数据,噗嗤管理后台为游戏提供用户数据统计:实时获取活跃、新增用户数、打开次数、在线时长......;注册转化统计。 | |
| 7 | +所谓多平台指的是微信小游戏、QQ轻游戏、今日头条、oppo等游戏发布的平台。微信和QQ接口文档api相似度99%,微信、QQ、今日头条平台的接口api相似度80%以上,虽然相似度很高,但是仍需要针对差异性做一些处理。多平台接口模块就是想要在SDK内部去抹平了各个平台差异性的处理,达到同一个api调用,应用多个平台的作用。 | |
| 8 | 8 | |
| 9 | +#### **此模块是参照微信小游戏提供的api进行封装的公用方法,提供了以下游戏中常用到的功能:** | |
| 9 | 10 | |
| 11 | +**支付打点:logPay** (此模块保留logPay调用只是为了兼容已经接入的游戏,该api已经归类到【统计模块】下面的[支付打点](stat_pay.md)栏)。 | |
| 10 | 12 | |
| 11 | -#### **后台使用** | |
| 13 | +**打开客服消息:openCustomerServiceConversation** 整理[wx.openCustomerServiceConversation](https://developers.weixin.qq.com/minigame/dev/api/open-api/customer-message/wx.openCustomerServiceConversation.html) | |
| 12 | 14 | |
| 13 | -完成启动注册打点后,登录后台->头部tab切换到【游戏数据】->【产品分析】->【实时数据】即可实时查看用户活跃、新增等信息: | |
| 14 | - | |
| 15 | +**检测版本更新:checkUpdate** 整理来自:[wx.getUpdateManager](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.html) | |
| 15 | 16 | |
| 16 | -点击【注册转化】可查看列表式显示新增、注册、加载完成等详细信息: | |
| 17 | +**显示模态弹出框:showModal** 整理来自:[wx.showModal](https://developers.weixin.qq.com/minigame/dev/api/ui/interaction/wx.showModal.html) | |
| 17 | 18 | |
| 18 | - | |
| 19 | +**复制文本:copy** 整理来自:[wx.setClipboardData](https://developers.weixin.qq.com/minigame/dev/api/device/clipboard/wx.setClipboardData.html) | |
| 19 | 20 | |
| 21 | +**长震动:vibrateLong** 整理来自:[wx.vibrateLong](https://developers.weixin.qq.com/minigame/dev/api/device/vibrate/wx.vibrateLong.html) | |
| 20 | 22 | |
| 23 | +**短震动:vibrateShort** 整理来自:[wx.vibrateShort](https://developers.weixin.qq.com/minigame/dev/api/device/vibrate/wx.vibrateShort.html) | |
| 24 | + | |
| 25 | +**更新转发属性:updateShareMenu** 整理来自:[wx.updateShareMenu](https://developers.weixin.qq.com/minigame/dev/api/share/wx.updateShareMenu.html) | |
| 26 | + | |
| 27 | +**微信小游戏推荐弹窗组件GamePortal:isGamePortalPlaying 与 gamePortalShow** 整理来自:[wx.createGamePortal](https://developers.weixin.qq.com/minigame/dev/api/game-portal/GameBanner.html) | |
| 28 | + | |
| 29 | +**微信小游戏推荐icon组件GameIcon:gameIconShow 与 gameIconDestroy** 整理来自:[wx.createGameIcon](https://developers.weixin.qq.com/minigame/dev/api/game-portal/wx.createGameIcon.html) | |
| 30 | + | |
| 31 | +**微信小游戏插屏广告组件InterstitialAd:isInterstitialPlaying 与 interstitialShow** 整理来自:[wx.createInterstitialAd](https://developers.weixin.qq.com/minigame/dev/api/ad/InterstitialAd.html) | |
| 21 | 32 | |
| 22 | 33 | |
| 23 | 34 | |
| ... | ... | @@ -25,150 +36,319 @@ |
| 25 | 36 | |
| 26 | 37 | | **名称** | **功能说明** | |
| 27 | 38 | | ------------------------ | ------------------------------------------------------------ | |
| 28 | -| PCSDK.stat.loadingFinish | 加载游戏资源完成时打点,不是微信代码包白屏加载完成,游戏loading自身cdn资源加载完成调用 | | |
| 29 | -| PCSDK.stat.setLogind | 设置sdk必须要使用的用户id、第一次创建角色的注册时间,游戏接入方登录游戏服务器后调用 | | |
| 30 | -| PCSDK.stat.active | 用户活跃/新增注册上报,切记在setLogind设置需要的信息过后使用(不限于使用位置),不然会导致新增注册数据统计异常 | | |
| 31 | - | |
| 32 | - | |
| 39 | +| PCSDK.platform.logPay | 支付统计打点,支付完成(取消、成功、失败)的打点 | | |
| 40 | +| PCSDK.platform.openCustomerServiceConversation | 进入客服会话,可打开一个普通的客服会话,也可打开客服会话发送体力、钻石和进入跳转充值等,[具体用法请看](platform.md#service)| | |
| 41 | +| PCSDK.platform.checkUpdate | 检测版本是否有更新,如果版本更新会弹出确认框 | | |
| 42 | +| PCSDK.platform.vibrateShort | 使手机发生较短时间的振动(15 ms) | | |
| 43 | +| PCSDK.platform.vibrateLong | 使手机发生较长时间的振动(400 ms) | | |
| 33 | 44 | |
| 34 | 45 | |
| 35 | 46 | |
| 36 | 47 | |
| 37 | 48 | |
| 38 | -1. **loadingFinish** | |
| 49 | +<div id="logpay"></div> | |
| 50 | +1. **logPay** | |
| 39 | 51 | |
| 40 | 52 | ```javascript |
| 41 | - PCSDK.stat.loadingFinish(): void | |
| 53 | + PCSDK.platform.logPay( params: object ): void | |
| 42 | 54 | ``` |
| 43 | 55 | |
| 44 | - 定义:加载游戏加载资源完成时打点 | |
| 56 | + 定义:开发者游戏充值完成后,上报支付结果打点,支付结果类型:0(支付失败),1(支付成功),-1(取消支付)。该api需在[config.js中配置MidasPay](install.md#configJs)信息。 | |
| 45 | 57 | |
| 46 | 58 | 参数: |
| 47 | 59 | |
| 48 | 60 | ``` |
| 61 | + params object 必传 打点参数 | |
| 62 | + { | |
| 63 | + type: number 必传 支付类型:0(支付失败),1(支付成功),-1(取消支付); | |
| 64 | + source: string 必传 游戏服务商生成的订单号,没有则为空字符串 | |
| 65 | + amount: number 必传 实际支付金额,单位分 | |
| 66 | + buy_id: string | number; 必传 商品ID | |
| 67 | + buy_name: string; 必传 商品名称 | |
| 68 | + item_info: string 必传 获得的道具内容:道具id及数量,逗号分隔,多项使用分号分隔 => 1,1;2,10;3,100 | |
| 69 | + } | |
| 70 | + ``` | |
| 71 | + 返回值: | |
| 72 | + | |
| 73 | + ``` | |
| 74 | + void | |
| 49 | 75 | 无 |
| 50 | 76 | ``` |
| 51 | 77 | |
| 52 | - 示例:加载完成游戏主界面图片、json资源打点 | |
| 78 | + 示例:客户端游戏支付完成后上报支付打点,下例只是演示logPay用法 | |
| 53 | 79 | |
| 54 | 80 | ```javascript |
| 55 | - private async initEnv() { | |
| 56 | - await SDKTools.env(Const.VERSION); | |
| 57 | - this.loadRes(); | |
| 58 | - this.loadLogin(); | |
| 59 | - } | |
| 60 | - | |
| 61 | - // 开始加载资源 | |
| 62 | - private loadRes() { | |
| 63 | - LoaderManager.I.setCallback(this.onLoadedMain, this.onProgressMain, null, this).loadMain(); | |
| 64 | - } | |
| 65 | - | |
| 66 | - // 资源加载完成 | |
| 67 | - private onLoadedMain() { | |
| 68 | - PCSDK.stat.loadingFinish() | |
| 69 | - } | |
| 70 | - | |
| 71 | - // 更新资源加载进度条 | |
| 72 | - private onProgressMain(ret) { | |
| 73 | - let progress = ret.data; | |
| 74 | - this.skin.txtProgress.text = Math.floor(progress * 100) + '%'; | |
| 81 | + private reqPay() { | |
| 82 | + Api.I.pay().then( ret => { | |
| 83 | + switch(ret.code){ | |
| 84 | + case 1: // 支付成功回调处理 | |
| 85 | + PCSDK.platform.logPay({ | |
| 86 | + type: 1, // 成功支付 | |
| 87 | + source: "10000400", // 订单号,没有则为空字符串 | |
| 88 | + amount: 10 * 100, // 10元 | |
| 89 | + buy_id: 58, // 支付的商品id | |
| 90 | + buy_name: "钻石*152,金币*188888888", | |
| 91 | + item_info: "40,152;90,188888888" // 例如 钻石id:40 金币id:90 | |
| 92 | + }); | |
| 93 | + break; | |
| 94 | + | |
| 95 | + case 0: // 支付失败回调处理 | |
| 96 | + PCSDK.platform.logPay({ | |
| 97 | + type: 0, // 失败支付 | |
| 98 | + source: "10000400", // 订单号,没有则为空字符串 | |
| 99 | + amount: 10 * 100, // 10元 | |
| 100 | + buy_id: 58, // 支付的商品id | |
| 101 | + buy_name: "钻石*152,金币*188888888", | |
| 102 | + item_info: "40,152;90,188888888" // 例如 钻石id:40 金币id:90 | |
| 103 | + }); | |
| 104 | + break; | |
| 105 | + | |
| 106 | + case -1: // 支付取消回调处理 | |
| 107 | + PCSDK.platform.logPay({ | |
| 108 | + type: -1, // 取消支付 | |
| 109 | + source: "10000400", // 订单号,没有则为空字符串 | |
| 110 | + amount: 10 * 100, // 10元 | |
| 111 | + buy_id: 58, // 支付的商品id | |
| 112 | + buy_name: "钻石*152,金币*188888888", | |
| 113 | + item_info: "40,152;90,188888888" // 例如 钻石id:40 金币id:90 | |
| 114 | + }); | |
| 115 | + break; | |
| 116 | + } | |
| 117 | + }); | |
| 75 | 118 | } |
| 76 | 119 | ``` |
| 77 | - | |
| 78 | -2. **setLogind** | |
| 120 | +<div id="service"></div> | |
| 121 | +2. **openCustomerServiceConversation** | |
| 79 | 122 | |
| 80 | 123 | ```javascript |
| 81 | - PCSDK.stat.setLogind( data: object ): void | |
| 124 | + PCSDK.platform.openCustomerServiceConversation( params?: _CustomerServiceConversationObject ): void | |
| 82 | 125 | ``` |
| 83 | 126 | |
| 84 | - 定义:游戏登录完成,得到登录用户的用户id和用户第一次注册时间,设置SDK必需的用户信息 | |
| 127 | + 定义:进入客服会话,可打开一个普通的客服会话,也可打开客服会话发送体力和进入跳转充值 | |
| 85 | 128 | |
| 86 | 129 | 参数: |
| 87 | 130 | |
| 88 | 131 | ```javascript |
| 89 | - data: object | |
| 90 | -{ | |
| 91 | - userId: string | number 必传, 用户唯一标识id | |
| 92 | - regTime: number 必传,用户第一次创建角色的注册时间戳 | |
| 132 | + params _CustomerServiceConversationObject 选传,不传递打开一个普通的客户会话。[参数说明参照](https://developers.weixin.qq.com/minigame/dev/api/open-api/customer-message/wx.openCustomerServiceConversation.html) | |
| 133 | + { | |
| 134 | + sessionFrom string 选传 会话来源 | |
| 135 | + showMessageCard boolean 选传 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示,用户点击后可以快速发送小程序消息 | |
| 136 | + sendMessageTitle string 选传 会话内消息卡片标题 | |
| 137 | + sendMessagePath string 选传 会话内消息卡片路径 | |
| 138 | + sendMessageImg string 选传 会话内消息卡片图片路径 | |
| 139 | + success function 选传 接口调用成功的回调函数 | |
| 140 | + fail function 选传 接口调用失败的回调函数 | |
| 141 | + complete function 选传 接口调用结束的回调函数(调用成功、失败都会执行) | |
| 93 | 142 | } |
| 94 | 143 | ``` |
| 95 | 144 | |
| 96 | - 示例:游戏登录完成后,获取用户信息后进行打点(该示例,只是模拟使用环境) | |
| 145 | + 示例1:进入普通的客服会话 | |
| 97 | 146 | |
| 98 | 147 | ```javascript |
| 99 | - // 发起登录请求,得到登录数据信息,调用setLogind设置SDK用户信息 | |
| 100 | - Api.login().then( data => { | |
| 101 | - let { user_id, user_reg_time } = data; | |
| 102 | - PCSDK.stat.setLogind({ | |
| 103 | - userId: data.user_id, | |
| 104 | - regTime: data.user_reg_time | |
| 105 | - }); | |
| 106 | - }); | |
| 148 | + PCSDK.platform.openCustomerServiceConversation(); | |
| 149 | + ``` | |
| 150 | + 示例2:应用场景如进入客服会话跳转领取体力、钻石等等: 示例为跳转客服领取18888钻石奖励,success函数中记录数据状态(用于客服返回,执行onShow生命周期函数时逻辑判断)。 | |
| 151 | + <iframe height=498 width=740 src="https://dep.miso-lab.com/sdkword/sdk_video_001.mp4" frameborder=0 allowfullscreen></iframe> | |
| 152 | + | |
| 153 | + ```javascript | |
| 154 | + // 跳转客服领取18888钻石奖励,开发者可根据示例修改 | |
| 155 | + PCSDK.platform.openCustomerServiceConversation({ | |
| 156 | + showMessageCard: true, | |
| 157 | + sendMessageTitle: '钻石已发送,点击领取钻石!', | |
| 158 | + sendMessagePath: '', | |
| 159 | + sendMessageImg: 'http://dep.miso-lab.com/mergeguns/bin/res/image/service_reward.png', // 图片icon对应的域名记得加入到request和download白名单中 | |
| 160 | + success: () => { | |
| 161 | + // 打开跳转客服成功,记录成功状态,在游戏全局注册的onShow监听通过判断这个状态去请求接口领取奖励 | |
| 162 | + // 记录数据状态,onShow的时候读取数据状态判断,只是演示操作,可根据实际情况修改 | |
| 163 | + AppDataManager.I.set('service.reward.data', { | |
| 164 | + status: 1, // 可以领奖 | |
| 165 | + reward: 18888 // 获得18888钻石 | |
| 166 | + }); | |
| 167 | + }, | |
| 168 | + fail: (err) => { | |
| 169 | + console.log("openCustomerServiceConversation fail: ", err); | |
| 170 | + } | |
| 171 | + }); | |
| 172 | + | |
| 173 | + // 在游戏中全局注册的onShow事件监听中检测是 | |
| 174 | + // 游戏入口:Main.cs | |
| 175 | + class Main { | |
| 176 | + constructor() { | |
| 177 | + this.init(); | |
| 178 | + } | |
| 179 | + | |
| 180 | + private init() { | |
| 181 | + PCSDK.event.add('app.show', this.onShow, this); // 等同于wx.onShow(this.onShow.bind(this)); | |
| 182 | + PCSDK.event.add('app.hide', this.onHide, this); // 等同于wx.onHide(this.onHide.bind(this)); | |
| 183 | + } | |
| 184 | + | |
| 185 | + private onShow(opts) { | |
| 186 | + // 判断是否是来源于客服会话,上面的openCustomerServiceConversation的success设置的数据状态做判断 | |
| 187 | + let serviceRewardData = AppDataManager.I.get('service.reward.data'); | |
| 188 | + if (serviceRewardData && serviceRewardData.status === 1) { | |
| 189 | + AppDataManager.I.set('service.reward.data', null); | |
| 190 | + // 奖励发放,处理发放后的逻辑,比如每天只能领取一次的记录,防止重复刷奖励 | |
| 191 | + } | |
| 192 | + } | |
| 193 | + | |
| 194 | + private onHide(){ | |
| 195 | + // 监听平台的onHide事件 | |
| 196 | + } | |
| 197 | + } | |
| 107 | 198 | ``` |
| 199 | + 示例3:应用场景例如进入客服会话,success函数中记录数据状态(用于客服返回,执行onShow生命周期函数时逻辑判断),点击右下角的充值按钮后,跳转充值,充值完成后在onShow中处理:需要后台提供api接口,验证充值合理性并发放奖励,**此接口需要后端支持**。 | |
| 200 | + <iframe height=498 width=740 src="https://dep.miso-lab.com/sdkword/sdk_video_002.mp4" frameborder=0 allowfullscreen></iframe> | |
| 108 | 201 | |
| 109 | -3. **active** | |
| 202 | + ```javascript | |
| 203 | + // 跳转客服充值,开发者可根据示例修改,sendMessagePath请严格按照示例中提供的参数 | |
| 204 | + /** | |
| 205 | + * 充值跳转客服 | |
| 206 | + * @param itemId 购买道具商品id | |
| 207 | + * @param money 购买商品花费,单位元 | |
| 208 | + */ | |
| 209 | + private openServiceWithItem(itemId: number, money: number) { | |
| 210 | + PCSDK.platform.openCustomerServiceConversation({ | |
| 211 | + showMessageCard: true, | |
| 212 | + sendMessageTitle: `充值${money}元`, | |
| 213 | + sendMessagePath: `channel=${PCSDK.data.ChannelId}&item=${itemId}&uid=${PCSDK.data.UserId}&pf=${PCSDK.data.SystemId}`, | |
| 214 | + sendMessageImg: 'http://dep.miso-lab.com/idiom/bin/share/pay.png', // 图片icon对应的域名记得加入到request和download白名单中 | |
| 215 | + success: () => { | |
| 216 | + // 打开跳转客服成功,记录成功状态,onShow通过判断这个状态去请求接口领取奖励 | |
| 217 | + // 记录数据状态,onShow的时候读取数据状态判断,只是演示操作,可根据实际情况修改 | |
| 218 | + AppDataManager.I.set('service.pay.data', { | |
| 219 | + status: 1, // 可以领奖 | |
| 220 | + itemId: itemId, // 购买道具商品id | |
| 221 | + money: money // 购买商品花费,单位元 | |
| 222 | + }); | |
| 223 | + }, | |
| 224 | + fail: (err) => { | |
| 225 | + console.log("openCustomerServiceConversation fail: ", err); | |
| 226 | + } | |
| 227 | + }); | |
| 228 | + } | |
| 229 | + | |
| 230 | + // 在游戏中全局注册的onShow事件监听中检测是 | |
| 231 | + // 游戏入口:Main.cs | |
| 232 | + class Main { | |
| 233 | + constructor() { | |
| 234 | + this.init(); | |
| 235 | + } | |
| 236 | + | |
| 237 | + private init() { | |
| 238 | + PCSDK.event.add('app.show', this.onShow, this); // 等同于wx.onShow(this.onShow.bind(this)); | |
| 239 | + PCSDK.event.add('app.hide', this.onHide, this); // 等同于wx.onHide(this.onHide.bind(this)); | |
| 240 | + } | |
| 241 | + | |
| 242 | + private onShow(opts) { | |
| 243 | + // 判断是否是来源于客服会话,上面的openCustomerServiceConversation的success设置的数据状态做判断 | |
| 244 | + let serviceRewardData = AppDataManager.I.get('service.pay.data'); | |
| 245 | + if (serviceRewardData && serviceRewardData.status === 1) { | |
| 246 | + AppDataManager.I.set('service.pay.data', null); | |
| 247 | + // 领取奖励的逻辑,比如每天只能领取一次的记录,防止重复刷奖励 | |
| 248 | + // 请求后端接口验证奖励合理性 | |
| 249 | + } | |
| 250 | + } | |
| 251 | + | |
| 252 | + private onHide(){ | |
| 253 | + // 监听平台的onHide事件 | |
| 254 | + } | |
| 255 | + } | |
| 256 | + ``` | |
| 257 | +<div id="checkUpdate"></div> | |
| 258 | +3. **checkUpdate** | |
| 110 | 259 | |
| 111 | 260 | ```javascript |
| 112 | - PCSDK.stat.active(): void | |
| 261 | + PCSDK.platform.checkUpdate( params?: _ShowModalObject ): void | |
| 113 | 262 | ``` |
| 114 | 263 | |
| 115 | - 定义:用户活跃/新增注册上报,切记在使用setLogind设置用户信息过后调用此接口,不然会导致新增注册数据统计异常 | |
| 264 | + 定义:检测版本是否有更新,如果版本有更新会弹出确认框,参数可不传递,不传递有版本更新会弹出下图的默认确认框;开发者可自定义弹出框的显示样式,参数与[wx.showModal](https://developers.weixin.qq.com/minigame/dev/api/ui/interaction/wx.showModal.html)一模一样。 | |
| 265 | + 建议此api在游戏的入口调用。 | |
| 266 | +  | |
| 116 | 267 | |
| 117 | 268 | 参数: |
| 118 | 269 | |
| 119 | 270 | ```javascript |
| 120 | - 无 | |
| 271 | + params _ShowModalObject 选传 不传递有版本更新会弹出上图样式默认确认框;开发者可自定义弹出框的显示样式,参数参照wx.showModal的参数 | |
| 272 | + { | |
| 273 | + title string 选传 提示的标题,默认为:更新提示 | |
| 274 | + content string 选传 提示的内容,默认为:新版本已经准备好,是否重启应用? | |
| 275 | + showCancel boolean 选传 是否显示取消按钮,默认为:false不显示 | |
| 276 | + cancelText string 选传 取消按钮的文字,最多4个字符 | |
| 277 | + cancelColor string 选传 取消按钮的文字颜色,必须是16进制格式的颜色字符串 | |
| 278 | + confirmText string 选传 确认按钮的文字,最多4个字符 | |
| 279 | + confirmColor string 选传 确认按钮的文字颜色,必须是16进制格式的颜色字符串 | |
| 280 | + success function 选传 接口调用成功的回调函数 | |
| 281 | + fail function 选传 接口调用失败的回调函数 | |
| 282 | + complete function 选传 接口调用结束的回调函数(调用成功、失败都会执行) | |
| 283 | + } | |
| 121 | 284 | ``` |
| 122 | 285 | |
| 123 | - 示例:游戏登录完成后,获取用户信息后进行打点(该示例,只是模拟该接口使用环境) | |
| 286 | + 示例:在游戏入口类中检测是否有版本更新 | |
| 124 | 287 | |
| 125 | 288 | ```javascript |
| 126 | - // 使用场景1:发起登录请求,得到用户数据信息,调用setLogind设置SDK用户信息后立即调用active | |
| 127 | - Api.login().then( data => { | |
| 128 | - let { user_id, user_reg_time } = data; | |
| 129 | - // 设置用户信息 | |
| 130 | - PCSDK.stat.setLogind({ | |
| 131 | - userId: data.user_id, | |
| 132 | - regTime: data.user_reg_time | |
| 133 | - }); | |
| 134 | - // 用户活跃注册打点 | |
| 135 | - PCSDK.stat.active(); | |
| 136 | - }); | |
| 137 | - | |
| 138 | - // 使用场景2:发起登录请求,得到用户数据信息,调用setLogind设置SDK用户信息。在其他界面调用active | |
| 139 | - // 资源加载loading界面 | |
| 140 | - class LoadingScene(){ | |
| 141 | - constructor(){ | |
| 142 | - this.login(); | |
| 289 | + class Main { | |
| 290 | + constructor() { | |
| 291 | + this.init(); | |
| 143 | 292 | } |
| 144 | 293 | |
| 145 | - private login(){ | |
| 146 | - // 登录 | |
| 147 | - Api.login().then( data => { | |
| 148 | - let { user_id, user_reg_time } = data; | |
| 149 | - // 设置用户信息 | |
| 150 | - PCSDK.stat.setLogind({ | |
| 151 | - userId: data.user_id, | |
| 152 | - regTime: data.user_reg_time | |
| 153 | - }); | |
| 154 | - // 进入home主页场景 | |
| 155 | - SceneManager.I.switchScene(HomeScene); | |
| 156 | - }); | |
| 157 | - } | |
| 158 | - } | |
| 159 | - | |
| 160 | - // Home页面 | |
| 161 | - class HomeScene(){ | |
| 162 | - constructor(){ | |
| 163 | - this.btnStarGame.on('click', this.onGame, this); | |
| 294 | + private init() { | |
| 295 | + this.checkUpdate(); | |
| 164 | 296 | } |
| 165 | 297 | |
| 166 | - private onGame(){ | |
| 167 | - // 用户活跃注册打点 | |
| 168 | - PCSDK.stat.active(); | |
| 169 | - // 进入游戏页面 | |
| 170 | - SceneManager.I.switchScene(GameScene); | |
| 298 | + private checkUpdate() { | |
| 299 | + // 调用SDK的checkUpdate,微信版本有更新,会自动弹出更新确认框 | |
| 300 | + PCSDK.platform.checkUpdate(); | |
| 301 | + | |
| 302 | + // 自定义更新弹出框 | |
| 303 | + /* | |
| 304 | + PCSDK.platform.checkUpdate({ | |
| 305 | + showCancel: true, | |
| 306 | + content: '客官,xxx游戏有更新了!', | |
| 307 | + cancelText: '放弃' | |
| 308 | + }); | |
| 309 | + */ | |
| 171 | 310 | } |
| 172 | 311 | } |
| 173 | 312 | |
| 313 | + ``` | |
| 314 | +<div id="vibrate"></div> | |
| 315 | +4.0 **vibrateShort** | |
| 316 | + | |
| 317 | + ```javascript | |
| 318 | + PCSDK.platform.vibrateShort(): Promise<any> | |
| 319 | + ``` | |
| 320 | + | |
| 321 | + 定义:使手机发生较短时间的振动(15 ms)。仅在 iPhone 7 / 7 Plus 以上及 Android 机型生效 | |
| 322 | + | |
| 323 | + 参数: | |
| 324 | + | |
| 325 | + ```javascript | |
| 326 | + 无 | |
| 327 | + ``` | |
| 328 | + | |
| 329 | + 示例: | |
| 330 | + | |
| 331 | + ```javascript | |
| 332 | + PCSDK.platform.vibrateShort(); | |
| 333 | + | |
| 334 | + ``` | |
| 335 | +4.1 **vibrateLong** | |
| 336 | + | |
| 337 | + ```javascript | |
| 338 | + PCSDK.platform.vibrateShort(): Promise<any> | |
| 339 | + ``` | |
| 340 | + | |
| 341 | + 定义:使手机发生较长时间的振动(400 ms) | |
| 342 | + | |
| 343 | + 参数: | |
| 344 | + | |
| 345 | + ```javascript | |
| 346 | + 无 | |
| 347 | + ``` | |
| 348 | + | |
| 349 | + 示例: | |
| 350 | + | |
| 351 | + ```javascript | |
| 352 | + PCSDK.platform.vibrateLong(); | |
| 353 | + | |
| 174 | 354 | ``` |
| 175 | 355 | \ No newline at end of file | ... | ... |
word/噗嗤SDK(PCSDK).xmind
No preview for this file type