天空闲话 发表于 2022-6-25 03:59:20

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

广告

通过一段时间的基于minigame-unity-webgl-transform插件的开发,算是稍微完整的一小个游戏已经制作完成,具体大家可以扫码体验一下:
https://img-blog.csdnimg.cn/9b059c9cec4849718d0f5dc15f9b8308.jpeg#pic_center
感谢支持!!
前言

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

先看看效果:
https://img-blog.csdnimg.cn/4fb435c6a8ed46e288a15ff0adc87ac1.gif#pic_center
接口:
      //显示接口
      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); 主动分享

效果:
https://img-blog.csdnimg.cn/7942b60e57f54dc2bb88554902e20c31.gif#pic_center
接口:
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是独立分包路径,具体看说明
图片菜单分享

效果:
https://img-blog.csdnimg.cn/775263ba1e0a4a72b8ed5f990df60b8c.gif#pic_center
接口:
      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
如果打不开是审核暂未通过。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)