Authentication (Android)
Initialization
ReachFive reachFive = ReachFive.newClient()
.withContext(context)
.withDomain(domain)
.withCallback(initCallback) // not mandatory
.init();
with:
-
context: Screen context -
domain: ReachFive Domain -
initCallback: Callback method. As init is an async method, it may be a good practice to use a callback method to catch errors or continue process at the end of init. Callback method has to be a R5InitCallback instance.
The ReachFive SDK must be initialized within the onCreate method on your current activity.
ReachFive class
Logging in through a provider requires an initialized instance of the ReachFive class.
| Field | Type | Description | Description |
|---|---|---|---|
mReachFive |
ReachFive |
- |
Initialized instance of the ReachFive class |
provider |
String |
Yes |
Provider code |
activity |
Activity |
Yes |
Current Activity ( |
origin |
String |
No |
Call Origin |
loginCallback |
R5LoginCallback |
No |
Callback that will handle the response of the call |
Facebook Call Example
mReachFive.newLoginRequest()
.withOrigin(origin)
.withCallback(loginCallback)
.withProvider(R5NativeProviderEnum.FACEBOOK)
.withActivity(activity)
.execute();
Google Call Example
mReachFive.newLoginRequest()
.withOrigin(origin)
.withCallback(loginCallback)
.withProvider(R5NativeProviderEnum.GOOGLE)
.withActivity(activity)
.execute();
Login/Password authentication Example
mReachFive.newPasswordLoginRequest(mUserName,mPassword)
.withCallback(new R5LoginCallback() {
@Override
public void success(@NonNull R5LoginResponse response) {}
@Override
public void failure(@NonNull R5Exception error) {}
})
.execute();
Login/Password Signup Example
mReachFive.newSignupRequest(mUserName, mPassword)
.withCallback(new R5SignUpCallback() {
@Override
public void success(@NonNull R5SignUpResponse signUpResponse, R5LoginResponse loginResponse) {}
@Override
public void failure(@NonNull R5Exception error) {}
})
.execute();
Response
Life cycle
To notify ReachFive SDK at some steps of your activity, you must override the following methods:
-
onActivityResult -
onRequestPermissionsResult -
onStop
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mReachFive.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
mReachFive.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
protected void onStop() {
super.onStop();
mReachFive.onStop();
}
Exception codes:
-
PROVIDER_UNAVAILABLE: The provider is not supported by the platform. -
LOGIN_ERROR: Error during the login process returned by the provider. -
LOGIN_CANCELLED: This is not an error, but rather information returned when the user decides not to continue the login process. -
PROVIDER_TOKEN_MISSING: The provider did not return the access token, this may be due to an error on the provider side. -
SDK_CONFIGURATION_ERROR: Wrong configuration on the application side or ReachFive backend. -
API_ERROR: Error when calling the API. See message for more information. -
API_TECHNICAL_ERROR: Fail to call ReachFive API.