Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

How to enable the Firebase server on IM App:

Go to AdminCP > Apps > Installed > Instant Messaging > Settings and select "Firebase" at setting Select chat server

Image Added

Then, configure the required Firebase Config Object setting. We will guide you to get the value when adding Firebase project which will be instructed below.

Also, you can configure Algolia App ID (Optional) and Algolia API Key (Optional) to support search messages. The instructions will be given later.

Setup Google Firebase App:

1. Add Firebase project

Go to Firebase console

Select Add Project if you don't have one

Image Added

Go to App Dashboard, select Project Overview > Project settings 

Image Added

In Your apps section click on icon </> to Add Firebase to web app

Image Added

Add App nickname, then click Register App, then click Continue to console to back to Project Settings page
Image Added

In Your Apps section, chose the app you just created, then click on Config option of Firebase SDK snippet. Copy all script code  and paste to Firebase Config Object setting in AdminCP > Apps > Installed > Instant Messaging > Settings area.
Image Added

2. Enable Firebase Database

Back to Firebase App Dashboard, select Develop > Database. Then, right-click on Create Database. Select mode and click Enable
Image Added

After enabling, you will redirect to database page. In that page, select tab Indexes and add 2 Composite indexes to Database by click on Create index manually. 

Then, configure fields as 2 screenshots below:
 Image Added

Image Added

Indexes enable:
Image Added

Go to Develop > Authentication, enable Sign-in method for Email/Password provider in your project to allow users access to the database, as the following screenshot:
Image Added

Then, go to Database Rules tab and add the following database rules:

Code Block
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: 
      if request.auth.uid != null && request.auth.token.email.matches('^user_([0-9]+)@.*');
    }
  }
}

Rules table will be as the below image:

Image Added

Now, you can start to use IM App with Firebase.

Setup Algolia to support search messages

Note: Without Algolia configure on IM App, users can only search for messages with prefix and case sensitive.

Go to Algolia App Manage, sign up if you don't have an account

Note: Algolia is pay to use, so you should check their pricing at Algolia Pricing

Go to your App Dashboard
Image Added

Select Indices, create new Index with name im_chat

Image Added

After Create Index, select menu API keys on left

  • Copy Application ID and paste to setting Algolia App ID on IM App
  • Copy Admin API Key and paste to setting Admin API Key on IM App

Image Added

Now, users can search full-text messages with IM App and Firebase