最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场。等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,ShareSDK官网的文档比较分散,而且关于Unity的文档比较简略,所以还是有不少的坑。写篇博客分享一下,并加强理解记忆。

  第一步,先去ShareSDK的官网下载最新版本的ShareSDK(完全免费)。地址:http://www.mob.com/

  我们选择ShareSDK For Unity3D,页面会直接跳转到GitHub,把最新版本的压缩包下载回来。

  

解压后会得到这个目录,使用Unity打开下面的文件夹可以看到官方的Demo项目。里面有大致的实现流程

初步接入SDK还是可以参照官方的文档,真的非常简单。文档地址:http://wiki.mob.com/Unity3D%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/

我们直接把ShareSDK For U3D导进项目

首先我们要在官网注册一个账号,然后点击进入后台,创建一个新工程,再添加产品-选择ShareSDK。

这样我们就有了一个AppKey和一个AppSecret,把他们输入你Unity中挂载在物体上的ShareSDK脚本上

这时候我们会发现DevInfo下面会有很多的平台,我们进入ShareSDKDevInfo,把你不需要的平台注释掉或者删掉

以前的版本在这里注释掉,游戏中呼出菜单就不会再出现这些平台了,但是现在还需要再做一步,这个留到下文会讲到。

有些平台下面会有一个叫做BypassApproval的选项,这是绕过验证的意思,如果我们开启了这个bool那么就只能分享图文,功能不全。但是不需要账号就可以分享,如果我们想需要使用分享链接之类的更全面的功能,则需要关闭这个选项,但是这就需要另一个条件。

那就是除了ShareSDK的账号,我们想在哪个平台进行分享还要有这个平台的开发者账号,以微信平台为例,我们要现在微信开放平台申请一个账号

地址:https://open.weixin.qq.com/

注册完账号后可以创建一个移动应用。这里有一点值得提一下,关于应用签名,可以在网上下载一个获得签名的软件,把游戏和这个软件都装到手机上然后获取一下你的游戏的签名就可以了。

https://open.weixin.qq.com/cgi-bin/readtemplate?t=resource/app_download_android_tmpl&lang=zh_CN 在这里下载需要的获取签名软件

等待微信审核通过后你的应用会有一个AppID和一个AppSecret。把它填到Unity中ShareSDK脚本中

到了这一步,配置算是完成了一半了。根据官网的文档我们可以用ShareSDK创建实例,然后给它赋值,给它添加回调

ssdk.ShowPlatformList可以呼出平台UI面板,让你选择平台,这时候你会发现怎么注释掉的平台还是全都显示出来了。不知道这个是不是BUG,但是是有办法解决的。

这时把项目的包名改成和微信开放平台一致后,打出的包应该可以成功进行分享了,可是你很快就会发现,程序并没有走回调,这是为毛呢?

我们打开项目目录下\Plugins\Android\ShareSDK的AndroidManifest.xml配置文件,首先把最顶上的package = 改成和微信开放平台还有项目都一致的包名。拉下来我们会看到一个微信分享回调的配置,在原先的.wxapi.WXEntryActivity前面加上你的包名

这还不算完,因为配置文件里的包名改变了但是Jar包的Package的名称并没有改,这时候我们需要去下载一个Eclipse。好在博主懂一些JAVA

Eclipse还是很好用的,我们下载回来后使用它打开我们从GitHub下载过来的ShareSDK压缩包中的那个Android_Java_Demo文件夹,这是一个光放的安卓的Demo项目,

在Src中找到我们的wxapi包,右键Refactor->Rename,把它改成我们项目中的包名.wxapi然后在src上右键Export选择Java里的JAR file。

点击Nex在左上角把我们刚刚重命名过的包打上勾(需要几个打几个)把Jar包命名为DemoCallback.jar

然后我们进入项目的\Plugins\Android\ShareSDK\libs目录,用刚刚生成的DemoCallback.jar包替换这里的老Jar包。前面说的平台会全部显示出来的问题,只需要在这个目录删掉不需要使用的平台jar包即可。注意不要删掉sharesdk core的jar包

这时我们再打包运行发现可以正常使用回调了。如果有问题的话检查一下包名签名等。签名的问题我们可以打包的时候用Unity创建一个KeyStore设置好密码,以后生成别的包可以直接使用。生成keystore可以参考这里:http://www.cnblogs.com/heisaijuzhen/p/4346571.html

这时候我们使用的是ShareSDK自带的平台选择UI,如果想使用自己的UI可以使用无UI分享,自己在按钮上注册调用分享功能的实现,具体实现步骤没有太大区别只需要把这里最后的ShowPlatformList换为ShowShareContentEditor传入需要的平台和设置好的分享内容即可直接跳转到分享平台

