2 Star 12 Fork 29

野火IM / uni-wfc-client

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

野火UniApp原生插件

野火UniApp原生插件源码,包括Android平台源码和iOS平台源码。

目录说明

  • uni-Android-SDK目录是Android平台插件的源码;
  • uni-iOS-SDK目录是iOS平台插件的源码;
  • nativeplugin目录是插件的模版,把Android平台和iOS平台插件源码编译成库后,放到模版下的对应目录即可离线使用。

Android平台编译

终端窗口进入到uni-Android-SDK目录,执行命令./gradlew build aR,编译成功后,把./client/build/outputs/aar/client-release.aar文件和./uni-client-module/build/outputs/aar/uni-client-module-release.aar拷贝到插件模版的android目录下。

iOS平台编译

终端窗口进入到uni-iOS-SDK目录,执行命令sh release_plugin.sh,编译成功后生成的库文件拷贝到插件模版的ios目录下。

UniApp野火IM架构

架构图

如上图,最下部Android和iOS的SDK是野火IM的标准原生SDK;野火SDK之上是基于UniApp规范的插件原生代码。当应用选用野火插件后,UniPlatform就提供了JS的接口可以调用原生接口。wfc client是对接口的进一步封装,封装出更容易使用的接口。最后是使用wfc client接口的UI界面。

使用方法

请参考插件使用说明

音视频的历史问题

野火在uniapp项目上的音视频的实现有2个方案:

  1. 方案1:使用原生UI,就是把android平台和ios平台的音视频SDK和UI代码全都集成到uniapp项目中。这种方案的问题是引入的无关代码太多,且原生UI无法修改,跟uniapp互通也很不方便,不利于二次开发。
  2. 方案2:是使用原生的音视频SDK,但UI层使用vuejs编写,UI和SDK使用uniapp插件的方式沟通。这种方案引入的SDK比较小,且修改方便,有利于大家做自定义。

我们在2023.11.29日起,正式采用方案2,同时方案1保留在rtc-native-ui分支。已经使用方案1的用户可以继续使用rtc-native-ui的分支,如果有需求可以切换到main分支去,以后我们的开发重点将会放到main分支上去。

鸣谢

本项目Android平台参考了wildfire-uniplugin-demo,特此感谢!

MIT License Copyright (c) 2022 野火IM Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

野火UniApp原生插件源码 展开 收起
Objective-C 等 6 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/wfchat/uni-wfc-client.git
git@gitee.com:wfchat/uni-wfc-client.git
wfchat
uni-wfc-client
uni-wfc-client
main

搜索帮助