使用记录10_微信小游戏的分享

转载自 https://blog.csdn.net/haibo19981/article/details/80435808

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---使用记录)