uexQQ查看3.0文档

接入指引部分:

1、 简介

QQ登录及分享插件

1.1、说明

调用QQ登录及分享插件,可以实现图文分享、音频分享、应用分享

温馨提示:

(1)、 Android插件通过config.xml配置:把"tencent222222"替换成"tencent+appid"

<config desc="uexQQ" type="KEY">
  <param name="$UEXQQ_APPID$" platform="Android" value="tencent222222"/>
</config>
具体详细步骤请点击参考 :开发指导->Android QQ插件接入指引

(2)、iOS插件uexQQ如果用到login接口和分享回调,需要通过config.xml配置urlScheme, urlScheme和您在QQ开发者申请的appid相关.

  • QQ分享功能需要用到的urlScheme形如 tencent+appid
  • QQAPI需要用到的urlScheme形如QQ+appid_x16
    • appid_x16 为8位字符串,是appid的16进制表示,不足的在前面填0补至8位
    • 比如appid是222222,其16进制表示为3640E 前面补足0,得到8位的appid_x16为0003640E

以appid=222222为例,相应的配置代码就如下所示

<config desc="uexQQ" type="URLSCHEME">
<urlScheme name="uexQQ" schemes="['QQ0003640E','tencent222222']"/>
</config>

(3)iOS 9 以后,为了预防APP通过非正常渠道获取用户的某些隐私信息,Apple启用了URLScheme白名单机制.

  • 为了正常使用插件的所有功能还需要配置URLScheme白名单(什么是URLScheme白名单))
  • 配置白名单方法请参考这里
  • uexQQ需要进白名单添加的URLScheme如下
<string>mqzoneopensdk</string> 
<string>mqzoneopensdkapi</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapiV2</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>wtloginmqq2</string>
<string>mqqapi</string>
<string>mqqwpa</string>
<string>mqzone</string>
<string>mqq</string>
1.2、UI展示

1.3、开源源码

插件测试用例与源码下载:点击 插件中心至插件详情页 (插件测试用例与插件源码已经提供)

1.4、术语表

Path Types

协议头 Android对应路径 (其中"/sdcard/"等 同于"/storage/emulated/0/") iOS对应路径
res:// widget/wgtRes/ widget/wgtRes
wgts:// /storage/emulated/0/widgetone/apps/ xxx(widgetAppId)/ /Documents/apps/xxx(widgetAppId)/
wgts:// /storage/emulated/0/widgetone/widgets/ /Documents/widgets/
file:///sdcard/ /storage/emulated/0/
1.5、平台版本支持

本插件的所有API默认支持Android4.0+iOS7.0+操作系统. 有特殊版本要求的API会在文档中额外说明.

1.6、接口有效性

本插件所有API默认在插件版本4.0.0+可用. 在后续版本中新添加的接口会在文档中额外说明.

2、API概览

2.1、方法
login //登录

uexQQ.login(appId, callbackFunction);

说明:

登录QQ

参数:

参数名称 参数类型 是否必选 说明
appId String 在腾讯开放平台注册的应用appId,具体申请步骤可参考,点击跳转
callbackFunction Function 回调函数,用来获取相关业务数据

回调参数:

var callbackFunction =  function(error, data){}
参数名称 类型 说明
error Number 0表示登录成功,非0表示登录失败
data Object 登录成功返回的相关数据,形式如下:
var data = {
  access_token:,
  openid:,
  expires_in:
}

示例:

uexQQ.login("222222", function(error, data) {
    if(!error){
      alert(JSON.stringify(data));
    }else{
      alert("登录失败");
    }
});
isQQInstalled //检查QQ是否已安装

uexQQ.isQQInstalled()

说明:

检查QQ是否已安装.

参数:

返回值:

Boolean类型,true表示已安装,false表示未安装.

示例:

var ret = uexQQ.isQQInstalled();
alert(ret);
shareWebImgTextToQQ //分享图文信息到QQ

uexQQ.shareWebImgTextToQQ(appId,jsonData, callbackFunction);

说明:

分享图文信息到QQ

参数:

参数名称 参数类型 是否必选 说明
appId String 在腾讯开放平台注册的应用appId
jsonData Object 内容
callbackFunction Function 回调函数,用来获取分享结果
var jsonData = {
    title:,
    summary:,
    targetUrl:,
    imageUrl:,
    appName:,
    cflag:
}//**补充说明:**对于入参targetUrl, imageUrl采用UTF-8进行URL编码。

各字段含义如下:

参数 是否必须 说明
title 标题,最长30个字符
summary 消息摘要,最长40个字符
targetUrl 点击消息跳转URL
imageUrl 图片地址,支持网络图片和本地图片
appName 应用名称,显示在分享完成时的返回按钮
cflag 是否弹出分享到空间对话框.不传时,不弹出对话框,可以选择分享到QQ好友或QQ空间; 值为"1",弹出对话框;值为"2",不弹出对话框,只能分享到QQ好友

回调参数:

var callbackFunction = function(error,data){}
参数名称 类型 说明
error Number 分享状态,0表示成功,非0表示失败
data String 分享失败原因

示例:

