玩轉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玩一玩示例
完
到這裡就介紹完了,個人能力有限如有錯誤歡迎指正,如有遺漏歡迎補充。如有疑問歡迎留言一起交流討論。