去中心化移动版聊天软件开发揭秘

489 阅读3分钟

前言

    本文是继上一篇基于peerjs的去中心化聊天软件探索开发进行了拓展,实现了安卓端的软件版本。欢迎感兴趣的童鞋下载体验!

正文

    由于时间的关系,博主暂时做了安卓版本,界面相对比较简单。如果各位看官有较好的提议,欢迎留言!软件下载链接在文章末尾。

1 安装要求及测试环境

要求: 安卓版本不得低于6.0
环境:红米4(安卓6)一台、红米note9(安卓11)一台

2 操作指南

    这部分将分别介绍主界面、个人中心、聊天界面的相关操作。

2.1 主界面

(1)启动应用后将请求相关权限,包括SD卡读写权限(用于文件访问和下载,如更换头像)、摄像头和麦克风权限(用于语音/视频通话)。如果选择拒绝,则执行相关操作(如拍照)则仍会去请求权限。建议用户全部允许即可。应用启动画面如下:

(2)软件启动后需要为自己设置一个昵称,1-5个中英文字符即可

(3)右下角浮动按钮用于添加联系人,需要输入好友发送的邀请码

(4)上方右边部分扩展按钮,可以用于清空联系人和获取自己的邀请码

2.2 个人中心

(1)点击主界面左上角头像图标即可进入个人中心,个人中心支持更改昵称和头像

(2)点击昵称

(3)点击头像,启动器选择选项,从文件管理或者相册中选出相应头像图片即可,图片不得超过500kb

2.3 聊天界面

(1)在主界面添加好友后需要可以向左滑动打开更多选项,包括删除联系人、断线重连、清空会话信息等

(2)点击联系人列表项,进入聊天界面。注:如果好友不在线,则无法进入,需要重新连接后才能进入,聊天界面如下

(3)语音/视频通话

(4)文件传输

(5)相册,同更换头像 (6)相机

3 需要注意的问题(重要)

(1)本软件旨在用于私密聊天应用场景,因此会在应用退出时清理聊天数据,请悉知!联系人列表则保留;
(2)本软件必须在互联网环境中使用,不支持离线消息,离线添加好友,所有的操作均需在线完成;
(3)现在手机相机拍摄质量普遍较高,因此拍照数据包过大可能发送失败;
(4)由于采用了peerjs官方提供的TURN服务器,因此数据包延迟较高,会出现添加好友失败的情况,此时请尝试重启应用,或者让对方尝试主动添加

4 展望

    后续考虑集成去中心化桌面版聊天软件开发揭秘一文案例,做成安卓,桌面客户端的通用案例。未来有机会的话,将利用flutter进行重构!

5 下载资源

网盘链接,提取码eag5,欢迎各位前来试用,并留下宝贵意见!

6 国际惯例

欢迎访问原文链接