【cocos creator与C++知识分享】 二.anysdk打包微信登录、微信分享

插入一只广告: 欢迎成都ccc开发者入群 573289987

微信分享和微信登录是很多游戏都会用到的功能,这里我就我们项目中如何使用anysdk完成这两个功能做一个系统性的介绍。
我用的是cocos creator 1.4.2

关键步骤如下:

  1. 设置anysdk参数
  2. 配置cocos creator环境
  3. 编写功能
  4. 打包发布

设置anysdk参数:
在设置参数前请到www.anysdk.com官网下载正式版的anysdk软件并安装。
安装完成后打开anysdk


登录anysdk,进入打包工具,点击+号创建应用。


这里可以使用签名小工具生成keystore文件,具体不再赘述。可看官方文档。

点击创建游戏后出现下面的界面,请保存红色框的相关数据。

点击下一步,先选一个官网渠道。然后再下一步。

然后从用户和分享里选出微信,注意渠道可选有点多,可以使用搜索。

然后设置渠道参数,注意将修改后缀改为修改包名,设置为你在微信开放平台中设置的包名,然后keystore选择你之前创建的文件。

完成之后设置SDK参数,请注意红色框是必填项。 登录验证地址就填写你的服务端验证地址,比如我的就是https://xxx.com/auth/log…,应用id就写你的微信开放平台中此应用的ID,appsecret填写微信开放平台中此应用的appsecret,支付通知地址可以随便写一个地址。域名和登录验证地址中域名相同即可。如果要使用微信支付请填写真实地址。

完成之后下一步,再下一步就可以完成ANYSDK配置。

配置cocos creator 环境
请在cocos creator中新建一个项目,然后执行构建->编译,完成之后进入目录:

打开SDKManager.cpp文件,做如下修改:


到这里配置就完成了,现在我们开始编写代码。

微信登录:

在login的场景中需要加载anysdk的登录插件:


然后编写onUserLogin函数:

在登录成功的时候,会进入kLoginSuccess,然后就可以执行后续操作了。
提示:在微信登录的时候微信会返回一个openid,可以使用此字段与玩家id绑定。

微信分享:

分享一般分文字分享、图片分享、URL分享

建议在常驻节点的onload中加入如下代码,获取分享插件:

var agent = anysdk.agentManager;
this.share_plugin = agent.getSharePlugin();
this.share_plugin.setListener(this.onShareResult, this);
在onShareResult中可执行具体相关操作:


分享文本:

分享图片

分享URL

以上为核心实现,完成后使用creator先打包,然后把生成的apk在anysdk下再打包一次,就可以使用微信登录功能。

本文结束,有什么错误请大神指正。

33赞

手动帮顶,收藏一个以后需要的时候用:slightly_smiling:

1赞

手动点赞!

1赞

赞一个:+1:

1赞

让我来个超级无敌螺旋绕地球两周赞

1赞

楼主,你这是什么环境的哦。不需要区分Android和ios么?

IOS和android通用的。

哥们。你这个demo分享么?就是“”login的场景中需要加载anysdk的登录插件“” 这方面的写法!

我写的已经很详细啦,自己还是要写下嘛,否则还是什么都不会

1赞

也就是说用anysdk,不需要去微信开发者中心申请appid以及下载微信SDK?

仔细看楼主写的,里面有说明

可以使用,注意事项,还得去微信开发平台认证,不然会出现Scope参数错误或没有Scope权限。要花300大洋

请问imagePath必须是sdcard的路径吗?

可以是getwritablepath的地址

微信分享不起呢?好奇怪。。。点了没反应。

有试过机器没安装微信会怎么样嘛?

我如何获取 本地的存储路径比如 缩略图是放在 assert 里面的resource 目录下面的
如何获取全路径 传送到 anysdk的 thumbImage 和imagePath 里面

你们有遇到分享的时候ios看不到图标这个情况么?

集体现象是:ios分享出去之后ios系统看不到图标,但是同样的分享在android里面可以看到图标。反过来,android分享的在ios里面又能看到。

就ios分享出去的在ios里面看不到。

ios里要用thumbImage

缩略图要放在 jsb.fileUtils.getWritablePath() 这个可写目录下。 否则根本找不到哈。