一款使用環信實現的一個開源聊天應用含服務器

前言

之前寫了一篇Android開發集成聊天環信SDK3.x簡單開始,然后最近得空開發了一款使用環信實現的實時聊天應用,包含簡單的服務器端,并開源給大家,有興趣的同學可以一起搞一下,詳細介紹看下邊吧

同步自己博客

上代碼

服務器:VMServer
客戶端:VMMatch

VMMatch

猿匹配 —— 國內首個程序猿非嚴肅婚戀交友應用,讓我們一言不合就來場匹配吧??

介紹

首先說下中文名:為什么叫這個名字呢,因為這是一個程序猿(媛)之間匹配交流的應用啊??

其實這是一個使用環信 IM 開發的一款開源聊天項目,涵蓋了時下流行的一些聊天元素,同時已將 IM 功能封裝為單獨庫,可以直接引用,方便使用

項目還處在初期階段,還有許多功能需要實現,有興趣的可以一起來

項目資源均來自于互聯網,如果有侵權請聯系我

下載體驗

安裝包下載 >> Github >>

猿匹配 Google Play

項目截圖

匹配
匹配
匹配

匹配
匹配
匹配

匹配
匹配
匹配

匹配
匹配

開發環境

項目基本屬于在最新的Android開發環境下開發,使用Java8的一些新特性,比如Lambda表達式,
然后項目已經適配Android6.x以上的動態權限適配,以及7.x的文件選擇,和8.x的通知提醒等;

  • Mac OS 10.14.4
  • Android Studio 3.3.2

項目模塊兒

本項目包含兩部分:

  • 一部分是項目主模塊app,這部分主要包含了項目的業務邏輯,比如匹配、信息修改、設置等
  • 另一部分是封裝成libraryvmim,這是為了方便大家引用到自己的項目中做的一步封裝,不用再去復雜的復制代碼和資源等,
    只需要將vmimmodule導入到自己的項目中就行了,具體使用方式參見項目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] 敏感信息保護

配置運行

  1. 首先復制config.default.gradleconfig.gradle
  2. 配置下config.gradle環信appkey以及bugly統計Id
  3. 正式打包需要配置下簽名信息,同時將簽名文件放置在項目根目錄

參與貢獻

如果你有什么好的想法,或者好的實現,可以通過下邊的步驟參與進來,讓我們一起把這個項目做得更好,歡迎參與 ??

  1. Fork本倉庫
  2. 新建feature_xxx分支 (單獨創建一個實現你自己想法的分支)
  3. 提交代碼
  4. 新建Pull Request
  5. 等待我們的Review & Merge

關聯項目

服務器端由nodejs實現,地址見這里 VMServer

VMServer

是為Android開源項目VMMatch項目(中文名猿匹配)實現的服務端

簡介

這個項目包含兩部分

  • 根目錄:服務邏輯及API接口實現
  • client目錄:前端界面,和服務器端代碼端放置在同一倉庫下(暫未實現)

使用

簡單介紹下運行環境及部署方法

  1. 安裝nodejs開發時使用的是v10.16.0版本
  2. 需要安裝mongodb并啟動,開發使用版本4.0.10
  3. 下載項目到服務器,可以下載壓縮包,或者用git clone命令
  4. 復制config_default.jsconfig.js,可根據自己需要修改配置文件
  5. 安裝依賴
npm install
  1. 全局安裝pm2
npm install pm2 -g
  1. 運行 vmshell.sh

加群交流

QQ 交流群
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。