野火IM Android SDK源码和App源码。

imndx 2fddca8642 remove jitpack 1 рік тому
.github 956596ec11 update github workflow 1 рік тому
avenginekit a7ad25f80d update avengine 1 рік тому
badgeview 71a6331f5c 添加 badgeview.aar. 2 роки тому
chat 2fddca8642 remove jitpack 1 рік тому
client a345282035 修复扫码加群页面,可能显示加载进度条 fix #873 1 рік тому
emojilibrary c35821da96 api level 升级到 33,fix #757 2 роки тому
gradle 04952dac2b update agt to 8.0.0 2 роки тому
imagepicker 2fddca8642 remove jitpack 1 рік тому
mars-core-release 8572218b7e 更新诊断功能 1 рік тому
pttclient 59fd8ed175 update dependency 3 роки тому
push 386b0bba31 refactor 2 роки тому
uikit 2fddca8642 remove jitpack 1 рік тому
uvccamera 5db9223ea4 uvc support 2 роки тому
webrtc 1ec54ab4c7 update webrtc version 3 роки тому
.gitignore be34cb01a9 fix build error 4 роки тому
LICENSE 837d1f5879 update readme and license 4 роки тому
README.md 7cd4f94b0d update readme 1 рік тому
build.gradle 2fddca8642 remove jitpack 1 рік тому
gradle.properties 914ef40661 升级华为推送依赖 2 роки тому
gradlew 04952dac2b update agt to 8.0.0 2 роки тому
gradlew.bat 04952dac2b update agt to 8.0.0 2 роки тому
release_sdk.sh fd1b320853 添加编译sdk的脚本 2 роки тому
settings.gradle 71a6331f5c 添加 badgeview.aar. 2 роки тому

README.md

野火IM解决方案

野火IM是专业级即时通讯和实时音视频整体解决方案,由北京野火无限网络科技有限公司维护和支持。

主要特性有:私有部署安全可靠,性能强大,功能齐全,全平台支持,开源率高,部署运维简单,二次开发友好,方便与第三方系统对接或者嵌入现有系统中。详细情况请参考在线文档

主要包括一下项目:

GitHub仓库地址(主站) 码云仓库地址(镜像) 说明 备注
im-server server IM Server
android-chat android-chat 野火IM Android SDK源码和App源码 可以很方便地进行二次开发,或集成到现有应用当中
ios-chat ios-chat 野火IM iOS SDK源码和App源码 可以很方便地进行二次开发,或集成到现有应用当中
pc-chat pc-chat 基于Electron开发的PC 端
web-chat web-chat 野火IM Web 端, 体验地址
wx-chat wx-chat 小程序平台的Demo(支持微信、百度、阿里、字节、QQ 等小程序平台)
app server app server 应用服务端
robot_server robot_server 机器人服务端
push_server push_server 推送服务器
docs docs 野火IM相关文档,包含设计、概念、开发、使用说明,在线查看

说明

本工程为野火IM Android App,开发过程中,充分考虑了二次开发和集成需求,可作为SDK集成到其他应用中,或者直接进行二次开发。

开发一套IM系统真的很艰辛,请路过的朋友们给点个star,支持我们坚持下去🙏🙏🙏🙏🙏

开发调试说明

  1. JDK: 17
  2. 我们采用最新稳定版Android Studio及对应的gradle进行开发,对于旧版本的IDE,我们没有测试,编译之类问题,需自行解决。

二次开发说明

野火IM采用bugly作为日志手机工具,大家二次开发时,务必将MyApp.java中的 bugly id 替换为你们自己的,否则错误日志都跑我们这儿来了,你们收集不到错误日志,我们也会受到干扰。

混淆说明

  1. 确保所依赖的lifecycle版本在2.2.0或以上。
  2. 参考chat/proguard-rules.pro进行配置。

安全说明

为了方便开发者部署、测试,默认允许HTTP进行网络请求,为了提高安全性,上线之前,请进行以下操作:

  1. app-server配置HTTPS支持,并将APP_SERVER_ADDRESS配置为HTTPS地址
  2. 如果支持开放平台的话,为开发平台配置HTTPS支持,并将WORKSPACE_URL配置为HTTPS地址
  3. 如果支持组织结构的话,为组织结构服务配置HTTPS支持,并将ORG_SERVER_ADDRESS配置为HTTPS地址
  4. AndroidManifest.xml里面的usesCleartextTraffic置为false

敏感权限说明

  1. android.permission.PROCESS_OUTGOING_CALLS,音视频通话时,允许普通电话打断音视频通话
  2. android.permission.SYSTEM_ALERT_WINDOW,允许音视频通话窗口最小化,并悬浮在其他窗口之上
  3. android.permission.BLUETOOTHandroid.permission.BLUETOOTH_ADMIN,音视频通话时,允许使用蓝牙耳机

升级注意

v0.8.0 版本,对代码结构及部分实现机制进行了大量调整,变动如下:

  1. chat application module 拆分为两部分:uikit library module 和 chat application module。uikit可以library的方式导入项目,里面包含了大量可重用的UI。
  2. 移除LayoutResSendLayoutResReceiveLayoutRes等注解,并更新MessageViewHolder等的实现机制

v0.9.9 版本,移除了ButterKnife,可以使用RemoveButterKnife结合手动进行移除。

特别注意

  1. com.android.tools.build:gradle:3.5.0 可能存在bug,会导致音视频crash,请勿使用此版本 ## Android Support 说明 野火IM Android 客户端,基于AndroidX包开发,如果老项目采用的是Android Support包,可尝试采用jetifier 转成Android Support软件包。 ## Android 4.x 说明 请使用api-19分支,如果编译失败等,可能是4.x版本的协议栈版本没有及时更新所导致,请微信联系 wfchat 进行更新。 ### 联系我们 > 商务合作请优先采用邮箱和我们联系。技术问题请到野火IM论坛发帖交流。 1. heavyrain.lee 邮箱: heavyrain.lee@wildfirechat.cn 微信:wildfirechat 2. imndx 邮箱: imndx@wildfirechat.cn 微信:wfchat ### 问题交流 1. 如果大家发现bug,请在GitHub提issue 2. 其他问题,请到野火IM论坛进行交流学习 3. 微信公众号 > 强烈建议关注我们的公众号。我们有新版本发布或者有重大更新会通过公众号通知大家,另外我们也会不定期的发布一些关于野火IM的技术介绍。 ## 体验Demo 我们提供了体验demo,请使用微信扫码下载安装体验 野火IM ## 应用截图 ios-demo1 ios-demo2 ## 集成 1. client部分,自行下载代码,并将client module引入你们自己的项目。 2. uikit部分,自行下载代码,并将uikit module引入你们自己的项目。 3. push部分,自行下载代码,将push module引入你们自己的项目。 ## 推送 当应用在后台后,不同手机厂家有着不同的后台策略,可能很快或者最终会被冻结和杀掉,此时收到消息需要厂商的推送通知服务。请部署推送服务,推送服务代码可以在Github码云下载。具体使用方式,请参考推送服务项目上的说明。 ## 贡献 欢迎提交pull request,一起打造一个更好的开源IM。 ## 鸣谢 1. LQRWeChat 本项目中图片选择器、表情基于此开发 2. butterKnife 3. OKHttp等一些其他优秀的开源项目 4. 本工程使用的Icon全部来源于icons8,对他们表示感谢。 5. Gif动态图来源于网络,对网友的制作表示感谢。 如果有什么地方侵犯了您的权益,请联系我们删除🙏🙏🙏 ## License 1. Under the Creative Commons Attribution-NoDerivs 3.0 Unported license. See the LICENSE file for details.