QQSDK
This Plugin is a wrapper around the Tencent QQ SDK for Android and iOS. Provides access to QQ ssoLogin, QQ Sharing, QQZone Sharing etc.
Requires Cordova plugin: cordova-plugin-qqsdk
. For more info, please see the QQSDK plugin docs.
Repo: https://github.com/iVanPan/Cordova_QQ
Installation
- Install the Cordova and Ionic Native plugins:
$ ionic cordova plugin add cordova-plugin-qqsdk --variable QQ_APP_ID=YOUR_QQ_APPID $ npm install --save @ionic-native/qqsdk@4
- Add this plugin to your app's module
Supported platforms
- Android
- iOS
Usage
import { QQSDK, QQShareOptions } from '@ionic-native/qqsdk';
constructor(private qq: QQSDK) { }
...
const options: QQShareOptions = {
client: this.qq.ClientType.QQ,
scene: this.qq.Scene.QQ,
title: 'This is a title for cordova-plugin-qqsdk',
url: 'https://cordova.apache.org/',
image: 'https://cordova.apache.org/static/img/cordova_bot.png',
description: 'This is Cordova QQ share description',
flashUrl: 'http://stream20.qqmusic.qq.com/30577158.mp3',
};
const clientOptions: QQShareOptions = {
client: this.qq.ClientType.QQ,
};
const shareTextOptions: QQShareOptions = {
client: this.qq.ClientType.QQ,
text: 'This is Share Text',
scene: this.qq.Scene.QQ,
};
this.qq.ssoLogin(clientOptions)
.then(result => {
// Success
console.log('token is ' + result.access_token);
console.log('userid is ' + result.userid);
console.log('expires_time is ' + new Date(parseInt(result.expires_time)) + ' TimeStamp is ' + result.expires_time);
})
.catch(error => {
console.log(error); // Failed
});
this.qq.logout()
.then(() => {
console.log('logout success');
})
.catch(error => {
console.log(error);
});
this.qq.checkClientInstalled(clientOptions)
.then(() => {
console.log('Installed');
})
.catch(() => {
console.log('Not Installed');
});
this.qq.shareText(shareTextOptions)
.then(() => {
console.log('shareText success');
})
.catch(error => {
console.log(error);
});
this.qq.shareImage(options)
.then(() => {
console.log('shareImage success');
})
.catch(error => {
console.log(error);
});
}
this.qq.shareNews(options)
.then(() => {
console.log('shareNews success');
})
.catch(error => {
console.log(error);
});
}
this.qq.shareAudio(options)
.then(() => {
console.log('shareAudio success');
})
.catch(error => {
console.log(error);
});
Instance Members
Scene
QQ Share Scene
ClientType
client type: QQ application or TIM application
ssoLogin(options)
open QQ or TIM client perform ssoLogin
Param | Type | Details |
---|---|---|
options |
Returns: Promise<any>
Returns a Promise that resolves with the success return, or rejects with an error.
logout()
checkClientInstalled()
Detect if the QQ application or TIM application is installed on the device.
Returns: Promise<any>
Returns a Promise that resolves with the success return, or rejects with an error.
shareText(options)
shareText
Param | Type | Details |
---|---|---|
options |
Returns: Promise<any>
Returns a Promise that resolves with the success return, or rejects with an error.
shareImage(options)
shareImage
Param | Type | Details |
---|---|---|
options |
Returns: Promise<any>
Returns a Promise that resolves with the success return, or rejects with an error.
shareNews(options)
shareNews
Param | Type | Details |
---|---|---|
options |
Returns: Promise<any>
Returns a Promise that resolves with the success return, or rejects with an error.
shareAudio(options)
shareAudio
Param | Type | Details |
---|---|---|
options |
Returns: Promise<any>
Returns a Promise that resolves with the success return, or rejects with an error.
QQShareOptions
Param | Type | Details |
---|---|---|
client |
number
|
The clinet type, QQ or TIM Default is QQ (optional) |
scene |
number
|
The Share Sence Default is QQ (optional) |
text |
string
|
The text for shareText (optional) |
url |
string
|
The url for share news or audio (optional) |
title |
string
|
The title for share image,news or audio (optional) |
description |
string
|
The description for share image,news or audio (optional) |
image |
string
|
The image for share image,news or audio Image supports three types:
|
flashUrl |
string
|
The URL for audio (optional) |