cordova-plugin-qqsdk
A Cordova wrapper around the Tencent QQ SDK for Android and iOS. Provides access to QQ ssoLogin, QQ Sharing, QQ Zone Sharing etc.. 简体中文.
I also write a cordova plugin for WeiboSDK here.
Table of Contents
Feature
- QQ SSO Login
- QQ Logout
- QQ Share (Text、Image、News、Audio)
- QQZone Share(Text、Image、News、Audio)
- QQ Favorites(Text、Image、News、Audio)
- checkClientInstalled
Requirements
- Cordova Version 3.5+
- Cordova-Android >=4.0
- Cordova-iOS >=4.0
Installation
cordova plugin add https://github.com/iVanPan/Cordova_QQ.git --variable QQ_APP_ID=YOUR_QQ_APPID
orcordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=YOUR_QQ_APPID
- cordova build
Documentation
Support API
- 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 | √ | √ | √ | √ | √ | √ |
Error Code
When you use qq login,you may get an error code.If you get one, find detail error msg from here please.
Image
This plugin support three Image types:
- Network URL
- Base64
- Absolute file path
Usage
checkClientInstalled
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');
});
ssoLogin
QQSDK.ssoLogin(function (args) {
alert("token is " + args.access_token);
alert("userid is " +args.userid);
alert("expires_time is "+ new Date(parseInt(args.expires_time)) + " TimeStamp is " +args.expires_time);
}, function (failReason) {
alert(failReason);
});
logout
QQSDK.logout(function () {
alert('logout success');
}, function (failReason) {
alert(failReason);
});
shareText
var args = {};
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);
shareImage
var args = {};
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);
shareNews
var args = {};
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);
shareAudio
var args = {};
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);
getUserInfo
var url = "https://graph.qq.com/user/get_user_info?access_token=" + accessToken + "&oauth_consumer_key=" + QQ_APP_ID + "&openid=" + userId;
http.get(url)
About SDK
This plugin use 3.1.3 version sdk for Android,3.1.3 version sdk for iOS. You can download lastest version sdk here
Notes
- This plugin is required Cordova-android version >=4.0,so using Cordova 5.0.0 or higher is recommended
- This plugin should be used after the deviceready event has been fired!!!
If cordova version <5.1.1,when two Cordova plugins are modifying “*-Info.plist” CFBundleURLTypes, only the first added plugin is getting the changes applied.so after installing plugin,please check the URLTypes in your Xcode project.You can find this issue hereUpdate:This Bug is fixed in last cordova version(5.1.1)- For Android: make sure your signature is correct !!!
- long share URL and large image shoud be avoid.
Demo
- install this plugin
- backup www folder in your cordova project
- replace www by example_www
- install cordova-plugin-camera
- cordova build & test
Contributing
Feel free to contribute
License
cordova-plugin-qqsdk is released under the MIT license. See LICENSE file for more information.