This project contains a chat messenger & video calling open source demo app for Android written on Kotlin and based on ConnectyCube communication platform.
- Chat
- Video chat
- LiveData - Notify views when underlying database changes
- ViewModel - Manage UI-related data in a lifecycle-conscious way
- Room - Fluent SQLite database access
- Paging - Gradually load information on demand from data source
- WorkManager - Manage Android background jobs
- Edit username and avatar
- Chat dialogs creation (private and group)
- Group chat: edit group name, description; add/remove participants; add/remove admins
- Group chat info
- Send messages
- File attachments (only Image)
- Sent/Delivered/Read messages statuses
- ‘Is typing’ statuses
- Video and Audio calls (p2p and group)
-
Register new account and application at https://admin.connectycube.com
-
Put Application credentials from Overview page + Account key from https://admin.connectycube.com/account/settings to app/src/main/java/com/connectycube/messenger/utilities/SettingsProvider.kt class
-
Follow to https://admin.connectycube.com and create users in Users module. Then put to the app/src/main/assets/user_configiration.json file at least 2 and max 5 users with format ["login":{"password":userId}], for ex. "userchatLogin1":{"userchatPassword1":310}.
-
For offline pushes setup server key FCM, define sender_id (your sender id from google console) in string resource and put your google-services.json to module package, also uncomment apply plugin: 'com.google.gms.google-services' line in app module build.gradle file. For more information look at https://developers.connectycube.com/android/push-notifications
-
Run project.
All the samples use ConnectyCube SDK. The following tech integration documentation is available:
Got troubles with integration? Just create an issue at Issues page
See LICENSE