Authentication - Android
TapTalk.io Omnichannel SDK provides some essential methods to handle user authentication.
You can authenticate the user that is currently logged in before calling
navigateToOneTalk
. To do this, you can add an authentication method in the previously created Java Module. (See Get Started - Android). We will add a @ReactMethod
named authenticateUser
.OneTalkStarterModule.java
import android.content.Intent;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import org.jetbrains.annotations.NotNull;
class OneTalkStarterModule extends ReactContextBaseJavaModule {
OneTalkStarterModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@NotNull
@Override
public String getName() {
return "OneTalkStarter";
}
@ReactMethod
void navigateToOneTalk() {
Intent intent = new Intent(getReactApplicationContext(), OneTalkWrapperActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getReactApplicationContext().startActivity(intent);
}
@ReactMethod
void authenticateUser(String name, String email, Callback successCallback, Callback errorCallback) {
TapTalkLive.authenticateUser(name, email, new TTLCommonListener() {
@Override
public void onSuccess(String successMessage) {
successCallback.invoke(successMessage);
}
@Override
public void onError(String errorCode, String errorMessage) {
errorCallback.invoke(errorMessage);
}
});
}
}
Parameters
name
: (String) name of the user to be authenticatedemail
: (String) email of the user to be authenticatedsuccessCallback
: (Callback) invoked when the authentication is successfulerrorCallback
: (Callback) invoked when an error occurred during authenticationYou can then call the method from JavaScript as such:
NativeModules.OneTalkStarter.authenticateUser('USER_NAME',
'USER_EMAIL',
(successMessage) => {
// Successfully authenticated user
},
(errorMessage) => {
// An error occurred during authentication
}
);
After successfully authenticated, user will no longer be required to fill name and email to create a case.
You may also add another method when you need to logout and clear all local cached data from Omnichannel SDK. We will name this method
clearAllTapLiveData
.OneTalkStarterModule.java
import ...
class OneTalkStarterModule extends ReactContextBaseJavaModule {
...
@ReactMethod
void clearAllTapLiveData() {
TapTalkLive.clearAllTapLiveData();
}
}
You can then call the method from JavaScript when needed.
NativeModules.OneTalkStarter.clearAllTapLiveData();
Last modified 1yr ago