NatShare

Unity 引擎原生共享 API
授权协议 MIT
开发语言 C#
所属分类 游戏/娱乐、 游戏模拟器/工具/引擎
软件类型 开源软件
地区 不详
投 递 者 夏侯华彩
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

NatShare 是 Unity Engine 的轻量级、易于使用的原生共享 API。NatShare 支持共享文本、图像(使用Texture2D)和媒体文件(使用string路径)。

安装说明

将以下项目添加到您的 Unity 项目中Packages/manifest.json

{
   "scopedRegistries" : [ 
    { "name" : " NatSuite Framework " ,
       "url" : " https://registry.npmjs.com " ,
       "scopes" : [ " api.natsuite " ] 
    } 
  ], "dependencies" : {
     “api.natsuite.natshare” 1.2.5  
  } 
}

原生分享

要共享图像,您可以使用SharePayload

Texture2D image = ...;
var payload = new SharePayload()
payload.AddImage(image);
payload.Commit();

可以一次共享多个项目:

new SharePayload()
    .AddText("Happy Birthday!")
    .AddImage(image)
    .AddMedia("/path/to/some/media/file.mp4")
    .Commit();

ISharePayload.Commit函数返回一个任务,完成后返回一个bool指示共享操作是否成功的任务:

async void ShareVideo () {
    var success = await new SharePayload().AddMedia("/path/to/some/media/file.mp4").Commit();
    Debug.Log($"Successfully shared items: {success}");
}

保存到相机

您可以使用以下命令SavePayload将图像或媒体文件保存到相机:

// Save a texture and a media file to the camera roll
Texture2D image = ...;
var payload = new SavePayload();
payload.AddImage(image);
payload.AddMedia("/path/to/some/media/file.gif");
payload.Commit();

iOS 使用说明

从 Unity 构建 Xcode 项目后,将以下键添加到Info.plist具有良好描述的文件中:

  • NSPhotoLibraryUsageDescription
  • NSPhotoLibraryAddUsageDescription

要求

  • Unity 2019.3+
  • Android API level 22+
  • iOS 9+
 相关资料
  • 原生引擎侧对于开发的工作有三大部分 1.界面以及逻辑的搭建 使用原生接口、或者三方引擎接口进行界面以及逻辑的搭建。引擎功能查看此处 2.根据后台搭建不同选择不同的网络方案。 使用原生引擎、或者三方引擎进行界面以及逻辑的搭建。 3.数据上报 无论后台方案,游戏中途的退出、游戏正常的退出,都需要上报至QQ轻游戏后台,以便进行数据统计。 具体链接

  • 我的原始资源中有. mp3、. mp4和. jpg文件。我想与社交应用程序共享这些文件。出于这个原因,我尝试设置文件提供程序,但没有成功。 清单: 路径。xml: 这就是我尝试共享文件的方式(在这种情况下是音频): 对象的返回这样的Uri: 当我运行它时,我要么没有得到任何错误,但意图没有显示,我的活动被重建,要么我得到这个: 我试图从Uri中删除/raw,但我得到了相同的错误: 为什么会发生这种

  • 可以支持多种文件类型的输出, 例: pdf, word, html, xml

  • 我计划使用cassandra作为我的应用程序的nosql数据存储。我的用例之一是更新用户的“余额”。假设每个用户的余额存储为一个关键UID_balance。现在,如果我的应用程序想要更新多个用户的余额,我将如何处理原子性? 我想,在某个时刻,应用程序基本上将执行以下操作: 现在,这里有几个问题: 与cassandra的连接可能会中断,导致代码只更新少数用户的余额 在步骤2和4之间,可能有另一个进程

  • 库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法— 即,从模块中构建程序。Linux支持两种类型的库,每一种库都有各自的优缺点。静态库包含在编译时静态绑定到一个程序的函数。动态库则不同,它是在加载应用程序时被加载的,而且它与应用程序是在运行时绑定的。 使用共享库的方法有两种:您既可以在运行时动态链接库,也可以动态加载库并在程序控制之下使用它们。本

  • Spider 抓取系统的基本框架 互联网信息爆发式增长,如何有效的获取并利用这些信息是搜索引擎工作中的首要环节。数据抓取系统作为整个搜索系统中的上游,主要负责互联网信息的搜集、保存、更新环节,它像蜘蛛一样在网络间爬来爬去,因此通常会被叫做 “spider”。例如我们常用的几家通用搜索引擎蜘蛛被称为:Baiduspdier、Googlebot、Sogou Web Spider 等。 Spider 抓

  • 我有问题,我的应用程序使用Android原生与统一。 我的母语使用opengl,但当我将unity上下文传递给我自己的母语时,它停止了,并显示以下消息, E/libEGL:在没有当前上下文的情况下调用OpenGL ES API(每个线程记录一次) 我认为这个错误是在上下文传递时发生的,我只是使用公共源代码来实现这个过程 在这个过程中,actiityContext没有gl属性,会发生错误,对吗? 如

  • 我有一个ASP。NET核心应用程序,使用身份进行用户管理。 我有一个,它准备通过smtp发送电子邮件以用于帐户激活目的: 然而,由于字符