1. 程式人生 > >玩轉QQ玩一玩分享,讓遊戲增加新的活力

玩轉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玩一玩示例

到這裡就介紹完了,個人能力有限如有錯誤歡迎指正,如有遺漏歡迎補充。如有疑問歡迎留言一起交流討論。