Android instant messenger using Tinode backend. Beta-quality software. Debug APKs are available in releases.
- Read client-side and server-side API documentation.
- For support, general questions, discussions post to https://groups.google.com/d/forum/tinode.
- For bugs and feature requests open an issue.
- Send and receive messages one-on-one or in group chats.
- Register new accounts.
- Find contacts, start new chats.
- Edit chat parameters.
- In-app presence notifications.
- Unread message counters.
- Typing indicators.
- Push notifications.
- Delivered/received/read notifications (little check marks in messages).
- Markdown-style formatting of text, e.g. *styled* → styled. Implemented as spannable.
- Attachments and inline images.
- Muting/un-muting conversations and other permission management.
- Integration with Android's stock Contacts.
- Invite contacts to the app by SMS or email.
- Transport Level Security - https/wss.
- Offline mode is mostly functional.
- Editing of personal details.
- End-to-end encryption.
- No support for switching between multiple backends.
- Mentions, hashtags.
- Replying or forwarding messages.
- Previews not generated for videos, audio, links or docs.
- jackson for json serialization.
- Java-WebSocket for websocket support.
- libphonenumber for user discovery to ensure all phone numbers use the same E.164 format
- google-services for push notifications. See below.
Demo avatars and some other graphics are from https://www.pexels.com/ under CC0 license.
Background patterns from http://subtlepatterns.com/, commercial and non-commercial use allowed with attribution.
The contacts.vcf
contains a list of contacts which can be used for testing. Push it to your emulator using command
adb push contacts.vcf /sdcard/contacts.vcf`
If you want to use the app with your own server and want push notification to work you have to set them up:
- Register at https://firebase.google.com/, set up the project if you have not done so already.
- Download your own config file
google-services.json
and place it to theapp/
folder of your copy of Tindroid project. The config file contains keys specific to your Firebase/FCM registration. - Copy Google-provided server key to
tinode.conf
, see details here. - Recompile the app. If you add
google-services.json
incorrectly the app will compile but will later crash with non-obvious exceptions.
The app is currently available in English (default), Chinese, Russian. Pull requests with more translations are welcome. See Russian and Chinese translations as examples.