到这里也就完毕了,IOS的话我现在没有MAC用还不好说,但是大致的流程都有了,也就是踩一踩坑的事了,有不懂的地方大家可以互相交流

在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)的更多相关文章

  1. Nacos(四):SpringCloud项目中接入Nacos作为配置中心

    前言 通过前两篇文章: Nacos(二):Nacos与OpenFeign的对接使用 Nacos(三):SpringCloud项目中接入Nacos作为注册中心 相信大家已经对Nacos作为注册中心的基本 ...

  2. AndroidStudio用微信官方方法接入微信分享功能

    转载请注明出处:http://www.cnblogs.com/wangoublog/p/5367950.html 现在微信的功能众所周知,用户量.影响力也是惊人,很多应用接入微信的功能已成为一种不可缺 ...

  3. android APP 中微信分享功能实现 的总结

    //花了很长时间最终完成了微信分享功能,中间走了很多弯路,在此做一下小结,希望对在应用中使用到微信分享的朋友有所帮助. 主要问题就是下面两个: 1.为什么运行了项目之后,微信分享只是闪了一下就没有了? ...

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

    微信JS-SDK的功能 如果你点进来,那么我相信你应该知道微信的JS-SDK可以用来做什么了.微信的官方文档描述如下. 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. ...

  5. unity3D项目中如何避免硬代码(C#)

    平时做项目,代码中是不允许出现硬代码的,一般我们是怎么处理的呢? 那么硬代码又是什么呢? 我们俗称的硬代码:eg:   label.text = "欢迎来到梦幻岛";  这样我们俗 ...

  6. Nacos(二):SpringCloud项目中接入Nacos作为注册中心

    前言 通过上一篇文章:Nacos介绍简单了解了Nacos的发展历程和现状,本文我们开始Nacos试水的第一步: 使用Nacos做注册中心 上周末(7.6)Nacos发布了V1.1.0版本,这次更新支持 ...

  7. 在ASP.NET项目中使用CKEditor +CKFinder实现图片上传功能

    前言 之前的项目中一直使用的是FCKeditor,昨天突然有个想法:为什么不试一下新的CKEditor呢?于是花了大半天的时间去学习它的用法,现在把我的学习过程与大家分享一下. 谈起FCKeditor ...

  8. 【Android进阶】使用第三方平台ShareSDK实现新浪微博的一键分享功能

    在公司最近的一个项目中,需要实现一键分享功能,在这里我使用的是第三方平台ShareSDK,将使用经验与大家分享 先看效果图 主界面 分享界面 由于第一次使用,所以需要先进行新浪授权,授权界面 分享结果 ...

  9. 在Android中使App高速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能

    前言 在如今的APP或者游戏中,分享功能差点儿已经成为标配.分享功能不但能够满足用户的需求.也能够为产品带来很多其它的用户,甚至能够对用户的行为.活跃度.年龄段等情况进行数据统计,使得软件公司能够对产 ...

随机推荐

  1. 用户权限模块之oauth2.0

    主要是在springsecurity上面扩展即可,所以内容也是基于上一个, sql: CREATE TABLE `auth_access_token` ( `id` int(11) NOT NULL ...

  2. JavaScript数组基础及实例

    js数组 和var i=1;这样的简单存储一样是js中的一种数据结构,是专门用来存储多个数据的一种数据结构. 摘:数组是一组数据的集合,其表现形式就是内存中的一段连续的内存地址,数组名称其实就是连续内 ...

  3. R语言重要数据集分析研究——  数据集本身的分析技巧

    数据集本身的分析技巧           作者:王立敏           文章来源:网络 1.数据集 数据集,又称为资料集.数据集合或资料集合,是一种由数据所组成的集合. Data set(或dat ...

  4. DocNan博文目录

    算法 时频分析:窗口傅立叶变换 数学误区:乘积的求和 MHD simulation with python Linux Linux: Bash基本命令 Linux: 安装和启用firefox浏览器的j ...

  5. MHD simulation with python

    这里为MHD(磁流体力学)模拟做一些准备,可能现在学习物理的人从某种程度上也得变成程序猿吧.MHD模拟面临的问题是求解一个三维的偏微分方程组,其中涉及的流体元格点非常多.所以希望先从简单的一维模型出发 ...

  6. 国内互联网公司github网址

    -----------------------------------------------------推荐技术------------------------------------------- ...

  7. java注解编程

  8. Kafka 源代码分析之Message

    这里主要分析一下message的格式. 一条message的构成由以下部分组成 val CrcOffset = 0 //crc校验部分和字长 val CrcLength = 4 val MagicOf ...

  9. [leetcode-624-Maximum Distance in Arrays]

    Given m arrays, and each array is sorted in ascending order. Now you can pick up two integers from t ...

  10. 【Android Developers Training】 43. 序言:管理音频播放

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...