/chat21-ios-demo

The chat21 ios demo project

Primary LanguageCMIT LicenseMIT

Chat21 is the core of the open source live chat platform Tiledesk.com.

README

Features

Chat21 is a multiplatform chat SDK developed using only Firebase as the backend.

This demo shows the following features:

  • Tab based chat application
  • Recent conversations' list
  • Direct message (one to one message)
  • Offline messages' history
  • Received receipts (you can see if a message was sent and delivered)
  • Presence Manager with online/offline and inactivity period indicator
  • Integration of a custom user profile's view
  • Signup/Login with email and password
  • Synchronized contacts (with offline search and selection)
  • Integrates an example of a mobile live-chat support (an "help" button on the top left corner of every tab)

Build & run

Before you do anything else, you shoud change the Bundle Identifier, and assign an appropriate Team.

Select chat21 in the Project Navigator, and then select the chat21 target. In the General tab change Bundle Identifier to use your own domain name, in reverse-domain-notation - for example it.mycompany.mychat. Then, from the Team menu, select the team associated with your developer account like so:

xcode-conf

  1. Create a new project on firebase site
  2. Select the option Add Firebase to your iOS app
  3. Configure you Xcode project copying your Google-Info.plist (download the file from the Firebase iOS App dashboard).
  4. Run "pod install" in the Xcode project folder.
  5. Install the Firebase cloud functions available here. Follow the included instructions. This will setup your backend.

Now open Xcode project using the new file "chat21.xcworkspace"

Download & install Chat21 libs

Download Chat21Core & Chat21UI folders from here.

screenshot github-folders

Drag & drop the two folders in your Xcode project:

screenshot dragdroplibs

Verify that the target is correctly set to "chat21":

screenshot verify-target

Setup finished. Now you can build & run the project!

Enjoy!

If you need support please open a GitHub issue.