公司项目中需要增加分享功能,我就参考友盟的社会化分享文档来操作
文档链接:
http://dev.umeng.com/social/android/quick-integration
1、账号申请
项目中需要用到微信、微博、qq空间,因此需要到微信、微博和腾讯开发者平台申请账号
在申请账号之前,需要准备好自己的项目包名,以及签名(这里签名的获取方式,通过友盟提供的一个工具来获取的)
链接:http://bbs.umeng.com/thread-13230-1-1.html
刚开始提供的签名是jks文件对应的sha1值,后来一直提示签名文件不对,最后根据论坛中的帖子看到这个工具。这个工具可以根据包名查询签名文件,非常方便。
2、使用友盟集成工具
参照文档说明一步步的操作下来
1)选择需要集成的分享平台,生成相应的文件,拷贝到项目中,通常是jar文件,资源文件和布局文件,按照不同的目录分别存放
2)添加appid,生成设置代码,将代码复制到项目中Application文件中
3)生成清单配置文件中的代码,将代码复制到项目中的清单配置文件中
4)分享代码的生成
刚开始拿到这个分享代码,我完全不知道这个有什么用(脑子完全没有转过来),并且在后面配置好分享面板,需要根据每个类别来设置分享内容的时候,绞尽脑汁以及查资料,都没弄明白该怎么加这个分享代码。这里浪费了一些时间。
最后通过搜索网络资料知道了简单的分享方式;然后今天早上来,再看一遍文档,发现昨天在配置集成数据的时候,已经拿到了分享的代码。所以,这种需要用到第三方的,当自己卡壳的时候,请认真阅读文档以及相关提示,一定会有帮助的。
3、具体分享
有2种方案可供选择:
1)直接分享
2)使用分享面板
我选择的第二种,调用分享面板后,还需要设置各个item的点击事件,在点击事件中添加分享代码
4、遇到的问题:
1)添加点击事件后,不知道怎么写分享代码
这个是看文档不认真,自己也没有用心地去搜寻,只停留了很表面的思维层面
2)微信和微博,一直提示签名文件不对
自己运行项目,一直用的是testDebug版本,这样最后生成的apk也是debug模式下,可是后台配置的包名和签名都是根据release环境生成的,我当时一直思考的是,先拿到自己debug状态下的包名和签名,再修改微信和微博后台的数据,可是,同事提了个建议,你为什么不直接发布release版本呢,(这里我之前有尝试改成release版本,但是只改了一个module,其他module没改,最后编译失败),所以我就自发放弃了这种调试方式。
经同事这么一提醒,事情顿时清晰了不少。我将编译相关配置全部修改成release,这样包名和签名用的都是与第三方平台配置一致的。最后运行,还是提示签名文件不一致。这里我就用到了刚才说到的工具,根据release apk的包名,查询到签名文件,与后台不一致,将后台的修改调整,最后2个签名文件一致。可是,微信依然无法分享成功,还提示签名文件不对。看网络上分析需要将微信客户端缓存数据清理。可是我清除了半天都没反应。最后我就将app和微信客户端都卸载,全部重新安装,再测试分享,这次分享成功。
微博后台的签名文件也改掉。最后微博、微信都正常分享了。
5、总结:
1)明确问题
我首先明确哪些分享ok,哪些有问题
2)根据错误提示,来找答案
其实上午也有错误提示的,可是自己一直纠结在将后台的包名和签名改成与当前apk的配置一致。
而且当时自己对于包名和签名,这些对应关系,配置等,脑子里也没有现在这么清晰,但是也没有主动去查明这些信息,让自己大脑更清楚。
3)换角度尝试
以后遇到类似问题,或者说遇到问题:
1)明确问题 ,写出来
2)思路写出来
3)逐步推进,把分析过程也写下来
很多时候,自己思路不清楚,不仅浪费时间,而且效率极低。
网友评论