flutter_qq

Last updated:

0 purchases

flutter_qq Image
flutter_qq Images
Add to Cart

Description:

flutter qq

flutter_qq #
Flutter plugin for QQ.
Getting Started #
android #

Add the following to your project's AndroidManifest.xml and replace [QQ APPId] with your own QQ AppId

<activity
android:name="com.tencent.connect.common.AssistActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="behind"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<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="[QQ APPId]" />
</intent-filter>
</activity>
copied to clipboard
iOS #

Add the followings to your project's Info.plist

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>tencent</string>
<key>CFBundleURLSchemes</key>
<array>
<string>tencent1107493622</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>mqq</string>
<string>mqqapi</string>
<string>mqqwpa</string>
<string>mqqbrowser</string>
<string>mttbrowser</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>mqqopensdkapiV4</string>
<string>wtloginmqq2</string>
<string>mqzone</string>
<string>mqzoneopensdk</string>
<string>mqzoneopensdkapi</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapiV2</string>
<string>mqqapiwallet</string>
<string>mqqopensdkfriend</string>
<string>mqqopensdkdataline</string>
<string>mqqgamebindinggroup</string>
<string>mqqopensdkgrouptribeshare</string>
<string>tencentapi.qq.reqContent</string>
<string>tencentapi.qzone.reqContent</string>
</array>
<key>NSMicrophoneUsageDescription</key>
<string>microphoneUsageDescription</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>photoLibraryDesciption</string>
<key>NSCameraUsageDescription</key>
<string>cameraUsageDesciption</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>remote-notification</string>
</array>
copied to clipboard

Add the followings to your project's AppDelegate.m

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
options:(NSDictionary<NSString*, id> *)options
{
NSString * urlStr = [url absoluteString];
[[NSNotificationCenter defaultCenter]
postNotificationName:@"QQ" object:nil userInfo:@{@"url":urlStr}];
return YES;
}
copied to clipboard
Not Complete #

SHARE_TO_QQ_TYPE.AUDIO
SHARE_TO_QZONE_TYPE.PUBLISH_VIDEO
SHARE_TO_QQ_TYPE.APP & SHARE_TO_QZONE_TYPE.APP
SHARE_TO_QZONE_TYPE.IMAGE_TEXT,android & ios don't have same action

Api Documentation #
Data struct #

QQResult




field
type
description




code
int
错误码 0:成功 1:发生错误 2:用户取消


message
String
错误详情


response
Map
只在login时返回



response格式为:
{
"openid":"xxxxx",
"accessToken":"XXXXXXXXX",
"expiresAt":"xxxxxxxxx",
}
copied to clipboard

QZONE_FLAG(enum)




field
description




DEFAULT
默认


AUTO_OPEN
在好友选择列表会自动打开分享到qzone的弹窗


ITEM_HIDE
在好友选择列表隐藏了qzone分享选项




SHARE_TO_QQ_TYPE(enum)




field
description




DEFAULT
默认


AUDIO
音频


IMAGE
图片


APP
应用




SHARE_TO_QZONE_TYPE(enum)




field
description




IMAGE_TEXT
默认


PUBLISH_MOOD
说说


PUBLISH_VIDEO
视频


IMAGE
图片 貌似QQ已不再支持,不建议使用,可以通过shareToQQ中设置qzoneFlag为QZONE_FLAG.AUTO_OPEN实现


APP
应用




ShareQQContent




field
type
description




shareType
SHARE_TO_QQ_TYPE
分享类型


title
String
title


targetUrl
String
targetUrl


summary
String
summary


imageUrl
String
imageUrl(shareType为IMAGE时,只支持imageLocalUrl)


imageLocalUrl
String
imageLocalUrl


appName
String
appName


audioUrl
String
audioUrl(只有shareType为AUDIO时支持)


qzoneFlag
QZONE_FLAG
qzone flag




ShareQzoneContent




field
type
description




shareType
SHARE_TO_QZONE_TYPE
分享类型


title
String
title


targetUrl
String
targetUrl


summary
String
summary


imageUrls
List
imageUrl


scene
String
scene


callback
String
callback



Method #

registerQQ

FlutterQq.registerQQ('YOUR_QQ_APPId');
copied to clipboard

isQQInstalled

Future<Null> _handleisQQInstalled() async {
var result = await FlutterQq.isQQInstalled();
var output;
if (result) {
output = "QQ已安装";
} else {
output = "QQ未安装";
}
setState(() {
_output = output;
});
}
copied to clipboard

login

Future<Null> _handleLogin() async {
try {
var qqResult = await FlutterQq.login();
var output;
if (qqResult.code == 0) {
output = "登录成功" + qqResult.response.toString();
} else if (qqResult.code == 1) {
output = "登录失败" + qqResult.message;
} else {
output = "用户取消";
}
setState(() {
_output = output;
});
} catch (error) {
print("flutter_plugin_qq_example:" + error.toString());
}
}
copied to clipboard

shareToQQ

Future<Null> _handleShareToQQ() async {
ShareQQContent shareContent = new ShareQQContent(
title: "测试title",
targetUrl: "https://www.baidu.com",
summary: "测试summary",
imageUrl: "http://inews.gtimg.com/newsapp_bt/0/876781763/1000",
);
try {
var qqResult = await FlutterQq.shareToQQ(shareContent);
var output;
if (qqResult.code == 0) {
output = "分享成功";
} else if (qqResult.code == 1) {
output = "分享失败" + qqResult.message;
} else {
output = "用户取消";
}
setState(() {
_output = output;
});
} catch (error) {
print("flutter_plugin_qq_example:" + error.toString());
}
}
copied to clipboard

shareToQzone
shareToQzone可以通过shareToQQ中设置qzoneFlag为QZONE_FLAG.AUTO_OPEN实现

Future<Null> _handleShareToQZone() async {
ShareQzoneContent shareContent = new ShareQzoneContent(
title: "测试title",
targetUrl: "https://www.baidu.com",
summary: "测试summary",
imageUrl: "http://inews.gtimg.com/newsapp_bt/0/876781763/1000", // 或者本地图片地址
);
try {
var qqResult = await FlutterQq.shareToQzone(shareContent);
var output;
if (qqResult.code == 0) {
output = "分享成功";
} else if (qqResult.code == 1) {
output = "分享失败" + qqResult.message;
} else {
output = "用户取消";
}
setState(() {
_output = output;
});
} catch (error) {
print("flutter_plugin_qq_example:" + error.toString());
}
}
copied to clipboard
How To Contribute #
android #

add your own flutter.sdk path to local.properties

flutter.sdk=YOUR_OWN_FLUTTER_SDK_PATH
copied to clipboard

PR

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.