Unity 分享 功能 用Unity Native Share Plugin 实现链接、图片、视频等文件的分享+ 安卓 Ios 都可以,代码图文详解
- 前言
- 环境
- 效果
- 一、Unity Native Share Plugin导入
- 1.下载
- 2.导入
- 二、案例
- 1.分享文字
- 1.脚本
- 2.发包注意
- 2.分享视频
- 1.完善下刚才的脚本
- 2.给复制按钮添加点击事件
- 3.注意
- 总结
- 💢💢版权声明
前言
今天有需求,要实现的功能大致如下:
在安卓和ios端实现分享功能
可以分享链接,图片,文字,视频,文件,等
环境
unity版本:2020.3.22
插件:Unity Native Share Plugin
效果
这个是分享视频的效果,安卓和ios均可以正常分享
老样子,先上效果
一、Unity Native Share Plugin导入
1.下载
用到的插件是Unity Native Share Plugin,可以去官方直接下载https://github.com/yasirkula/UnityNativeShare,官方网站上也有对应的API的用法。
或者去unity商店,是免费的商店地址
2.导入
商店添加后,可以通过unity的package Manager直接导入
导入成功后,如上图所示
二、案例
1.分享文字
1.脚本
unity新建场景,添加button,编写脚本NativeShareScript.cs
using System.Collections;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
public class test : MonoBehaviour
{
public void ShareTest()
{
new NativeShare().SetText("https://www.baidu.com/").Share();
}
}
脚本挂载到场景中,button上添加点击事件
2.发包注意
大功告成,开始发包,安卓无需特殊设置直接发包
ios需要看下Project Setting-yasirkula-NativeShare是否有勾选和内容填写,如下图
运行效果图如下
2.分享视频
视频的分享稍微麻烦点,大体流程就是需要知道视频的实际路径才行
我是直接把StreamingAssets复制到persistentDataPath路径下,然后才分享的,直接StreamingAssets路径下是无法分享的
1.完善下刚才的脚本
完善后如下
using System.Collections;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
public class test : MonoBehaviour
{
public void ShareTest()
{
new NativeShare().AddFile(Application.persistentDataPath + "/QQVideo.mp4", null).Share();
}
public void StartCopy()
{
#if UNITY_ANDROID
StartCoroutine(CopyFile());
#endif
#if UNITY_IOS
File.Copy(Application.streamingAssetsPath+"/QQVideo.mp4",Application.persistentDataPath+"/QQVideo.mp4");
#endif
}
IEnumerator CopyFile()
{
UnityWebRequest request = UnityWebRequest.Get(Application.streamingAssetsPath + "/QQVideo.mp4");
yield return request.SendWebRequest();
File.WriteAllBytes(Application.persistentDataPath + "/QQVideo.mp4", request.downloadHandler.data);
}
}
为了图省事,我ui上又加了个复制视频的按钮,然后才是分享
2.给复制按钮添加点击事件
然后就可以发包测试了,结果解释开头的效果图
3.注意
1.要确保分享的视频在手机上播放时没问题的,注意脚本里视频格式的统一。
2.streamingAssets在安卓下,只能用UnityWebRequest 去读,在ios下,只能用File去读。
总结
欢迎大佬多多来给萌新指正,欢迎大家来共同探讨。
如果各位看官觉得文章有点点帮助,跪求各位给点个“一键三连”,谢啦~
声明:本博文章若非特殊注明皆为原创原文链接
https://blog.csdn.net/Wrinkle2017/article/details/127518571
————————————————————————————————
💢💢版权声明
版权声明:本博客为非营利性个人原创
所刊登的所有作品的著作权均为本人所拥有
本人保留所有法定权利,违者必究!
对于需要复制、转载、链接和传播博客文章或内容的
请及时和本博主进行联系
对于经本博主明确授权和许可使用文章及内容的
使用时请注明文章或内容出处并注明网址
转载请附上原文出处链接及本声明