cocos-creator使用记录9_微信小游戏的分享

1.右上角的分享(被动分享)
onLoad: function(){
//开启右上角的分享
    wx.showShareMenu();
//监听右上角的分享调用 
cc.loader.loadRes("texture/share",function(err,data){
wx.onShareAppMessage(function(res){
return {
title: "不怕,就来PK!",
imageUrl: data.url,
success(res){
console.log("转发成功!!!")
common.diamond += 20;
},
fail(res){
console.log("转发失败!!!")

}
})
});
},


由上,分享图的路径是项目下的resources/texture/share.png
share.png对应代码中的share,微信应该会直接到这个目录找一个图片名字为share
的图片,其省略了后缀,所以jpg图片也是可以的。
另外,分享图的大小是500*400。


2.点击按钮分享(主动分享)
onShareBtn: function(){ //分享按钮
cc.log("点击分享按钮");
this.playBtnSound();
//主动拉起分享接口
cc.loader.loadRes("texture/share",function(err,data){
wx.shareAppMessage({
title: "不怕,就来PK!",
imageUrl: data.url,
success(res){
console.log("转发成功!!!")
common.diamond += 20;
},
fail(res){
console.log("转发失败!!!")

})
});
},


以上是我的开始界面脚本中的一部分,基本逻辑是:
若点击“分享”按钮,就会进入微信分享界面,若分享成功,则给玩家发20个钻石。
注意:微信在不开启群分享时默认是单人分享。


3.群分享
onLoad: function() {
//微信开启群分享
wx.updateShareMenu({
withShareTicket: true
})
},
onSeekHelpBtnClicked: function(){ //加心界面求助好友群按钮
var self = this;
cc.loader.loadRes("texture/share",function(err,data){
wx.shareAppMessage({
title: "经典小游戏始终好玩如初,来吧!一起来回味吧!",
imageUrl: data.url,
success(res){
console.log("转发成功!!!");
if(res.shareTickets == null || res.shareTickets == undefined || res.shareTickets == ""){ //没有群信息,说明分享的是个人
console.log("res.shareTickets is null");
self.showTipsUI("请分享到群获得生命值");
}else{ //有群信息
console.log("res.shareTickets is not null");
if(res.shareTickets.length > 0){ 
common.heart = common.maxHeart; //恢复生命
self.showTipsUI("已回满生命值");
}
}
},
fail(res){
console.log("转发失败!!!");

})
});
},


4.用微信开发者工具测试群分享
构建你的项目为微信小游戏,运行,在打开的微信开发者工具界面的模拟器中,点击右上角的
调试设置按钮,选择“群聊会话中的小程序消息卡片”,然后点击模拟器中你的游戏界面中的
分享按钮,在弹出列表中选一个测试模拟群,一个群分享就完成了。接下来就查看右下角的
控制台日志是否如你所想的输出了。
注意:有时候构建出的项目会出现明明开启群分享,但在微信开发者工具的模拟器中点击右上
   角3个点的图标却显示"此页面没有群分享"的提示。解决方法就是再次构建一次。


5.微信分享相关政策的变换
微信在2018年5月份发了一条政策,大概的意思,言明在开始收紧分享功能的滥用,在7月份全面封禁分享功能。
以后点击分享,开发者将不能获得分享是否成功的信息,一律返回成功,群分享,也不能获得群的shareTickets了。
因此,开发者要适时变换调用微信分享的逻辑。

你可能感兴趣的:(cocos,creator)