玩转QQ玩一玩分享,让游戏增加新的活力

邀请好友功能怎么做? 个人性化分享怎么做?分享是否成功? 分享渠道如何判断? 耐心看完会给你一个答案

玩转QQ玩一玩分享,让游戏增加新的活力

相关参考链接

分享使用场景

  • 分享H5链接,分享H5活动页
  • 单渠道分享,直接分享游戏给QQ好友
  • 多渠道分享,分享游戏给好友、空间、微信、朋友圈
  • 截图分享,分享游戏截图给好友、空间、微信、朋友圈

不同场景下具体实现

分享H5链接
function shareLink() {
    BK.Share.share({
        qqImgUrl: 'http://hudong.qq.com/docs/engine/img/848B76B5530AA7EE7B38E9A1267D7086.png',
        msgUrl: 'https://gitee.com/javen205/Brickengine_Guide?', 
        title: '测试轻游戏',
        summary: 'H5链接分享-By Javen',
    });
}

特别说明:

  • 分享出去的链接为格式 msgUrl&gameId=游戏ID&roomId=房间ID&gameVersion=游戏版本号&uin=QQ号码
  • msgUrl 普通的Url如果最后不追加问号,分享出去的链接无法直接访问,除非后台做特殊的处理。
  • 此分享没有结果的回调
单渠道分享
function shareToArk() {
    BK.Share.share({
        qqImgUrl: 'http://hudong.qq.com/docs/engine/img/848B76B5530AA7EE7B38E9A1267D7086.png',
        isToFriend: true,
        summary: '单渠道分享-By Javen',
        extendInfo: 'IJPay',
        success: function (succObj) {
            log('分享成功', succObj.code, JSON.stringify(succObj.data));
        },
        fail: function (failObj) {
            log('分享失败', failObj.code, JSON.stringify(failObj.msg));
        },
        complete: () => {
            log('分享完成,不论成功失败');
        }
    });
}

特别说明:

JSON.stringify(succObj.data) { "reqCode": 0,//单渠道为0 多渠道、截图分享为1 "ret": 0,//分享成功:0;失败:1;取消:2(测试取消也为1) "gameId": xxx, "aioType": 1,//当前聊天窗类型:双人聊天:1;群:4;讨论组:5 (默认为 -1) "shareTo": 0,//分享渠道:QQ:0;QZone:1;微信:2;朋友圈:3 (单渠道分享:0) "isFirstTimeShare": 0 //是否首次分享:首次分享:1;非首次分享:0 }

多渠道分享
function share() {
    BK.Share.share({
        qqImgUrl: 'http://hudong.qq.com/docs/engine/img/848B76B5530AA7EE7B38E9A1267D7086.png',
        socialPicPath: 'GameRes://qrcode.png',
        title: '测试轻游戏',
        summary: '多渠道分享-By Javen',
        extendInfo: 'IJPay',
        success: function (succObj) {
            log('分享成功', succObj.code, JSON.stringify(succObj.data));
        },
        fail: function (failObj) {
            log('分享失败', failObj.code, JSON.stringify(failObj.msg));
        },
        complete: () => {
            log('分享完成,不论成功失败');
        }
    });
}

特别说明: 回调说明参考单渠道分享下的特别说明

socialPicPath 图片可以自定义再配合extendInfo就可以做邀请好友相关的功能,如果指定的图片不存在默认使用shareQRCode_default.png 目录为 /sdcard/tencent/MobileQQ/.apollo/game/游戏ID/shareQRCode_default.png

二维码图片可以使用BK.QRCode 二维码模块 快速生成【官方文档】,但生成的图片黑涂涂不个人建议后台配合生成个性化海报。

//异步接口
BK.QRCode.makeQRCodeToFile({
    path: 'GameSandBox://qrcode.png',
    content: 'https://gitee.com/javen205/IJPay',
    config: {
        width: 128,
        height: 128,
        colorDark: {
            r: 0.0,
            g: 0.0,
            b: 0.0,
            a: 1.0
        },
        colorLight: {
            r: 1.0,
            g: 1.0,
            b: 1.0,
            a: 1.0
        },
        correctLevel: BK.QRErrorCorrectLevel.H
    },
    success: function (succObj) {
        BKTools.log("二维码生成成功 path:" + succObj.path);
    },
    fail: function (err) {
        BKTools.log("失败了,失败原因:" + err.msg);
    },
    complete: function () {
        BKTools.log('完成');
    }
});
//同步接口
BK.QRCode.makeQRCodeToFileSync({
    path: 'GameSandBox://qrcode2.png',
    content: 'IJPay让支付触手可及',
    config: {
        width: 256,
        height: 256
    }
});
截图分享

截图分享隶属于多渠道分享只是图片来源于截图。

function screenShotShare() {

    //实际像素
    var pixelSize = BK.Director.screenPixelSize;
    var pWidth = pixelSize.width;
    var pWheight = pixelSize.height;

    BK.Share.share({
        range: {
            x: pWidth / 2,
            y: pWheight / 2,
            width: pWidth,
            height: pWheight
        },
        title: '测试轻游戏',
        summary: "截图分享-By Javen",
        extendInfo: 'IJPay',
        success: function (succObj) {
            log('分享成功', succObj.code, JSON.stringify(succObj.data));
        },
        fail: function (failObj) {
            log('分享失败', failObj.code, JSON.stringify(failObj.msg));
        },
        complete: () => {
            log('分享完成,不论成功失败');
        }
    });
}

特别说明: 回调说明参考单渠道分享下的特别说明

截图文件保存路径/sdcard/tencent/MobileQQ/.apollo/game/游戏ID/sandbox/screenshot.png,如果出现截图为空白图片,请替换qqPlayCore.js为最新

点击右上方’...‘ 进行分享

特别说明:

新版本的接口无法自定义分享的标题,分享默认显示的图片需要在游戏后台设置。设置项目-游戏设置-大图素材 旧版本接口可以实现自定义但不推荐使用

源码与交流

CocosCreator开发小游戏交流: 866398797

CocosCreator开发小游戏示例:Brickengine_Guide

  • QQPlay为旧版本QQ玩一玩示例
  • QQPlay_New为新版本QQ玩一玩示例

到这里就介绍完了,个人能力有限如有错误欢迎指正,如有遗漏欢迎补充。如有疑问欢迎留言一起交流讨论。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券