Android
Resource and Overview
The GeeTest iOS SDK is provided to developers who are integrating it into Android native client development
Environment and Requirements
Item | Resources |
---|---|
Development object | Android 5.0+ (minSdk 21) |
Developing environment | Android Studio 4.2+ |
Compilation Tools | Gradle (For ant compilation, please decompress and extract jar and resource files from the package) |
System Denpendenies | None |
SDK Third-Party Dependencies | None |
Installation
Get the SDK
Please contact your account manager to get the SDK
Import SDK
Take the .aar
file from the zip
package (including geetest_geeguard_android_vx.y.z_date.aar
) and drag it into the libs
folder in your project. After dragging the .aar
file into the libs
folder, make sure to check if the .aar
file has been added to the Library
. You also need to add the following code to your project’s build.gradle
file:repositories {
flatDir {
dirs 'libs'
}
}
And you need to manually add the aar
package as a dependency:implementation(name: 'geetest_geeguard_android_vx.y.z_date', ext: 'aar')
Add permission statement
<!--Required - Default value is apply--> |
Configuration of Obfuscation Rules
The Geetest SDK has already undergone obfuscation. When integrating, please include the obfuscation rules and do not obfuscate the SDK again.-dontwarn com.geetest.geeguard.**
-keep class com.geetest.geeguard.**{*;}
The call logic
- Register and obtain an AppID on the dashboard
- Obtain GeeGuardReceipt through AppID
For code integration, please refer to the sample code below
Sample code
Access applicable to version 2.3.0 and above
Create the appID on the GeeTest dashboard immediately after the application starts
// Your AppID |
Get GeeToken
Sign the data by using the GeeGuardSDK and obtain the environmental detection GeeToken.// Get GeeToken directly, requires parsing the result on the server side
fun getGeeToken(context: Context) {
thread {
val data = "The sole mark of the data or transaction for this business serial number, for the purpose of business correlation and validation."
val receipt = GeeGuard.fetchReceipt(context, data)
if (receipt != null) {
//Submit along with business data, please obtain the final environmental identification result and fingerprint on the server side.
// Please refer to the server-side documentation for the API parameters.
Log.i("GeeToken: ${receipt.geeToken}")
} else {
Log.w("Unable to obtain GeeGuardReceipt, please check if you have registered the AppID through GeeGuard.register(appId).")
}
}
}
// Get the respondedGeeToken, which needs to be parsed on the server-side.
// This function callback is asynchronous.
fun getRespondedGeeToken(context: Context) {
thread {
val data = "The sole mark of the data or transaction for this business serial number, for the purpose of business correlation and validation."
if (status == 200) {
//Submit along with business data, please obtain the final environmental identification result and fingerprint on the server side.
// Please refer to the server-side documentation for the API parameters.
text.postValue("RespondedGeeToken: ${receipt.respondedGeeToken}")
} else {
text.postValue("Status: $status")
}
}
}
}
Error Code
The possible error codes that may be returned in the asynchronous retrieval method GeeGuard.submitReceipt(Context, String, GeeGuard.CallbackHandler)
include:
Error code | Description |
---|---|
-200 | Unregistered AppID, please register an AppID after starting+ |
-300 | Network error, please refer to the information in the userInfo of the error object for details1 |
-500 | Service response format is abnormal, please check receipt.originalResponse for details |
-501 | Service response failure, please check receipt.originalResponse for details. |
Querying GeeToken Result
Submit respondedGeeToken or GeeToken along with business data to the business server, which will then query the result from the GeeTest Device Fingerprinting Service. For more details, refer to the server-side documentation.