[目前插件已经支持到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插件相关推荐

  1. 百度apistore第三方登陆使用说明

    最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做.上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ.微博.人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果 ...

  2. 百度apistore第三方登陆

    最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做.上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ.微博.人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果 ...

  3. PC网站QQ第三方登陆

    本文用项目框架为spring boot 本文旨在简介QQ第三方登陆的主要步骤, 网站QQ第三方登陆需要几个条件 1.拥有QQ开放平台 如果没有的话需要到https://connect.qq.com/申 ...

  4. android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享

    qq第三方登陆授权失败出现代码110401是什么情况?遇到这种情况该如何解决?相信很多用户们在操作的时候都出现过类似的情况吧?下面是小编带来的攻略解析,一起来关注下! qq第三方登陆授权失败11040 ...

  5. node第三方登陆github(express)

    1.新建授权app(OAuth-Apps) 创建成功以后:Client ID(key)和 Client Secret(密钥)是需要用到的 2.使用的node框架:express 下载node-fetc ...

  6. 口令红包 java,[1.7.2]Gifts — 我的世界服务器在线礼物和登陆奖励插件

    ==========*介绍*========= 是不是经常有服里的玩家闹着发福利呢,是不是用give指令用着蛋疼呢 这个插件帮助你--简洁的礼物派发,简单的每日登陆奖励! ==========*用法* ...

  7. python的flask实现第三方登录怎么写_关于qq和新浪微博的第三方登陆|python|flask

    前些日子研究了一下qq和新浪微博的第三方登陆的东西,发现其实难度并不大.来给大家分享一下我的经验和流程. 不论是qq还是新浪微博的第三方登陆都是用了Oauth2.0授权流程,唯一不同的是qq多了一个o ...

  8. 新浪微博第三方登陆重定向错误23123

    新浪微博第三方登陆重定向错误23123 2019年06月02日 13:49:43 温室花朵 阅读数:2更多 个人分类: 第三方微博登陆21323 编辑 当我们使用微博第三方登陆的时候,发现登陆出错了, ...

  9. uni-app第三方登陆-微信

    uni-app第三方登陆-微信 结合上文全局登陆校验,实现微信授权登录 官方手册地址: https://uniapp.dcloud.io/api/plugins/login?id=getuserinf ...

最新文章

  1. linux检查文件一致性,3.20 fsck(检查并修复Linux 文件系统)
  2. 2字节十六进制浮点数 qt_Qt中如何实现十六进制“41A4 0000”十六进制转为浮点数20.5呢?...
  3. Qt quick 编程
  4. Learning to Rank:X-wise
  5. 已经发车的票还能取出来吗_高铁票在车已经开了,但我没上车也没有取票的情况下,还能取出票吗?...
  6. 体验.NET5 RC1极致性能,你也要“卧槽”!
  7. 【Qt开发经验】Qt信号槽连接不成功问题原因汇总
  8. zephir 编译php,使用Zephir来快速编写高性能PHP二进制拓展
  9. (75)Verilog HDL系统函数和任务:$readmemh
  10. 玩cf一直连接服务器失败怎么办啊,windows10系统玩cf提示连接服务器失败怎么办...
  11. 使用Genymotion Android模拟器无法连接电脑本机的服务器
  12. JavaWeb——IOC
  13. 【c语言复习笔记】初始c源程序及其数据类型
  14. paip.c++ 进程间通信方法大总结
  15. FoxMail7.2信纸设置(适用于7.0及以上版本)
  16. VCPU shutdown request
  17. 百度搜索框代码,实现回车点击,跳转到新页面,简单
  18. 实现国产化转型,ZStack Cloud 助力中铁财务数字化转型!
  19. 硬件设计4---什么是电感磁珠?
  20. 虚拟实验工场大学计算机报告,模拟工厂实习报告

热门文章

  1. 《禅与摩托车维修艺术》(罗伯特·M·波西格)骑行路上的哲学思考 Zen and the Art of Motorcycle Mt...
  2. [渝粤教育] 西南科技大学 电子信息工程专业导论 在线考试复习资料
  3. 数字化的下一个目标,就是产业链|数字思考者50人
  4. 亚马逊、速卖通、沃尔玛、阿里国际、煤炉、wish、eBay、Lazada、Shopee测评自养号,listing流量不高,导致转化率低该怎么办?
  5. 聚焦三航道,腾讯云重推五大数据库新品,现场很赞!
  6. C++ 获取特定进程的CPU使用率
  7. python代码桌面壁纸_Python实现设置windows桌面壁纸代码分享
  8. 别把项目成功当目标!——项目经理的误区(1)(转)
  9. 3.Omni-USDT关于支付手续费的UTXO顺序问题研究
  10. ad网络标号怎么用_【Altium Designer】AD改变网络标号的作用域