分享
本章所列接口均需依赖手Q环境,测试工程无法正常返回值
手机QQ 7.6.5开始支持
BK.QQ.share
支持分享至QQ聊天窗、空间、微信、朋友圈四种渠道。参数如下
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
shareInfo | object | 分享内容 | 具体取值如下例子。 |
callback | function | 分享结果回调 | 形如 function (retCode, shareDest, isFirstShare)。参数分别为retCode返回值(0)代表成功,shareDest分享渠道结果(0QQ聊天窗,1空间,2微信,3朋友圈),isFirstShare |
示例代码如下
var shareInfo = {
summary:"分享正文", //QQ聊天消息标题
picUrl:picUrl, //QQ聊天消息图片
extendInfo:extendInfo, //QQ聊天消息扩展字段
localPicPath:savedPath, //分享至空间、微信、朋友圈时需要的图。(选填,若无该字段,系统使用游戏对应的二维码)
gameName:"游戏名" //游戏名,暂用与生成二维码
};
BK.QQ.share(shareInfo, function (retCode, shareDest, isFirstShare) {
BK.Script.log(1, 1, "retCode:" + retCode + " shareDest:" + shareDest + " isFirstShare:" + isFirstShare);
if (retCode == 0) {
if (shareDest == 0 /* QQ */) {
//聊天窗
BK.Script.log(1, 1, "成功分享至QQ");
}
else if (shareDest == 1 /* QZone */) {
//空间
BK.Script.log(1, 1, "成功分享至空间");
}
else if (shareDest == 2 /* WX */) {
//微信
BK.Script.log(1, 1, "成功分享至微信");
}
else if (shareDest == 3 /* WXCircle */) {
// 朋友圈
BK.Script.log(1, 1, "成功分享至朋友圈");
}
}
else if (retCode == 1) {
BK.Script.log(1, 1, "分享失败" + retCode);
}
else if (retCode == 2) {
BK.Script.log(1, 1, "分享失败,用户取消分享:" + retCode);
}
});
Q:其他用户如何获取分享出去后的extendInfo信息?
extendInfo只能在分享至手Q中使用,分享只空间、微信、朋友圈不可用。
例如:A用户传入extendInfo为"12345",B用户点击气泡启动游戏后,从GameStatusInfo.gameParam中为"12345"
2.分享链接
将链接分享至聊天窗、空间、微信。其他人该分享后,跳转至连接对应的网址
使用函数 BK.QQ.shareToMQQ(title, summary, detailUrl, picUrl)
具体参数如下:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
title | string | 标题 | |
summary | string | 分享内容 | |
detailUrl | string | 跳转详情url | 游戏方提供 |
picUrl | string | 图片url | 游戏方提供 |
实例代码:
BK.QQ.shareToMQQ("迪斯尼过马路战绩","我获得了第1名,快来挑战我","www.xxx.com","xxx.com/xx.png");
分享效果以及对应参数
tips: 分享H5链接的方式,将会逐步淘汰,请换用shareToArk等分享接口。
3.分享QQ聊天窗
将游戏分享至手机QQ聊天窗。其他人点击该消息气泡后,会触发打开游戏。
BK.QQ.shareToArk(roomId, summary, picUrl, isSelectFriend, extendInfo,callback)
分享带自定义数据以及图片的消息气泡至聊天窗其他用户点击此消息气泡后,带上自定义的消息启动游戏。
参数说明:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
roomId | number | 房间id | 如使用BK.Room房间逻辑,可填入对应roomId,如开发者自建房间,填0 |
summary | string | 分享wording | |
picUrl | string | 图片的网络链接 | |
isSelectFriend | boolean | 选择好友 | 为true则跳出选择好友的列表 |
extendInfo | string | 扩展信息 | 开发者可自定义该信息,用与传输参数 |
callback | function | 分享结果回调 | 可选 ,具体类型如下例 (手Q7.6.3以以上版本支持) |
例子:
BK.QQ.shareToArk(0, 'wording', 'http://i.hudongcdn.com/8b4e1c52e5a1b88b42ae510d4a17187c2003_20180326.png', true, 'extendInfo',function(errCode){
if(errCode == 0){
//分享成功
}else{
//分享失败
}
});
其他
Q:其他用户如何获取分享出去后的extendInfo信息?
例如:A用户传入extendInfo为"12345",B用户点击气泡启动游戏后,从GameStatusInfo.gameParam中为"12345"
BK.QQ.shareToArkFromFile(roomId, summary, extendInfo, path)
分享将本地径下的图片以及自定义数据图片的消息气泡至聊天窗与BK.QQ.shareToArk相似,与其不同的是本接口分享的图片来自游戏本地路径需要引用qqPlayCore.js
参数说明:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
roomId | number | 房间id | |
summary | string | 分享wording | |
extendInfo | string | 扩展信息 | 开发者可自定义该信息,用与传输参数 |
path | string | 图片的本地路径 |
例子:
BK.QQ.shareToArkFromFile(1, 'wording', 'extendInfo', 'GameRes://resource/texture/test.png');
BK.QQ.shareToArkFromBuff(roomId, summary, extendInfo, buff)
将BK.Buffer中的图片内容分享至聊天窗 与BK.QQ.shareToArk相似,与其不同的是本接口分享的图片来自图片装有图片数据的BK.Buffer对象需要引用qqPlayCore.js
参数说明:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
roomId | number | 房间id | |
summary | string | 分享wording | |
extendInfo | string | 扩展信息 | |
buff | object | BK.Buffer对象 |
例子:
var buff = BK.FileUtil.readFile("GameRes://resource/texture/monster.png");
BK.QQ.shareToArkFromBuff(1, 'wording', 'extendInfo', buff);
原文: https://hudong.qq.com/docs/engine/userInfo/share/intro.html