Skip to content

tinode/tindroid

Repository files navigation

Tindroid: Tinode Messaging Client for Android

Android instant messenger using Tinode backend. Beta-quality software. Debug APKs are available in releases.

Installing and running

This is NOT a standalone app, this is just a frontend, a client. It requires a backend. See installation instructions.

Getting support

Helping out

  • If you appreciate our work, please help spread the word! Sharing on Reddit, HN, and other communities helps more than you think.
  • Consider buying paid support: https://tinode.co/support.html
  • If you are a software developer, send us your pull requests with bug fixes and new features.
  • If you use the app and discover bugs or missing features, let us know by filing bug reports and feature requests. Vote for existing feature requests you find most valuable.
  • If you speak a language other than English, translate the apps into your language. You may also review and improve existing translations.
  • If you are a UI/UX expert, help us polish the app UI.
  • Use it: install it for your colleagues or friends at work or at home. Please contact us if you want to participate in closed testing.

What works:

  • One-on-one conversations and group chats.
  • Channels with unlimited number of read-only subscribers.
  • Video and audio calling.
  • Attachments, inline images and videos, voice messages.
  • Unread message counters.
  • Push notifications and in-app presence notifications.
  • Message status notifications: message delivery to server; received and read notifications; typing notifications.
  • Markdown-style formatting of text, e.g. *styled* → styled. Implemented as spannable.
  • Editing sent messages, replying and forwarding messages.
  • Trusted account badges: verified account, staff, etc.
  • Form messages suitable for chatbots.
  • File attachments, inline images and videos, voice messages.
  • Muting/un-muting conversations and other granular permission management.
  • Integration with Android's stock Contacts.
  • Invite contacts to the app by SMS or email.
  • Transport Level Security - https/wss.
  • Offline mode.

Not done yet:

  • End-to-end encryption.
  • Recording of video messages.
  • No support for switching between multiple backends.
  • No support for multiple accounts.
  • Mentions, hashtags.
  • Previews not generated for audio, links or docs.

Direct Dependencies

SDK:

SDK contains no Android-specific dependencies.

Application

Other

Demo avatars and some other graphics are from https://www.pexels.com/ under CC0 license.

Background patterns from https://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

Push notifications

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 the app/ 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.

Translations

The app is currently available in the following languages:

  • English
  • Chinese (simplified)
  • Chinese (traditional)
  • French
  • German
  • Hindi
  • Korean
  • Portuguese
  • Romanian
  • Russian
  • Spanish
  • Ukrainian

More translations are welcome. See instructions.

Screenshots

App screenshot - chat list App screenshot - chat App screenshot - chat settings App screenshot - video call App screenshot - searching for contacts App screenshot - forward message