function shareWebImgTextToQQ(){
    var json = '{"title":"图文分享标题","summary":"图文分享消息摘要","targetUrl":"http://appcan.cn","imageUrl":"res://aa.jpg","appName":"uexQQ", "cflag":"1"}';
    uexQQ.shareWebImgTextToQQ("222222", json, function(error,data) {
        if(!error){
          alert("分享成功!");
        }else{
          alert("分享失败:" + data);
        }
    });
}
shareLocalImgToQQ //分享本地图片到QQ

uexQQ.shareLocalImgToQQ(appId,jsonData, callbackFunction);

说明:

分享本地图片到QQ

参数:

参数名称 参数类型 是否必选 说明
appId String 在腾讯开放平台注册的应用appId
jsonData Object 内容
callbackFunction Function 回调函数,用来获取分享结果
 var jsonData = {
    imageLocalUrl:,
    appName:,
    cflag:
}

各字段含义如下:

参数 是否必须 说明
imageLocalUrl 本地图片路径,路径协议详见[CONSTANT中PathTypes
appName 应用名称,显示在分享完成时的返回按钮
cflag 是否弹出分享到空间对话框.不传时,不弹出对话框,可以选择分享到QQ好友或QQ空间; 值为"1",弹出对话框;值为"2",不弹出对话框,只能分享到QQ好友

回调参数:

var callbackFunction = function(error,data){}
参数名称 类型 说明
error Number 分享状态,0表示成功,非0表示失败
data String 分享失败原因

示例:

function shareLocalImgToQQ(){
    var json = '{"imageLocalUrl":"res://aa.jpg","appName":"uexQQ"}';
    uexQQ.shareLocalImgToQQ("222222", json , function(error,data) {
        if(!error){
          alert("分享成功!");
        }else{
          alert("分享失败:" + data);
        }
    });
}
shareAudioToQQ //分享音频到QQ

uexQQ.shareAudioToQQ(appId, jsonData, callbackFunction);

说明:

分享音频到QQ

参数:

参数名称 参数类型 是否必选 说明
appId String 在腾讯开放平台注册的应用appId
jsonData Object 内容
callbackFunction Function 回调函数,用来获取分享结果
var jsonData = {
    "title":,
    "summary":,
    "targetUrl":,
    "imageUrl":,
    "appName":,
    "audio_url":,
    "cflag":
}//**补充说明:**对于入参targetUrl, imageUrl采用UTF-8进行URL编码。

各字段含义如下:

参数 是否必须 说明
title 标题,最长30个字符
summary 消息摘要,最长40个字符
targetUrl 点击消息跳转URL
imageUrl 图片地址,支持网络图片和本地图片
appName 应用名称,显示在分享完成时的返回按钮
audio_url 音频地址
cflag 是否弹出分享到空间对话框.不传时,不弹出对话框,可以选择分享到QQ好友或QQ空间; 值为"1",弹出对话框;值为"2",不弹出对话框,只能分享到QQ好友

回调参数:

var callbackFunction = function(error,data){}
参数名称 类型 说明
error Number 分享状态,0表示成功,非0表示失败
data String 分享失败原因

示例:

function shareAudioToQQ(){
    var json = '{"title":"音乐分享标题","summary":"音乐分享消息摘要","targetUrl":"http://appcan.cn","imageUrl":"http://imgcache.qq.com/qzone/space_item/textarea/0/66768.gif","appName":"uexQQ", "audio_url":"http://pan.baidu.com/share/link?shareid=1055030794&uk=2337020227","cflag":"2"}';
    uexQQ.shareAudioToQQ("222222", json, function(data) {
        if(!error){
          alert("分享成功!");
        }else{
          alert("分享失败:" + data);
        }
    });
}
shareAppToQQ //分享应用到QQ

uexQQ.shareAppToQQ(appId,jsonData, callbackFunction);

说明:

分享应用到QQ

参数:

参数名称 参数类型 是否必选 说明
appId String 在腾讯开放平台注册的应用appId
jsonData Object 内容
callbackFunction Function 回调函数,用来获取分享结果
var jsonData = {
    "title":,
    "summary":,
    "imageUrl":,
    "appName":,
    "cflag":
}   //**补充说明:**对于入参targetUrl, imageUrl采用UTF-8进行URL编码。

各字段含义如下:

参数 是否必须 说明
title 标题,最长30个字符
summary 消息摘要,最长40个字符
imageUrl 图片地址,支持网络图片和本地图片
appName 应用名称,显示在分享完成时的返回按钮
cflag 是否弹出分享到空间对话框.不传时,不弹出对话框,可以选择分享到QQ好友或QQ空间; 值为"1",弹出对话框;值为"2",不弹出对话框,只能分享到QQ好友

回调参数:

var callbackFunction = function(error,data){}
参数名称 类型 说明
error Number 分享状态,0表示成功,非0表示失败
data String 分享失败原因

平台支持:

Android 4.0+

示例:

function shareAppToQQ(){
    var json = '{"title":"标题","summary":"摘要","imageUrl":"","appName":"uexQQ","cflag":"1"}';
    uexQQ.shareAppToQQ("222222", json, function(data) {
        if(!error){
          alert("分享成功!");
        }else{
          alert("分享失败:" + data);
        }
    });
}
shareImgTextToQZone //分享图文到QQ空间

uexQQ.shareImgTextToQZone(appId,jsonData, callbackFunction);

说明:

分享图文到QQ空间

参数:

参数名称 参数类型 是否必选 说明
appId String 在腾讯开放平台注册的应用appId
jsonData String 内容,json格式,形式见下:
callbackFunction Function 回调函数,用来获取分享结果
var jsonData = {
    "title":,
    "summary":,
    "targetUrl":,
    "imageUrl": []
}//**补充说明:**对于入参targetUrl, imageUrl采用UTF-8进行URL编码。

各字段含义如下:

参数 是否必须 说明
title 标题,最长30个字符
summary 消息摘要,最长40个字符
targetUrl 点击消息跳转URL
imageUrl 图片地址,支持网络图片和本地图片(iOS不支持发送多张图片)

回调参数:

var callbackFunction = function(error,data){}
参数名称 类型 说明
error Number 分享状态,0表示成功,非0表示失败
data String 分享失败原因

示例:

function shareImgTextToQZone(){
    var json = '{"title":"空间分享标题","summary":"空间分享消息摘要","targetUrl":"http://appcan.cn","imageUrl":["res://aa.png", "res://aa.jpg", "res://bb.png"]}';
    uexQQ.shareImgTextToQZone(appId, json, function(data) {
        if(!error){
          alert("分享成功!");
        }else{
          alert("分享失败:" + data);
        }
    });
}
getUserInfo //获取登录QQ的信息

uexQQ.getUserInfo(appId, callbackFunction);

说明:

参数:

参数名称 参数类型 是否必选 说明
appId String 在腾讯开放平台注册的应用appId

回调参数:

var callbackFunction = function(data){}
参数名称 类型 说明
data JSON 返回

data对应字段如下:

      {
    "is_yellow_year_vip": "0",
    "ret": 0,
    "figureurl_qq_1":
    "http://q.qlogo.cn/qqapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/40",
    "figureurl_qq_2":
    "http://q.qlogo.cn/qqapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/100",
    "nickname": "小罗",
    "yellow_vip_level": "0",
    "msg": "",
    "figureurl_1":
    "http://qzapp.qlogo.cn/qzapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/50",
    "vip": "0",
    "level": "0",
    "figureurl_2":
    "http://qzapp.qlogo.cn/qzapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/100",
    "is_yellow_vip": "0",
    "gender": "男",
    "figureurl":
    "http://qzapp.qlogo.cn/qzapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/30"
      }

示例:

uexQQ.getUserInfo(appId, function(data) {
        console.log("data:" + JSON.stringify(data));
        alert("commonCallback:" + JSON.stringify(data));
      };);

3、更新历史

iOS

API版本: uexQQ-4.0.2

最近更新时间:2017-4-10

历史发布版本 更新内容
4.0.2 修复分享资源路径不支持https的问题
4.0.1 SDK升级到3.1.3, 支持ATS
Android

API版本: uexQQ-4.0.2

最近更新时间:2017-4-10

历史发布版本 更新内容
4.0.2 修复未安装qq调用qq登录再返回应用卡死的问题
4.0.1 4.0插件

 uexQQ插件是基于QQ互联API封装的AppCan平台的插件模块。开发者集成及使用此插件,需要到QQ互联开放平台为应用申请相应的AppID,并将AppID配置到应用中。插件使用需要自定义上传使用(安卓插件自定义配置,跳转 ),以下是具体步骤。

4、 登陆QQ互联,访问http://connect.qq.com/

4.1 登陆成功之后,点击管理中心,如下:平台默认包名

4.2 点击创建应用

如下:

4.3 填写具体的信息

4.4 填写完成后点击创建应用,即可进入应用详情


其中APPID即为所需项。

5、打包集成QQ插件使用

温馨提示:以下步骤可忽略,最新安卓&iOS插件已经支持config.xml配置,公共插件可直接勾选使用 把申请的APPID在config.xml文件配置

    <config desc="uexQQ" type="KEY">
      <param name="$UEXQQ_APPID$" platform="Android" value="tencent+你的APPID"/>
    </config>

例如:tencent222222

5.1 下载对应的插件包,修改AndroidManifest.xml,把申请的APPID写入XML文件
            <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="tencent+你的APPID" />
    </intent-filter>
</activity>

例如:tencent1142345645
5.2 压缩插件包,将此插件作为“自定义插件”添加到应用插件中,进行打包

6、插件接口调用

该APPID在调用接口时需要传入。配置在插件包中的APPID和接口传入的APPID保持一致,才能保证QQ分享功能的正常,否则会导致分享返回到appcan应用时,出现页面卡死的情况。

7、常见问题

7.1 在使用分享接口时,返回应用会出现页面卡死等问题

解决如下: 配置在插件包中的APPID和接口传入的APPID保持一致,才能保证QQ分享功能的正常,否则会导致分享返回到appcan应用时,出现页面卡死的情况。

还需要帮助吗? 联系我们
最新更新 8th Jul 2021