Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)

广告

通过一段时间的基于minigame-unity-webgl-transform插件的开发,算是稍微完整的一小个游戏已经制作完成,具体大家可以扫码体验一下:

Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)_第1张图片

感谢支持!!

前言

之前编写了一篇u3d转微信小游戏开发教程的博客,虽然这个公测插件还有很多问题,我个人也在一直使用中。开发一个游戏后,最佳的宣传途径就是通过玩家关系链快速分享,所以给玩家制作一个快速分享的功能很有必要,这里就我个人研究的使用该插件的分享功能实现方式。微信小游戏不推荐强制分享,这点都注意。本文重点讲分享菜单和主动调起分享功能。部分功能可能只支持Android手机,具体参照官网由于插件一直在更新中,接口和实现可能随时间变化会差异,本分享博文仅供参考。

Menu分享

先看看效果:
Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)_第2张图片

接口:

        //显示接口
        public static void ShowShareMenu(ShowShareMenuOption callback)
        {
            WXSDKManagerHandler.Instance.ShowShareMenu(callback);
        }


        //关闭接口
        public static void HideShareMenu(HideShareMenuOption callback)
        {
            WXSDKManagerHandler.Instance.HideShareMenu(callback);
        }

两个接口分别对应wx.showShareMenu(Object object)和 wx.hideShareMenu(Object object)
可以前往查看详细说明。

这里的调用代码:

ShowShareMenuOption ssmo = new ShowShareMenuOption();
ssmo.menus = new string[] { "shareAppMessage", "shareTimeline" };
WX.ShowShareMenu(ssmo);

 HideShareMenuOption hsmo = new HideShareMenuOption();
hsmo.menus = new string[] { "shareAppMessage", "shareTimeline" };
WX.HideShareMenu(hsmo);

主动分享

效果:
Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)_第3张图片

接口:

public static void ShareAppMessage(ShareAppMessageOption option)
{
    WXSDKManagerHandler.Instance.ShareAppMessage(option);
}

对应原生wx.shareAppMessage(Object object)接口

主动拉起转发,进入选择通讯录界面。这里的主动分享功能是给好友或者群分享消息,可以用于分享给奖励等场景。

接口调用:

     ShareAppMessageOption samo = new ShareAppMessageOption();
     samo.title = "这是标题";
     //samo.imageUrl = "这是图片路径";
     //samo.imageUrlId = "这是图片路径ID";
     //samo.path ="独立分包路径";
  WX.ShareAppMessage(samo);

要注意的是为了防止分享滥用(早期各种小程序分享消息满天飞都体验过了吧),已经不能获取到用户的分享结果如:成功、失败、取消等。
这里的imageUrl 是本地或者临时图片路径,比如在导出的包路径***\minigame\ 下放一个xx.png图片,分享路径是”xx.png”.
imageUrlId 是审核通过的转发图片id,可以[看看说明]
path是独立分包路径,具体看说明

图片菜单分享

效果:
Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)_第4张图片

接口:

        public static void ShowShareImageMenu(ShowShareImageMenuOption callback)
        {
            WXSDKManagerHandler.Instance.ShowShareImageMenu(callback);
        }

该功能是打开分享图片弹窗,可以将图片发送给朋友、收藏或下载。
对应原生
wx.showShareImageMenu(Object object)接口
调用代码:

ShowShareImageMenuOption ssimo = new ShowShareImageMenuOption();
ssimo.path = "Share.png";
WX.ShowShareImageMenu(ssimo);

这里的path 是本地或者临时图片路径,比如在导出的包路径***\minigame\ 下放一个xx.png图片,分享本地路径是”xx.png”.

分享朋友圈(beta)

该功能通过Menu分享实现的,ShowShareMenuOption 设置menus =new string[] { “shareAppMessage”, “shareTimeline” };即是朋友圈分享了,这里要注意的是:"shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮。显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮。

指定好友分享

接口:

public static void ShareMessageToFriend(ShareMessageToFriendOption callback)
{
    WXSDKManagerHandler.Instance.ShareMessageToFriend(callback);
}

该接口对应wx.shareMessageToFriend(Object object)
这个接口这里没做演示因为暂未用到。 不过该接口只可在开放数据域下使用。游戏域和开放数据域的概念可以在官网中查阅,如果用开放数据域做排行榜肯定都明白。

游戏回放分享

该功能在cocos creator开发微信小游戏时用到过,目前翻遍文档暂未发现支持,具体可以看文档(https://developers.weixin.qq.com/minigame/dev/guide/open-ability/game-recorder.html),只能等待插件开发者更新支持了。

源码

需要填写自己的appid,并转换微信小程序。
https://download.csdn.net/download/qq_33789001/85675446
如果打不开是审核暂未通过。

你可能感兴趣的:(微信小程序,Unity3D,Unity,微信分享,Unity微信小游戏,Unity微信小游戏分享)