Authentication
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.