REVE Chat’s React Native Android SDK can be seamlessly integrated with your mobile apps and enable your team deliver in-app messaging to your app users for better engagement and customer support.
Introduction
This documentation shows you how to embed REVE in an Android application and get started in a few minutes.
Necessary or minimum requirements:
Android Studio
Minimum SDK version should be 14 or above
SDK version (Compile, Build, Target) should be 26 or above
Android SDK integration process
Step 1
To integrate Android SDK with your mobile app, please follow the below mentioned steps:
Add the Android SDK URL in your Project level build gradle file’s repositories section as shown below:
If android studio version less than Android Studio Arctic Fox
Note- You can also use Design support library greater then 26 also according to your project build SDK version. Use the latest version of our native android SDK.
Step 3
Add following lines from to communicate from react-native javascript code with REVE Chat SDK. However, this step needs to be done differently for JAVA or KOTLIN in separate ways.
Code for JAVA
package com.your_package_name;
import android.content.Intent;
import android.util.Log;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.revesoft.revechatsdk.model.VisitorInfo;
import com.revesoft.revechatsdk.ui.activity.ReveChatActivity;
import com.revesoft.revechatsdk.utils.ReveChat;
/**
* Native Module to communicate from react-native javascript code
* with REVEChat SDK
*/
public class REVEChatSDKModule extends ReactContextBaseJavaModule {
REVEChatSDKModule(ReactApplicationContext context) {
super(context);
}
@Override
public String getName() {
return "REVEChatSDKModule";
}
@ReactMethod
public void startChat(String accountId, String userName, String userEmail, String userPhoneNumber) {
Log.i("REVEChatSDKModule", "startChat: accountId " + accountId + " userName: " + userName+ " userEmail "+userEmail+" userPhoneNumber "+userPhoneNumber);
//Initializing with account id
ReveChat.init(accountId);
//creating visitor info
VisitorInfo visitorInfo = new VisitorInfo.Builder()
.name(userName)
.email(userEmail)
.phoneNumber(userPhoneNumber).build();
//set visitor info
ReveChat.setVisitorInfo(visitorInfo);
Intent intent = new Intent(getReactApplicationContext(), ReveChatActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getReactApplicationContext().startActivity(intent);
}
}
Code for KOTLIN
package [your_package_name]
import android.content.Intent
import android.util.Log
import com.facebook.react.bridge.ReactApplicationContext
import com.facebook.react.bridge.ReactContextBaseJavaModule
import com.facebook.react.bridge.ReactMethod
import com.revesoft.revechatsdk.model.VisitorInfo
import com.revesoft.revechatsdk.ui.activity.ReveChatActivity
import com.revesoft.revechatsdk.utils.ReveChat
/**
* Native Module to communicate from react-native javascript code
* with REVEChat SDK
*/
class REVEChatSDKModule internal constructor(context: ReactApplicationContext?) : ReactContextBaseJavaModule(context) {
override fun getName(): String {
return "REVEChatSDKModule"
}
@ReactMethod
fun startChat(accountId: String, userName: String, userEmail: String, userPhoneNumber: String) {
Log.i(
"REVEChatSDKModule",
"startChat: accountId $accountId userName: $userName userEmail $userEmail userPhoneNumber $userPhoneNumber"
)
//Initializing with account id
ReveChat.init(accountId)
var loginState : LoginState = LoginState.LOGGED_IN
//creating visitor info
val visitorInfo: VisitorInfo = VisitorInfo.Builder()
.name(userName)
.email(userEmail)
.phoneNumber(userPhoneNumber)
.appLoginState(loginState)
.build()
//set visitor info
ReveChat.setVisitorInfo(visitorInfo)
val intent = Intent(reactApplicationContext, ReveChatActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
reactApplicationContext.startActivity(intent)
reactApplicationContext.startService(Intent(reactApplicationContext., REVEChatApiService::class.java))
}
}
Step 4
Add following lines from where you want to start the chat.