phonegap-第三方登陆-andriod插件
[目前插件已经支持到Phonegap 3.5]
我们再开发app过程中,不断有各种需求。业务的处理也越来越简洁。
第三方登陆就是微了再app中通过第三方账号来快速完成注册登陆的过程。
通过几天的折腾和开发,终于完成了第三方登陆插件。
该插件是基于百度社会化sdk来完成。
该插件封装了的模块包括支持新浪微博,腾讯微博,QQ空间,开心网,人人网,百度等社交平台的授权。
具体如何设置登陆信息请到百度开发者中心设置。
http://developer.baidu.com/wiki/index.php?title=docs/social/guide/web_login/web_login3。
该插件兼容,百度社会化分享插件,百度推送,百度定位,百度地图等百度系模块插件。
如果已经集成了百度社会化分享插件,集成第三方登陆插件就非常简单。
可以忽略掉 第2 第 3第 5第 6步骤。
1.下载插件包。
2. 解压所下载的包,从lib目录中得到所需要的所有的库:
Baidu-SocialShare-SDK-Android-2.0.0.jar
添加到你的项目中。
3. 修改AndroidManifest.xml,增加以下权限:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
4. 在AndroidManifest.xml中增加jar中需要的Activity。
<activity android:name="com.baidu.cloudsdk.social.oauth.SocialOAuthActivity"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"></activity><activityandroid:name="com.baidu.cloudsdk.social.share.handler.LocalShareActivity"android:launchMode="singleTask"></activity><activity android:name="com.baidu.cloudsdk.social.share.handler.QQFriendShareReceiverActivity"android:launchMode="singleTask"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="tencent此处为腾讯开放平台APPKey" /></intent-filter></activity>
5.拷贝src文件夹里面的java文件到你的src中.
6. 拷贝assert目录下config.json文件到你的项目对应文件夹里面。并修改为自己的信息。
{ client_ids: { baidu:"填写在百度开发者中心注册的app key", sinaweibo:"填写在微博开放平台注册的app key", qqdenglu:"填写在腾讯开放平台注册的app key", qqfriend:"填写在腾讯开放平台注册的app key", weixin:"填写在微信开放平台注册的app key" }, client_names: { qqfriend:"分享给qq好友所要显示的应用名称" }, supported_medias: ["sinaweibo","qqweibo","qqdenglu","kaixin","renren","qqfriend","weixin","weixin_timeline","email","sms"] }
这些信息可以参考百度开发者中心帮助文档来申请。
具体的如何设置可以看他们的帮助文档。
7.在config.xml文件下面引入插件.
2.x 和3.x 的插件添加代码是不同的,一点注意!具体可以参考官网。
2.x插件引入方法:
<plugin name=”Pgbaidulogin” value=”com.breadth.pgtest.Pgbaidulogin”/>
3.x插件引入方法:
<feature name=”Pgbaidulogin”>
<param name=”android-package” value=”com.xhuayi.dgoula.Pgbaidulogin” />
</feature>
8. 修改html代码
引入Pgbaidulogin.js文件到主文件里面index.html
function sina(){
window.plugins.Pgbaidulogin.sina(
function(success) {
alert(success);
var data = JSON.parse(success) ;
$(“#info”).css(“display”,”block”);
$(“#headerimg”).attr(“src”,data.tinyurl);
$(“.username”).html(data.username);
$(“.sex”).html(data.sex);
$(“.city”).html(data.province+data.city);
$(“.media_type”).html(data.media_type);
$(“.social_uid”).html(data.social_uid);
}, function(fail) {
alert(“encoding failed: ” + fail);
}
);}
function kaixin(){
window.plugins.Pgbaidulogin.kaixin(
function(success) {
alert(success);var data = JSON.parse(success) ;
$(“#info”).css(“display”,”block”);
$(“#headerimg”).attr(“src”,data.tinyurl);
$(“.username”).html(data.username);
$(“.sex”).html(data.sex);
$(“.city”).html(data.province+data.city);
$(“.media_type”).html(data.media_type);
$(“.social_uid”).html(data.social_uid);
}, function(fail) {
alert(“encoding failed: ” + fail);
}
);}
function qq(){
window.plugins.Pgbaidulogin.qq(
function(success) {
alert(success);
var data = JSON.parse(success) ;
$(“#info”).css(“display”,”block”);
$(“#headerimg”).attr(“src”,data.tinyurl);
$(“.username”).html(data.username);
$(“.sex”).html(data.sex);
$(“.city”).html(data.province+data.city);
$(“.media_type”).html(data.media_type);
$(“.social_uid”).html(data.social_uid);
}, function(fail) {
alert(“encoding failed: ” + fail);
}
);}
function qqweibo(){
window.plugins.Pgbaidulogin.qqweibo(
function(success) {
alert(success);
var data = JSON.parse(success) ;
$(“#info”).css(“display”,”block”);
$(“#headerimg”).attr(“src”,data.tinyurl);
$(“.username”).html(data.username);
$(“.sex”).html(data.sex);
$(“.city”).html(data.province+data.city);
$(“.media_type”).html(data.media_type);
$(“.social_uid”).html(data.social_uid);
}, function(fail) {
alert(“encoding failed: ” + fail);
}
);}
function renren(){
window.plugins.Pgbaidulogin.renren(
function(success) {
alert(success);
var data = JSON.parse(success) ;
$(“#info”).css(“display”,”block”);
$(“#headerimg”).attr(“src”,data.tinyurl);
$(“.username”).html(data.username);
$(“.sex”).html(data.sex);
$(“.city”).html(data.province+data.city);
$(“.media_type”).html(data.media_type);
$(“.social_uid”).html(data.social_uid);
}, function(fail) {
alert(“encoding failed: ” + fail);
}
);}
function baidu(){
window.plugins.Pgbaidulogin.baidu(
function(success) {
alert(success);
var data = JSON.parse(success) ;
$(“#info”).css(“display”,”block”);
$(“#headerimg”).attr(“src”,data.tinyurl);
$(“.username”).html(data.username);
$(“.sex”).html(data.sex);
$(“.city”).html(data.province+data.city);
$(“.media_type”).html(data.media_type);
$(“.social_uid”).html(data.social_uid);
}, function(fail) {
alert(“encoding failed: ” + fail);
}
);
}
这里的方法是我自己测试用的,可以自己选用,
再处理登陆后如何和自己的用户体系绑定账号,从而达到登陆后直接注册用户。
请看我上一篇文章: 第三方平台账号登入流程总结
我这里已经提供一个social_uid 作为用户唯一id标示。当用户登陆后将此值和自己的用户体系的id绑定注册一个新用户。
这样当用户下次再用同样的第三方账号登陆,就直接登陆app。
注意:第三方登陆后,社会化分享时候用到的账信息就已经存在不需要再登陆后再分享!
phonegap-第三方登陆-andriod插件相关推荐
- 百度apistore第三方登陆使用说明
最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做.上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ.微博.人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果 ...
- 百度apistore第三方登陆
最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做.上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ.微博.人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果 ...
- PC网站QQ第三方登陆
本文用项目框架为spring boot 本文旨在简介QQ第三方登陆的主要步骤, 网站QQ第三方登陆需要几个条件 1.拥有QQ开放平台 如果没有的话需要到https://connect.qq.com/申 ...
- android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享
qq第三方登陆授权失败出现代码110401是什么情况?遇到这种情况该如何解决?相信很多用户们在操作的时候都出现过类似的情况吧?下面是小编带来的攻略解析,一起来关注下! qq第三方登陆授权失败11040 ...
- node第三方登陆github(express)
1.新建授权app(OAuth-Apps) 创建成功以后:Client ID(key)和 Client Secret(密钥)是需要用到的 2.使用的node框架:express 下载node-fetc ...
- 口令红包 java,[1.7.2]Gifts — 我的世界服务器在线礼物和登陆奖励插件
==========*介绍*========= 是不是经常有服里的玩家闹着发福利呢,是不是用give指令用着蛋疼呢 这个插件帮助你--简洁的礼物派发,简单的每日登陆奖励! ==========*用法* ...
- python的flask实现第三方登录怎么写_关于qq和新浪微博的第三方登陆|python|flask
前些日子研究了一下qq和新浪微博的第三方登陆的东西,发现其实难度并不大.来给大家分享一下我的经验和流程. 不论是qq还是新浪微博的第三方登陆都是用了Oauth2.0授权流程,唯一不同的是qq多了一个o ...
- 新浪微博第三方登陆重定向错误23123
新浪微博第三方登陆重定向错误23123 2019年06月02日 13:49:43 温室花朵 阅读数:2更多 个人分类: 第三方微博登陆21323 编辑 当我们使用微博第三方登陆的时候,发现登陆出错了, ...
- uni-app第三方登陆-微信
uni-app第三方登陆-微信 结合上文全局登陆校验,实现微信授权登录 官方手册地址: https://uniapp.dcloud.io/api/plugins/login?id=getuserinf ...
最新文章
- linux检查文件一致性,3.20 fsck(检查并修复Linux 文件系统)
- 2字节十六进制浮点数 qt_Qt中如何实现十六进制“41A4 0000”十六进制转为浮点数20.5呢?...
- Qt quick 编程
- Learning to Rank:X-wise
- 已经发车的票还能取出来吗_高铁票在车已经开了,但我没上车也没有取票的情况下,还能取出票吗?...
- 体验.NET5 RC1极致性能,你也要“卧槽”!
- 【Qt开发经验】Qt信号槽连接不成功问题原因汇总
- zephir 编译php,使用Zephir来快速编写高性能PHP二进制拓展
- (75)Verilog HDL系统函数和任务:$readmemh
- 玩cf一直连接服务器失败怎么办啊,windows10系统玩cf提示连接服务器失败怎么办...
- 使用Genymotion Android模拟器无法连接电脑本机的服务器
- JavaWeb——IOC
- 【c语言复习笔记】初始c源程序及其数据类型
- paip.c++ 进程间通信方法大总结
- FoxMail7.2信纸设置(适用于7.0及以上版本)
- VCPU shutdown request
- 百度搜索框代码,实现回车点击,跳转到新页面,简单
- 实现国产化转型,ZStack Cloud 助力中铁财务数字化转型!
- 硬件设计4---什么是电感磁珠?
- 虚拟实验工场大学计算机报告,模拟工厂实习报告
热门文章
- 《禅与摩托车维修艺术》(罗伯特·M·波西格)骑行路上的哲学思考 Zen and the Art of Motorcycle Mt...
- [渝粤教育] 西南科技大学 电子信息工程专业导论 在线考试复习资料
- 数字化的下一个目标,就是产业链|数字思考者50人
- 亚马逊、速卖通、沃尔玛、阿里国际、煤炉、wish、eBay、Lazada、Shopee测评自养号,listing流量不高,导致转化率低该怎么办?
- 聚焦三航道,腾讯云重推五大数据库新品,现场很赞!
- C++ 获取特定进程的CPU使用率
- python代码桌面壁纸_Python实现设置windows桌面壁纸代码分享
- 别把项目成功当目标!——项目经理的误区(1)(转)
- 3.Omni-USDT关于支付手续费的UTXO顺序问题研究
- ad网络标号怎么用_【Altium Designer】AD改变网络标号的作用域