前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >玩转QQ玩一玩分享,让游戏增加新的活力

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

作者头像
Javen
发布2018-12-21 10:10:52
7100
发布2018-12-21 10:10:52
举报
文章被收录于专栏:酷玩时刻

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

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

相关参考链接
分享使用场景
  • 分享H5链接,分享H5活动页
  • 单渠道分享,直接分享游戏给QQ好友
  • 多渠道分享,分享游戏给好友、空间、微信、朋友圈
  • 截图分享,分享游戏截图给好友、空间、微信、朋友圈
不同场景下具体实现
分享H5链接
代码语言:javascript
复制
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如果最后不追加问号,分享出去的链接无法直接访问,除非后台做特殊的处理。
  • 此分享没有结果的回调
单渠道分享
代码语言:javascript
复制
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 }

多渠道分享
代码语言:javascript
复制
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 二维码模块 快速生成【官方文档】,但生成的图片黑涂涂不个人建议后台配合生成个性化海报。

代码语言:javascript
复制
//异步接口
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
    }
});
截图分享

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

代码语言:javascript
复制
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玩一玩示例

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.12.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 相关参考链接
  • 分享使用场景
  • 不同场景下具体实现
    • 分享H5链接
      • 单渠道分享
        • 多渠道分享
          • 截图分享
            • 点击右上方’...‘ 进行分享
              • 源码与交流
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档