前言
之前寫了一篇Android開發集成聊天環信SDK3.x簡單開始,然后最近得空開發了一款使用環信實現的實時聊天應用,包含簡單的服務器端,并開源給大家,有興趣的同學可以一起搞一下,詳細介紹看下邊吧
上代碼
VMMatch
猿匹配 —— 國內首個程序猿非嚴肅婚戀交友應用,讓我們一言不合就來場匹配吧??
介紹
首先說下中文名:為什么叫這個名字呢,因為這是一個程序猿(媛)之間匹配交流的應用啊??
其實這是一個使用環信 IM 開發的一款開源聊天項目,涵蓋了時下流行的一些聊天元素,同時已將 IM 功能封裝為單獨庫,可以直接引用,方便使用
項目還處在初期階段,還有許多功能需要實現,有興趣的可以一起來
項目資源均來自于互聯網,如果有侵權請聯系我
下載體驗
項目截圖
匹配
匹配
匹配
匹配
匹配
匹配
匹配
匹配
匹配
匹配
匹配
開發環境
項目基本屬于在最新的Android
開發環境下開發,使用Java8
的一些新特性,比如Lambda
表達式,
然后項目已經適配Android6.x
以上的動態權限適配,以及7.x
的文件選擇,和8.x
的通知提醒等;
- Mac OS 10.14.4
- Android Studio 3.3.2
項目模塊兒
本項目包含兩部分:
- 一部分是項目主模塊
app
,這部分主要包含了項目的業務邏輯,比如匹配、信息修改、設置等 - 另一部分是封裝成
library
的vmim
,這是為了方便大家引用到自己的項目中做的一步封裝,不用再去復雜的復制代碼和資源等,
只需要將vmim
以module
導入到自己的項目中就行了,具體使用方式參見項目app
模塊兒;
功能與 TODO
IM部分功能
- [x] 鏈接監聽
- [x] 登錄注冊
- [x] 會話功能
- [x] 置頂
- [x] 標為未讀
- [x] 刪除與清空
- [x] 草稿功能
- [x] 消息功能
- [x] 下拉加載更多
- [x] 消息復制(僅文字類消息)
- [x] 消息刪除
- [x] 文本+Emoji消息收發
- [x] 大表情消息收發
- [x] 圖片消息
- [x] 查看大圖
- [ ] 保存圖片
- [x] 語音消息
- [x] 語音錄制
- [x] 語音播放(可暫停,波形待優化)
- [x] 聽筒和揚聲器播放切換
- [x] 語音實時通話功能
- [x] 視頻實時通話功能
- [x] 通話過程中的娛樂消息收發
- [x] 骰子
- [x] 石頭剪刀布
- [x] 大表情
- [x] 昵稱頭像處理(通過回調實現)
App部分功能
- [x] 登錄注冊(包括業務邏輯和 IM 邏輯)
- [x] 匹配
- [x] 提交匹配信息
- [x] 拉取匹配信息
- [x] 聊天(這里直接加載 IM 模塊兒)
- [x] 我的
- [x] 個人信息展示
- [x] 上傳頭像
- [x] 設置昵稱
- [x] 設置簽名
- [x] 設置
- [x] 個人信息設置
- [x] 通知提醒
- [x] 聊天
- [ ] 隱私(隨業務部分一起完善)
- [ ] 通用(隨業務部分一起完善)
- [ ] 幫助反饋(隨業務部分一起完善)
- [x] 關于
- [x] 退出
- [ ] 社區
- [ ] 發布
- [ ] 評論
- [ ] 收藏
- [ ] 關注
發布功能
- [x] 多渠道打包
- [x] 簽名配置
- [x] 開發與線上環境配置
- [x] 敏感信息保護
配置運行
- 首先復制
config.default.gradle
到config.gradle
- 配置下
config.gradle
環信appkey
以及bugly
統計Id - 正式打包需要配置下簽名信息,同時將簽名文件放置在項目根目錄
參與貢獻
如果你有什么好的想法,或者好的實現,可以通過下邊的步驟參與進來,讓我們一起把這個項目做得更好,歡迎參與 ??
-
Fork
本倉庫 - 新建
feature_xxx
分支 (單獨創建一個實現你自己想法的分支) - 提交代碼
- 新建
Pull Request
- 等待我們的
Review & Merge
關聯項目
服務器端由nodejs
實現,地址見這里 VMServer
VMServer
是為Android
開源項目VMMatch
項目(中文名猿匹配
)實現的服務端
簡介
這個項目包含兩部分
- 根目錄:服務邏輯及
API
接口實現 -
client
目錄:前端界面,和服務器端代碼端放置在同一倉庫下(暫未實現)
使用
簡單介紹下運行環境及部署方法
- 安裝
nodejs
開發時使用的是v10.16.0
版本 - 需要安裝
mongodb
并啟動,開發使用版本4.0.10
- 下載項目到服務器,可以下載壓縮包,或者用
git clone
命令 - 復制
config_default.js
到config.js
,可根據自己需要修改配置文件 - 安裝依賴
npm install
- 全局安裝pm2
npm install pm2 -g
- 運行 vmshell.sh
加群交流
QQ 交流群