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