Unity 分享 功能 用Unity Native Share Plugin 实现链接、图片、视频等文件的分享+ 安卓 Ios 都可以,代码图文详解


前言

今天有需求,要实现的功能大致如下:
在安卓和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
————————————————————————————————

💢💢版权声明

版权声明:本博客为非营利性个人原创
所刊登的所有作品的著作权均为本人所拥有
本人保留所有法定权利,违者必究!
对于需要复制、转载、链接和传播博客文章或内容的
请及时和本博主进行联系
对于经本博主明确授权和许可使用文章及内容的
使用时请注明文章或内容出处并注明网址
转载请附上原文出处链接及本声明

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值