An amazing open-source group messaging app build with flutter.
This is a Flutter mobile app targeting Android and iOS.
The code for the Flutter app is contained in the folder lib
and thedifferent native apps are in android
and ios
. Extra project assets are inassets
and fonts
.
As well, this repo hosts a series of Firebase config files and cloud functions.
The documentation for Firebase part is inside the firebase
folder.
To build and run the mobile apps you’ll need to install Flutter and its dependencies. To verify your installation run in the project’s root directory:
$ flutter doctor
The app is optimised for Android and iOS phones in portrait mode.
IMPORTANT: The project only supports Flutter version 1.10.5, you will have to change your configuration to it.We cannot make sure that other Flutter versions will work.
$ flutter version 1.10.5
Note: Additionally you’ll need to setup the backend and add the GoogleService-Info of your Firebase app to your clients as described below.
The backend is build using Firebase’s node.js
SDK. All files are provided in the firebase
folder. To deploy the code create an app and install the firebase CLI (See steps 1 & 2 in Getting started).
Note: The following steps assume you’re using Firebases’ free Spark Plan
. Therefore we’re performing the configuration manually.
An initial sign-in method needs to be configured.
Authentication
Sign-in methods
and activate Email / Password
.Adding a user
Currently, users need to be added manually.
Authentication
and select Users
.Add user
.Please copy the User-UID
of the created user. We’ll need to add this ID to a group in the next step.
Note: You’ll need to have at least one user configured to use the app.
Next, you’ll need to configure your firebase app for Flutter as described in Add Firebase to an App / Flutter
iOS
de.janoodle.circlesApp.debug
GoogleService-Info.plist
to GoogleService-Info-Dev.plist
.ios/Runner/Firebase
.NOTE: If you’re building for release you’ll additionally need to add a GoogleService-Info-Prod.plist pointing to your production Firebase app.
Android
Follow the instructions in android/README.md
.
In the firebase console select Database
under Develop
and create a Cloud Firestore Database. Setup database in test mode
if you don't want to care about access permissions now.
At this point, you need to run and perform login once on the App, it will create a user document inside the users
collection.
You will see an empty screen. To fix that, continue this setup. You may need to restart the app after the setup is done.
Create group collection
Create collection
and name it groups
.name | type | value |
---|---|---|
abbreviation | string | TE |
color | string | ffffff |
members | array | User-UID we’ve retrieved in Adding a user above |
name | string | test |
We’ve now setup our first test group. In addition to this step, we’ll need to setup a default Channel
(e.g. something similar to #general
in Slack).
Add the new created Group id to the User document
joinedGroups
and make it type Array
Create channel sub-collection
groups
collection select the newly created group.Create collection
within the group called channels
.name | type | value |
---|---|---|
name | string | general |
type | string | TOPIC |
visibility | string | OPEN |
Your Firestore database should look like this (with different ids)
Navigate to the firebase
directory and deploy all functions using:
$ firebase deploy --only functions
Some features of the app can be used without Cloud Functions running, but some others will not work.We recommend you to perform this step to enjoy all features.
Login with the user you’ve created above.
Next create your first event
to setup the calendar collection in our backend.
Create an event
+
sign next to Events
Create
At the root level of your database you should now see a collection called calendar
in your firebase console.
Now we’re ready to deploy all other parts of our backend using:
$ firebase deploy
The app is setup to work with a development and production environment. We suggest you create a different Firebase app for each environment.
When building for release the app will automatically use the production configuration that you’ve configured in step B3
.
The concept for Timy was created and developed by kaalita and philippmoeser.The initial version is a MVP messaging app focusing on organising events among groups.
We hope this project can be a reference or building block for your next flutter app.
我需要获取GCM推送通知实施的注册Id?因为我使用的是GoogleCloudMessaging类,但我没有获得ID。
本文向大家介绍Android IPC机制利用Messenger实现跨进程通信,包括了Android IPC机制利用Messenger实现跨进程通信的使用技巧和注意事项,需要的朋友参考一下 写作原因:跨进程通信的实现和理解是Android进阶中重要的一环。下面博主分享IPC一些相关知识、操作及自己在学习IPC过程中的一些理解。这一章使用Messenger实现跨进程通信,其中bindService基础
我的索引中有这个代码。当我向云firestore创建数据时,其他用户会收到一个通知。但这不是工作 const函数=需要('Firebase函数'); const admin=需要('Firebase管理'); 管理初始化EAPP();
本文向大家介绍Android中Messenger原理及基本用法详解,包括了Android中Messenger原理及基本用法详解的使用技巧和注意事项,需要的朋友参考一下 这边博客主要记录一下Android中Messenger的基本原理和用法。 简单来讲,Messenger其实就是Binder通信的包装器,是一种基于消息传递的进程间通信工具。 通常情况下,我们可以在A进程中创建一个Messenger,
问题内容: 我想通过Messenger从我的应用发送图像。我一直在寻找,并且找到了适用于WhatsApp的答案。当我尝试将“ com.whatsapp”更改为“ com.facebook.orca”时,它停止工作。这是我的代码: 问题答案: 在此花费大量时间后: 检查是否已授予权限。 然后: 步骤1:在活动中创建想要的图像的ImageView,然后将其转换为无位图 步骤2:将图片存储在内部文件夹中
我已经创建了一个信使聊天机器人与烧瓶,pyMessenger和wit.ai. 我想添加facebook提供的模板(如按钮,添加图像和声音媒体)(https://developers.facebook.com/docs/messenger-platform/reference/template/button/) 有一些使用curl和json的东西我不明白。有人能帮助我吗?我应该把这些代码片段放在py