Android应用开发:社会化平台登录接入

引言

最近利用闲暇跑通了微博、QQ、G+在Android上的登录接入功能,虽然不至于说坎坷颇多,但是小麻烦也不少,特此记录一下。另,微信的接入是要花300大洋的,所以没有尝试。

QQ登录接入

开放平台地址:http://open.qq.com/

Android接入文档:http://wiki.open.qq.com/wiki/Android_API%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E

SDK下载:http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD

具体的接入配置等等文档中写的很详细了,这里并不进行说明。这里需要注意的几点是:

1. 需要引入的jar包有两个,一个是mta_sdk,另一个是open_sdk,基础包中只有一个open_sdk,别忘了去完整包中取一个mta_sdk出来,否则不能正常使用;

2. AndroidManifest.xml中对于腾讯的meta_data声明中,appid前必须有"tencent"字样,是一个组合字符串,而不只是appip;

3. 执行登录操作login时第二个SCOPE参数可以通过查看http://wiki.open.qq.com/wiki/website/API%E5%88%97%E8%A1%A8 进行组装,"all"代表全部权限。

QQ登录接入比较简单,文档全面切更新快,上手难度★★☆☆☆

微博登录接入

开放平台地址:http://open.weibo.com/

Android接入文档:https://github.com/sinaweibosdk/weibo_android_sdk/blob/master/%E5%BE%AE%E5%8D%9AAndroid%E5%B9%B3%E5%8F%B0SDK%E6%96%87%E6%A1%A3V2.5.0.pdf

SDK下载:http://open.weibo.com/wiki/%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8#.E7.A7.BB.E5.8A.A8SDK.E4.B8.8B.E8.BD.BD

没错,是github上的。刚刚接触的时候我也是一脸黑线,什么跟什么啊,SDK下载不是直接下载而是跳到github,文档也不好好写在自己的网站上,openapi那些接口也要拿到github上再封一层?而文档中的示例代码又直接用了二次封装的,只能说:对于开发者不够友好,过于沉迷装逼模式。想好好照着文档step by step的话,把github中的https://github.com/sinaweibosdk/weibo_android_sdk/tree/master/demo-src/WeiboSDK/src/com/sina/weibo/sdk/openapi
拿下来放到自己的工程中修改好import后再看吧。

需要注意的点是:

1. 一定要在后台配置好登录后的回调网址,否则会出现错误;

2. 应用签名需要的是MD5,这个需要在手机上安装微博的一个生成签名的apk,此签名非彼签名,只是一串数值,并不是apk的签名文件;

微博登录接入比QQ要麻烦多了,一会github一会微博的网站,逼格太高了,上手难度★★★★☆

G+登录接入

开放平台地址:https://developers.google.com/+/mobile/android/

API控制台地址:https://code.google.com/apis/console/

类参考:https://developer.android.com/intl/zh-cn/reference/gms-packages.html

其sdk是AndroidSDK中的google-play-server字样,gradle中方法:

dependencies {
    compile 'com.google.android.gms:play-services:5.2.08'
}

G+接入最麻烦的地方在于GoogleAPI控制台的配置,不过按照其文档step by step的话,也没有什么大问题,最需要注意的一些地方是:

1. API控制台中一定要事先配置好“API和验证”的“同意界面”,如果这里不配置好的话,点了什么也出不来;

2. 注意G+登录按钮的设计规范,Google特意强调的:https://developers.google.com/+/branding-guidelines#sign-in-button

3. 网络问题。由于众所周知的原因,请注意调试时的网络状况;

4. 若手机不支持GMS框架,那么也并不支持G+登录,所以请先检查GMS的支持情况,再决定是否显示G+登录按钮吧;

5. 文档更新不及时,有的已经废弃了的接口文档中还在blabla的教人怎么用,而且到代码中也没有一些接口,建议使用时候只是走一遍引导文档,而后去看类参考;

6. 文档中关于登录的setVisibleActivities接口已不存在,用setActions替代;

7. SCOPE在sdk包中有类定义,对应类参考可以方便的知道哪个是哪个。

