如何在Cocos2d-JS游戏中快速接入微信SDK

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Cocos2d-JS游戏中快速接入微信SDK相关的知识,希望对你有一定的参考价值。

接下来我们将用基于Cocos2d-JS的微信游戏《来自喵星的你》来做个说明,教大家如何快速接入刚刚发布的微信SDK。
(微信支付API正在路上,欢迎关注下期连载哦!)

1.申请公众号
因为微信只能使用公众号接入SDK,所以我们必须先注册一个公众号。

2.设置公众号
登录公众平台后,点击左下角的 设置-公众号设置。右侧有一个js接口安全域名的设置,这里可以绑定3个用到的域名,必须填入顶级域名。
然后点击左下角的 开发者中心,右侧会有一个AppID和一个AppSecret。这两个先记录下来,过后会用到。

3.生成token
打开页面 微信公众平台接口调试工具 并且填入刚才的appid和secret,点击检查问题。记录下返回结果里面的“access_token”的值。

4.获取ticket
复制这个链接:api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=填写刚刚获取的access_token&type=jsapi
并在里面的access_token=后面填入刚刚获取的access_token(对的,就是那一串乱码一样的东西),回车!!
然后把“ticket”的值复制出来,并保存起来,这个就是当前appid的ticket了。

5.生成签名
打开 微信 JS 接口签名校验工具 填入相应的数据:
1)jsapi_ticket: 填入上一步获取的ticket
2)noncestr: 这里随机生成一个字符串填进去(VQhYOUJRz6RolHqN)
3)timestamp: 这里填入一个时间戳,去掉毫秒的3位(如:1420870884) - 这里尽量写ticket生成后的一段时间,new Date() - 0可以获取当前的时间戳
4)url: 准备放页面的地址(域名必须在第二部中设置到安全域名内,如:.cocos2d-x.org/wechat.html)
点击生成签名。记录下下面出现的signature这个值。

6.页面引入微信SDK并初始化
在页面中加入:

<script src="res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

并且执行初始化:

jsApiList填入的是当前需要使用的接口,需要注意的是,如果公众号不具备某些接口的权限,填进去也无法执行。

这时候将页面上传到第五步填入的url地址,并在微信中打开,应该能够看见config:ok的提示。

如果出现了Invalid Url或者Invalid Domain等提示,说明公众号配置里面出现了问题。而出现Invalid signature的话,则是signature生成出现了问题,检查下timestamp以及随机字符串等是否正确。

到这里我们就可以酣畅淋漓的使用微信的SDK啦。
参考技术A 近日,微信公众平台面向开发者推出了微信内网页开发工具包(微信JS-SDK),内含11类接口集。

从此之后,开发者不仅能够在网页上使用微信本身的拍照、选图、语音、位置等基本能力,还可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为用户提供更优质的网页体验。

那么问题来了:如何在Cocos2d-JS游戏中快速接入微信SDK?

接下来我们将用基于Cocos2d-JS的微信游戏《来自喵星的你》来做个说明,教大家如何快速接入刚刚发布的微信SDK。
(微信支付API正在路上,欢迎关注下期连载哦!)

1.申请公众号
因为微信只能使用公众号接入SDK,所以我们必须先注册一个公众号。

2.设置公众号
登录公众平台后,点击左下角的 设置-公众号设置。右侧有一个js接口安全域名的设置,这里可以绑定3个用到的域名,必须填入顶级域名。
然后点击左下角的 开发者中心,右侧会有一个AppID和一个AppSecret。这两个先记录下来,过后会用到。

3.生成token
打开页面 微信公众平台接口调试工具 并且填入刚才的appid和secret,点击检查问题。记录下返回结果里面的“access_token”的值。

4.获取ticket
复制这个链接:api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=填写刚刚获取的access_token&type=jsapi
并在里面的access_token=后面填入刚刚获取的access_token(对的,就是那一串乱码一样的东西),回车!!
然后把“ticket”的值复制出来,并保存起来,这个就是当前appid的ticket了。

5.生成签名
打开 微信 JS 接口签名校验工具 填入相应的数据:
1)jsapi_ticket: 填入上一步获取的ticket
2)noncestr: 这里随机生成一个字符串填进去(VQhYOUJRz6RolHqN)
3)timestamp: 这里填入一个时间戳,去掉毫秒的3位(如:1420870884) - 这里尽量写ticket生成后的一段时间,new Date() - 0可以获取当前的时间戳
4)url: 准备放页面的地址(域名必须在第二部中设置到安全域名内,如:.cocos2d-x.org/wechat.html)
点击生成签名。记录下下面出现的signature这个值。

6.页面引入微信SDK并初始化
在页面中加入:

<script src="res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

并且执行初始化:

jsApiList填入的是当前需要使用的接口,需要注意的是,如果公众号不具备某些接口的权限,填进去也无法执行。

这时候将页面上传到第五步填入的url地址,并在微信中打开,应该能够看见config:ok的提示。

如果出现了Invalid Url或者Invalid Domain等提示,说明公众号配置里面出现了问题。而出现Invalid signature的话,则是signature生成出现了问题,检查下timestamp以及随机字符串等是否正确。

到这里我们就可以酣畅淋漓的使用微信的SDK啦。

比方说我们判断wifi加载音频,而非wifi情况则不加载任何音频文件:

以上是关于如何在Cocos2d-JS游戏中快速接入微信SDK的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发教程Unity iOS平台接入微信SDK,实现微信登录等功能(教程 | 流程讲解)

游戏开发教程Unity iOS平台接入微信SDK,实现微信登录等功能(教程 | 流程讲解)

unity5.0接入android sdk的问题

如何正确的在项目中接入微信JS-SDK

android平台sdk接入的一些坑

Unity使用gradle接入sdk和打包