Let's integrate Plugin for Flutter
#
Quick Start#
Chat Plugin for FlutterWith CONTUS MirrorFly Chat Plugin for Flutter, you can easily add real-time chat features to your client app within 30 minutes. Through our client SDK, you can initialize and configure chat into your app with minimal efforts.
Note : If you're looking for the fastest way to build your app’s UI with MirrorFly Chat Plugin, you can use our sample apps. To get our sample apps, click here
#
RequirementsThe requirements for Android are:
- Android Lollipop 5.0 (API Level 21) or above
- Java 7 or higher
- Gradle 4.1.0 or higher The minimum requirements for Chat SDK for iOS
- iOS 12.1 or later
#
Things to be Noted Before Making a Start#
Mirrorfly License KeyFollow the below steps to get your license key:
Step 1: Sign up into MirrorFly Console page (https://console.mirrorfly.com/register) for free MirrorFly account, If you already have a MirrorFly account, sign into your account
Step 2: Once you’re in! You get access to your MirrorFly account ‘Overview page’ where you can find a license key for further integration process
Step 3: Copy the license key from the ‘Application info’ section
#
Install UIKit#
Create Android dependency Step 4: Add the following to your root build.gradle
file in your Android folder.
Add the following dependencies in the app/build.gradle
file.
#
Create iOS dependencyStep 5: Check and Add the following code at end of your ios/Podfile
Step 6: Now, enable all the below mentioned capabilities into your project.
Capabilities |
---|
App Groups |
#
Create Flutter dependencyStep 7: Add the below dependencies in pubspec.yaml
.
STEP 8: Run flutter pub get
command in your project directory. You can use all classes and methods just with the following import statement
#
Initialize MirrorFly PluginTo initialize the plugin, place the below code in your main.dart
file inside main
function before runApp()
.
#
Chat init Function DescriptionFunction | Parameter Type | Description |
---|---|---|
baseUrl | String | Url is provided to make API calls |
licenseKey | String | License key is required to proceed with registration |
iOSContainerID | String | Create App groups and assign the obtained group container id. Plugin uses this string to create the path for the local storage. |
caution
The base URL must have the Http/Https protocol which must be closed with a ‘slash (/)’, if not an exception - a bug message will pop up.
#
RegistrationUse the below method to register a user in sandbox Live mode.
Unless you log out the session, make a note that should never call the registration method more than once in an application
Note: While registration, the below
registerUser
method will accept theFCM_TOKEN
as an optional param and pass it across.The connection will be established automatically upon completion of registration and not required for seperate login
.
Argument | Type | Description |
---|---|---|
userIdentifier | String | A unique Id to Register the User. We accept only the AlphaNumeric String |
token | String | A registration token that is generated by FCM Plugin for the user's app instance to send message for free |
#
TerminologySome of the most common terminologies used in MirrorFly Plugin with description
keyword | Explanation |
---|---|
userID/userBareID | Unique ID assigned for each user Ex: 12345678 (any alphanumeric). The below characters is not allowed in userId: U+0022 (") U+0026 (&) U+0027 (') U+002F (/) U+003A (:) U+003C (<) U+003E (>) U+0040 (@) userID should follow below specification: https://xmpp.org/extensions/xep-0106.html |
userJid (or) JID | userID+@+domain of the chat server Ex. 12345678@xmpp.chatsystem.dev.contus.us |
groupID/groupBareID | Unique ID assigned for each group Ex: group123456 (any alphanumeric). GroupJID = groupID +@mix.+domain of the chat server Ex: group123456@mix.xmpp.mirrorfly.dev.contus.us` |
Plugin will have built-in functions to prepare the JID, Group JID, and more.
#
Send a One-to-One MessageUse the below method to send a text message to other user,
Note: To generate a unique user jid by
username
, you must call the below method
Argument | Type | Description |
---|---|---|
jid | String | JID of the end user |
message | String | Indicates the text message that needs to be sent |
replyMessageId | String | Specifies the Message ID of replied message (Optional) |
#
Receive a One-to-One MessageHere the listeners would be called only when a new message is received from other user. To get more details please visit this callback listeners