G+登录接入应该算是最复杂的了,谁让Google拥有全世界最先进的帐号系统呢,文档的更新不及时真的是最痛的地方,不过完善的类参考绝对可以弥补了。上手难度★★★★★

时间: 2024-10-12 12:23:29

Android应用开发:社会化平台登录接入的相关文章

Android studio 开发一个用户登录界面

activity_main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/re

基于Qt下移动平台第三方接入-ShareSDK(新浪微博,微信朋友圈等分享登录)

一. ShareSDK简介 ShareSDK是为iOS.Android.WP8的APP提供社会化功能的一个组件,开发者只需10分钟即 可集成到自己的APP中,它不仅支持如QQ.微信.新浪微博.腾讯微博.开心网.人人网. 豆瓣.网易微博.搜狐微博.facebook.twitter.google+等国内外主流社交平台,还有强大 的统计分析管理后台,可以实时了解用户.信息流.回流率.传播效应等数据,有效的指导日常 运营与推广,同时为APP引入更多的社会化流量. 一. ShareSDK的功能特点 (1)

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件,如何使用SDK提供的API轻松实现多平台的社会化分享,官网的文档和Demo看起来很头疼的有木有,小巫在集成这个社会化的组件也有点烦躁,所以也需要各位耐心看下面的博文把友盟社会化组件集成到你的应用中去.为什么要选择友盟呢,这里也是答应了小喵的,要帮忙集成他们的服务,所以也顺带帮他们写一篇这样的博文,千

【转】【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo.实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相交流.学习和参考,博主只求能和大家共同进步.希望能多多支持! 这篇文章中,我们使用到了Share SDK,它是为iOS.Android.WP8的APP提供社会化功能的一

android平台sdk接入的一些坑

1.应用宝.应用宝是腾讯的一个平台,算是比较大的平台了,所以一般游戏都会接入该平台SDK.该平台SDK接入的时候需要注意的是必须签名发包才能登录,其次就是好像需要自己弄QQ登录和微信登录这2个按钮. 2.华为平台.华为也是国内比较大的一个平台.华为需要注意的是第一次登录游戏的时候会提示是否签华为条款的?要是玩家点了否是需要退出游戏的或者重新弹条款.接入SDK的时候需要注意这个,一般很容易忘记. 3.UC平台.UC平台最需要注意的就是他的数据收集里面有个创角时间,记住一定要给9位数的时间戳,我每次

Android KitKat 4.4平台开发-添加USB ADB和MTP功能支持

ADB和MTP是Android基于USB实现的两个重要功能,极大地方便了用户在PC与Android设备之间的互操作,比如传输文件.安装应用.开发调试应用. 本文讲述如何在特定软硬件平台下支持Android ADB和MTP功能. Android版本: KitKat 4.4.2 Linux内核版本: 3.10 (Vendor Kernel) 硬件平台: Atmel SAMA5D3 SoC 针对Linux内核的更改 Merge Android Linux内核USB Gadget驱动到处理器厂商Linu

[转载红鱼儿]delphi 实现微信开发(2)接入微信公众号平台

先要学习一下接入的资料,在这里,因为原理都在,所以一定要认真阅读,然后,利用Delphi实现一个对应函数: function CheckSignature(const signature, timestamp, nonce, token: string): boolean; var strs: TStringList;   tmpStr: string; begin strs := TStringList.Create;   try     strs.Add(token);     strs.A

Android开发之自动登录功能的实现

在我们平时使用的手机应用都可以实现只需要登陆一次账号后,第二次进入应用直接跳转到效果界面的效果,还有QQ的登陆框是如何记忆我们的隐身登陆,保存账号选项的呢,这些都是通过使用SharedPreferences共享参数效果实现的,而无须使用数据库来存储.以下我们直接看详细代码分析. package com.example.account.login; import java.util.HashMap; import java.util.Map; import com.android.dao.MySQ

深入浅出 - Android系统移植与平台开发(一)

深入浅出 - Android系统移植与平台开发(一) 分类: Android移植2012-09-05 14:16 16173人阅读 评论(12) 收藏 举报 androidgitgooglejdkubuntu 目录(?)[+] +-------------------------------------------------+ +      本系列为连载,不定期会更新       + +-------------------------------------------------+ 一.A