Enigma
Enigma - 一个简约的、一对一聊天应用程序。
使用方法
- Flutter - 入门指南
- 由于这是一个依赖于 Firebase 的项目,创建一个 Firebase 项目并启用以下功能:
- Firebase Phone Authentication (用于认证)
- Cloud Firestore (而不是 Realtime Database)
- Firebase Storage (用于存储图片)
- Firebase In-App Messaging (用于自定义消息)
- 启用上述功能后,下载
google-services.json
并放置在android/app
文件夹中。 - 执行
flutter packages get
获取所需的包。 - 使用设备或模拟器执行
flutter run
运行项目。
通知
- 在 Firebase 控制台中启用 FCM。
- 通知使用 Cloud Functions。将
functions
目录复制到项目根目录。 - 执行
firebase deploy --only functions
,你需要安装firebase-cli
才能执行此命令。
截图
Firebase Storage 和 Cloud Firestore 的规则
我使用了如下基本规则:
allow read, write: if request.auth.uid != null;
但你也可以根据需要进行更多的限制。更多信息请参阅 - 编写规则入门
Google Play 和 Google Play 徽标是 Google LLC 的商标。
特点
认证: 启用了密码认证,需要此密码才能解锁隐藏和锁定的聊天。如果你的设备支持指纹认证,也可以使用指纹认证。
端到端加密: 你的消息从你发送的那一刻起就被加密了。这确保只有接收者能收到消息,而没有其他人。
隐藏聊天: 你可以隐藏聊天以防止被窥探。 你需要授权才能取消隐藏聊天。
锁定聊天: 隐藏聊天不够安全?锁定单个聊天,只有你授权后才能打开。
结束对话: 一旦你完成对话,可以通过从左向右滑动朋友的消息来结束对话。这样会删除该消息之前的所有对话。
保存消息: 双击任何消息将其本地保存。保存的消息可以通过在聊天屏幕上从右向左滑动查看。
没有烦人的通知: 我们不相信通过频繁的通知让用户对我们的应用上瘾。想聊天时再打开,我们不会打扰你。
没有转发功能: Enigma 开发为一个私密的一对一聊天应用程序。没有转发消息的选项。因此,没有假新闻。
简洁美观的用户界面: 用户界面简洁且美观。通过手势代替额外的屏幕空间使其使用更方便。
小于10 MB: 所有这些功能都压缩在一个小于10 MB 的 APK 中。
致谢
密码小部件: https://github.com/xPutnikx/flutter-passcode Apache 2.0 许可协议