Skip to content
A Cordova wrapper around the Tencent QQ SDK for Android and iOS. Provides access to QQ ssoLogin, QQ Sharing, QQZone Sharing etc.
Branch: master
Clone or download
iVanPan Merge pull request #92 from sengmitnick/patch-1
Only fullscreen opaque activities can request orientation
Latest commit 8c799b5 Jul 19, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github update ISSUE_TEMPLATE Apr 19, 2017
@ionic-native/plugins/qqsdk add @ionic-native for qqsdk Jun 14, 2017
example_www
src
www
.gitignore
LICENSE Initial commit Mar 30, 2015
README.md
README_ZH.md
ScreenShot.png update ScreenShot Jan 11, 2017
package.json
plugin.xml Only fullscreen opaque activities can request orientation Jun 20, 2018

README.md

cordova-plugin-qqsdk

npm npm platform GitHub license

A Cordova wrapper around the Tencent QQ SDK for Android and iOS. Provides access to QQ ssoLogin, QQ Sharing, QQ Zone Sharing etc.. 简体中文.

Table of Contents

Feature

  1. QQ SSO Login
  2. QQ Logout
  3. QQ Share (Text、Image、News、Audio)
  4. QQZone Share(Text、Image、News、Audio)
  5. QQ Favorites(Text、Image、News、Audio)
  6. checkClientInstalled

Requirements

  • Cordova Version 3.5+
  • Cordova-Android >= 7.0
  • Cordova-iOS >= 4.0

Installation

1.cordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=YOUR_QQ_APPID
2. cordova build

Documentation

Support API

  1. ssoLogin
  2. Logout
  3. checkClientInstalled
  4. Share(see form below)
Platform iOS iOS   iOS   Android Android Android
ShareScene   QQ     QQZone QQ Favorite  QQ     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:

  1. Network URL
  2. Base64
  3. Absolute file path

Usage

checkClientInstalled
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);
ssoLogin
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);
logout
QQSDK.logout(function () {
  alert('logout success');
}, function (failReason) {
  alert(failReason);
});
shareText
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);
shareImage
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);
shareNews
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);
shareAudio
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);
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.2.1 version sdk for Android,3.2.3 version sdk for iOS. You can download lastest version sdk here

Notes

  1. This plugin is required Cordova-Android version >=4.0,so using Cordova 5.0 or higher is recommended
  2. This plugin should be used after the deviceready event has been fired!!!
  3. 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 here Update:This Bug is fixed in last Cordova version(5.1.1)
  4. For Android: make sure your signature is correct !!!
  5. long share URL and large image shoud be avoid.

Demo

  1. install this plugin
  2. backup www folder in your cordova project
  3. replace www by example_www
  4. install cordova-plugin-camera
  5. cordova build & test
example

Contributing

Feel free to contribute

License

cordova-plugin-qqsdk is released under the MIT license. See LICENSE file for more information.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.