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

打印 上一主题 下一主题

主题 537|帖子 537|积分 1611

广告

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

感谢支持!!
前言

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

先看看效果:

接口:
  1.         //显示接口
  2.         public static void ShowShareMenu(ShowShareMenuOption callback)
  3.         {
  4.             WXSDKManagerHandler.Instance.ShowShareMenu(callback);
  5.         }
  6.         //关闭接口
  7.         public static void HideShareMenu(HideShareMenuOption callback)
  8.         {
  9.             WXSDKManagerHandler.Instance.HideShareMenu(callback);
  10.         }
复制代码
两个接口分别对应wx.showShareMenu(Object object)wx.hideShareMenu(Object object)
可以前往查看详细说明。
这里的调用代码:
  1. ShowShareMenuOption ssmo = new ShowShareMenuOption();
  2. ssmo.menus = new string[] { "shareAppMessage", "shareTimeline" };
  3. WX.ShowShareMenu(ssmo);
  4. HideShareMenuOption hsmo = new HideShareMenuOption();
  5. hsmo.menus = new string[] { "shareAppMessage", "shareTimeline" };
  6. WX.HideShareMenu(hsmo);
复制代码
主动分享

效果:

接口:
  1. public static void ShareAppMessage(ShareAppMessageOption option)
  2. {
  3.     WXSDKManagerHandler.Instance.ShareAppMessage(option);
  4. }
复制代码
对应原生wx.shareAppMessage(Object object)接口
主动拉起转发,进入选择通讯录界面。这里的主动分享功能是给好友或者群分享消息,可以用于分享给奖励等场景。
接口调用:
  1.      ShareAppMessageOption samo = new ShareAppMessageOption();
  2.      samo.title = "这是标题";
  3.      //samo.imageUrl = "这是图片路径";
  4.      //samo.imageUrlId = "这是图片路径ID";
  5.      //samo.path ="独立分包路径";
  6.   WX.ShareAppMessage(samo);
复制代码
要注意的是为了防止分享滥用(早期各种小程序分享消息满天飞都体验过了吧),已经不能获取到用户的分享结果如:成功、失败、取消等。
这里的imageUrl 是本地或者临时图片路径,比如在导出的包路径***\minigame\ 下放一个xx.png图片,分享路径是”xx.png”.
imageUrlId 是审核通过的转发图片id,可以[看看说明]
path是独立分包路径,具体看说明
图片菜单分享

效果:

接口:
  1.         public static void ShowShareImageMenu(ShowShareImageMenuOption callback)
  2.         {
  3.             WXSDKManagerHandler.Instance.ShowShareImageMenu(callback);
  4.         }
复制代码
该功能是打开分享图片弹窗,可以将图片发送给朋友、收藏或下载。
对应原生
wx.showShareImageMenu(Object object)接口
调用代码:
  1. ShowShareImageMenuOption ssimo = new ShowShareImageMenuOption();
  2. ssimo.path = "Share.png";
  3. WX.ShowShareImageMenu(ssimo);
复制代码
这里的path 是本地或者临时图片路径,比如在导出的包路径***\minigame\ 下放一个xx.png图片,分享本地路径是”xx.png”.
分享朋友圈(beta)

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

接口:
  1. public static void ShareMessageToFriend(ShareMessageToFriendOption callback)
  2. {
  3.     WXSDKManagerHandler.Instance.ShareMessageToFriend(callback);
  4. }
复制代码
该接口对应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
如果打不开是审核暂未通过。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天空闲话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表