这个一个 QQ SDK 的 Cordova 插件。 English
如果你希望使用一个微博的 Cordova 插件可以查看这里.
- QQ 登录
- QQ 登出
- QQ 分享(文字、图片、新闻网页、音乐)
- QQ 空间分享(文字、图片、新闻网页、音乐)
- QQ 收藏(文字、图片、新闻网页、音乐)
- 检查 QQ 手机客户端端是否安装
- Cordova Version 3.5+
- Cordova-Android >= 4.0
- Cordova-iOS >= 4.0
- 命令行运行
cordova plugin add cordova-plugin-qqsdk --variable QQ_IOS_APP_ID=YOUR_QQ_IOS_APPID QQ_ANDROID_APP_ID=YOUR_QQ_ANDROID_APPID
- 命令行运行 cordova build
- ssoLogin
- Logout
- checkClientInstalled
- Share(see form below)
Platform | iOS | iOS | iOS | Android | Android | Android |
---|---|---|---|---|---|---|
ShareScene | QQZone | QQ Favorite | QQZone | QQ Favorite | ||
Text | √ | √ | √ | ✕ | √ | √ |
Image | √ | √ | √ | √ | √ | √ |
News | √ | √ | √ | √ | √ | √ |
Audio | √ | √ | √ | √ | √ | √ |
使用 SDK 时,所有结果都会通过回调返回给应用。在回调的结果中,会包含每次调用结果的返回码。
正常情况下返回码为 0,表示调用成功。
如果返回码不为 0,说明调用出错,需要根据返回码的值来定位错误原因。
110201:未登陆
110405:登录请求被限制
110404:请求参数缺少 appid
110401:请求的应用不存在
110407:应用已经下架
110406:应用没有通过审核
100044:错误的 sign
110500:获取用户授权信息失败
110501:获取应用的授权信息失败
110502:设置用户授权失败
110503:获取 token 失败
110504:系统内部错误
详情查看这里
这个插件中的图片分享、新闻分享、音乐分享功能都要使用到图片,以下类型的图片在这些功能中都支持
- 网络图片
- Base64
- 本地图片(图片的绝对路径)
var args = {};
args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM;
QQSDK.checkClientInstalled(function () {
alert('client is installed');
}, function () {
// if installed QQ Client version is not supported sso,also will get this error
alert('client is not installed');
}, args);
var args = {};
args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM;
QQSDK.ssoLogin(function (result) {
alert('token is ' + result.access_token);
alert('userid is ' + result.userid);
alert('expires_time is ' + new Date(parseInt(result.expires_time)) + ' TimeStamp is ' + result.expires_time);
}, function (failReason) {
alert(failReason);
}, args);
QQSDK.logout(function () {
alert('logout success');
}, function (failReason) {
alert(failReason);
});
var args = {};
args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM;
args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite
args.text = '这个是 Cordova QQ 分享文字';
QQSDK.shareText(function () {
alert('shareText success');
}, function (failReason) {
alert(failReason);
}, args);
var args = {};
args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM;
args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite
args.title = '这个是 Cordova QQ 图片分享的标题';
args.description = '这个是 Cordova QQ 图片分享的描述';
args.image = 'https://cordova.apache.org/static/img/cordova_bot.png';
QQSDK.shareImage(function () {
alert('shareImage success');
}, function (failReason) {
alert(failReason);
}, args);
var args = {};
args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM;
args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite
args.url = 'https://cordova.apache.org/';
args.title = '这个是 Cordova QQ 新闻分享的标题';
args.description = '这个是 Cordova QQ 新闻分享的描述';
args.image = 'https://cordova.apache.org/static/img/cordova_bot.png';
QQSDK.shareNews(function () {
alert('shareNews success');
}, function (failReason) {
alert(failReason);
}, args);
var args = {};
args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM;
args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite
args.url = 'https://y.qq.com/portal/song/001OyHbk2MSIi4.html';
args.title = '十年';
args.description = '陈奕迅';
args.image = 'https://y.gtimg.cn/music/photo_new/T001R300x300M000003Nz2So3XXYek.jpg';
args.flashUrl = 'http://stream20.qqmusic.qq.com/30577158.mp3';
QQSDK.shareAudio(function () {
alert('shareAudio success');
}, function (failReason) {
alert(failReason);
}, args);
var url = 'https://graph.qq.com/user/get_user_info?access_token=' + accessToken + '&oauth_consumer_key=' + QQ_APP_ID + '&openid=' + userId;
http.get(url)
本插件 Android SDK 的版本是 3.2.1,iOS SDK 的版本是 3.2.3,你可以在这里下载最新版本的 SDK
请认真阅读文档,请认真阅读文档,请认真阅读文档
- 这个插件要求 Cordova-Android 的版本 >= 4.0,推荐使用 Cordova 5.0 或更高的版本,因为从 Cordova 5.0 开始 Cordova-Android 4.0 是默认使用的 Android 版本
- 请在 Cordova 的 deviceready 事件触发以后再调用本插件!!!
在低于 5.1.1 的 Cordova 版本中存在一个 Bug,如果你有多个插件要修改 iOS 工程中的 “*-Info.plist” CFBundleURLTypes, 只有第一个安装的插件才会生效.所以安装完插件请务必在你的 Xcode 工程里面检查一下 URLTypes。 关于这个 bug 的详情你可以在 这里找到建议安装使用 5.1.1 及以上的 Cordova 版本- Android 版本请确保你的签名是正确的
- 分享的 URL 长度不要过长,图片不要太大,不然会分享失败,因为 SDK 做了限制
在安装完这个插件以后,把 Cordova 工程中的代码替换为 example_www 中的代码,安装 Cordova 相机插件,在 build 以后可以进行各个功能测试,以下为运行效果图:
欢迎提交 PR,贡献你的代码,如果有新功能,请提供 Demo。
cordova-plugin-qqsdk 遵照了 MIT 证书. 详情可以查看 证书 文件