Android微信之登录授权(集成官方SDK-Eclipse)

推荐使用ShareSDK实现微信登录授权:

文章参考:http://www.jianshu.com/p/2ea8ae0618ef

官方SDK有点繁琐,但是可以学习了解下官方SDK是如何实现的

一.前期准备

1.帐号申请
https://open.weixin.qq.com/
首先登录微信开放平台,注册一个帐号
2.提交APP审核
为什么必须提交app审核呢?

Android微信之登录授权(集成官方SDK-Eclipse)_第1张图片

请看下图微信开放平台接口使用权限
不提交审核,根本没法用,无语了。。。
提交需要准备:应用名称,应用简介,应用图片(2828,108108),应用官网
android版本:需要提供应用签名,应用包名
具体参考官网,安装步骤一步步来
这里需要注意几点:
第一:关于应用签名,需要把你的app打包成APK安装到手机,然后通过签名工具,生成对应的签名
不得不说官方的签名工具真的是给人用的吗?

Android微信之登录授权(集成官方SDK-Eclipse)_第2张图片
官方签名工具截图

我还是推荐使用新浪的签名工具吧!

Android微信之登录授权(集成官方SDK-Eclipse)_第3张图片

扫码安装

Android微信之登录授权(集成官方SDK-Eclipse)_第4张图片
新浪签名工具截图

第二:如果每次打包都是采用相关的证书,那么生成的签名是一样的!!!
下面就可以提交审核了,审核周期官方说是7天,一般1-2天就可以审核通过了!


Android微信之登录授权(集成官方SDK-Eclipse)_第5张图片

审核通过

APPID还是非常有用的,后面会用到。
3.手机安装微信客户端
补充:由于本Demo只是简单使用了文本分享API,如果你需要使用微信登录API,那么就需要进行开发者认证(具体认证流程请参考官网),非政府,事业单位,每年300,政府事业单位认证免费。
至此,前期所有的准备工作完成,下面进行代码的整合。

二.整合说明

1.导入SDK Jar包

sdk下载地址:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&lang=zh_CN

Android微信之登录授权(集成官方SDK-Eclipse)_第6张图片

网页截图

导入到项目中

Android微信之登录授权(集成官方SDK-Eclipse)_第7张图片
Paste_Image.png

2.添加必要的权限






3.向微信APP注册你的id
要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。

Android微信之登录授权(集成官方SDK-Eclipse)_第8张图片
Paste_Image.png

4.发起登录授权

final SendAuth.Req req  = new SendAuth.Req();
req.scope     = "snsapi_userinfo";
req.state     = "wechat_sdk_demo_test";
api.sendReq(req);

5.处理分享成功后的回调
如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面操作
a.在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity

Android微信之登录授权(集成官方SDK-Eclipse)_第9张图片
Paste_Image.png

特别说明:包名必须和中间平台里填写的包名保持一直,否则回调失败
特别说明:包名必须和中间平台里填写的包名保持一直,否则回调失败
特别说明:包名必须和中间平台里填写的包名保持一直,否则回调失败
并在manifest文件里面加上exported属性,设置为true,例如:

    

    
    

b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法

Android微信之登录授权(集成官方SDK-Eclipse)_第10张图片
Android微信之登录授权(集成官方SDK-Eclipse)_第11张图片

如何获取token:有2种方法


Android微信之登录授权(集成官方SDK-Eclipse)_第12张图片
Paste_Image.png

特别说明

现在最新的官方jar包好像不支持获得code了。直接就能得到token,省略了获取code 这一步。
所以方法不变,大家取的时候直接resp.token就行了。不用再去取code了。但是,但是,这样直接拿到token了好像按照官方文档上的方法就不能获得openid了。我也没尝试有什么新的方法,反正是jar包更新了但是文档还没更新,大家弄不成功的话可以先用旧的jar和上面获取code的方法。

旧版SDK下载:
http://download.csdn.net/detail/qq247890212/8401389

注意

如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:
-keep class com.tencent.mm.sdk.** {
*;
}

问题汇总1:

Android微信之登录授权(集成官方SDK-Eclipse)_第13张图片

问题汇总2:通过Eclipse安装APK,无法直接测试

建议直接生成APK后,进行测试
至此,你已经能使用微信Android开发工具包的API内容了。如果想更详细了解每个API函数的用法,请查阅 Android 平台参考手册 或自行下载阅读微信SDK Sample Demo源码。

源码

https://github.com/andli0626/wx_authlogin_eclipse.git

效果图

Android微信之登录授权(集成官方SDK-Eclipse)_第14张图片
Paste_Image.png

通过android Studio实现,参考源码

http://download.csdn.net/download/sagittarius1988/9244093

参数资料:

微信授权登陆接入第三方App(步骤总结)
http://blog.csdn.net/qq247890212/article/details/40822481

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN
http://www.bkjia.com/Androidjc/979960.html
http://androidmaster.iteye.com/blog/1887876

Android微信之登录授权(集成官方SDK-Eclipse)_第15张图片
image

你可能感兴趣的:(Android微信之登录授权(集成官方SDK-Eclipse))