-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8cc5acf
commit 48d45e0
Showing
1 changed file
with
2 additions
and
146 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,153 +18,9 @@ | |
</p> | ||
|
||
# Fingerprint Identification SDK for Android | ||
### Official Android library for 100% accurate device identification, created for the Fingerprint Pro API. | ||
|
||
```kotlin | ||
import com.fingerprintjs.android.fpjs_pro.Configuration | ||
import com.fingerprintjs.android.fpjs_pro.FingerprintJSFactory | ||
... | ||
|
||
// Trust your user's identifiers with the Fingerprint Pro | ||
|
||
val fpjsClient = FingerprintJSFactory(applicationContext).createInstance( | ||
Configuration( | ||
apiKey = "your-public-api-key" | ||
) | ||
) | ||
|
||
fpjsClient.getVisitorId { result -> | ||
val visitorId = result.visitorId | ||
// Use the visitorId | ||
} | ||
``` | ||
|
||
|
||
## Introduction | ||
|
||
Fingerprint Pro is a professional visitor identification service that processes all information server-side and transmits it securely to your servers using server-to-server APIs. | ||
|
||
This identification library generates an accurate, sticky, and stable [Fingerprint Pro](https://fingerprint.com/) visitor identifier in Android apps. The identifier is linked to a device, i.e. it is the same in all the apps on a device, even if you reinstall or clone them. This library requires a [free API key](https://dashboard.fingerprintjs.com/signup) to connect to the Fingerprint Pro API. | ||
[Fingerprint’s Device Intelligence platform for Android](https://dev.fingerprint.com/docs/native-android-integration) helps you to accurately identify the devices on which your mobile app is being used. The platform also provides high-quality [Smart Signals](https://dev.fingerprint.com/docs/smart-signals-overview#smart-signals-for-mobile-devices) that will help you identify risky transactions before they happen. | ||
|
||
> [!TIP] | ||
> Check out the [Fingerprint Pro Demo App](https://github.com/fingerprintjs/fingerprint-device-intelligence-android-demo) to better understand and experience the capabilities of our device intelligence platform. | ||
For local Android fingerprinting and identifying without making requests to API take a look at the [fingerprintjs-android](https://github.com/fingerprintjs/fingerprintjs-android) repository. | ||
|
||
If you are interested in the iOS platform, you can also check our [Fingerprint Pro iOS](https://github.com/fingerprintjs/fingerprintjs-pro-ios). | ||
|
||
|
||
## Smart Signals | ||
|
||
- Fingerprint PRO now supports a Smart Signals functionality, including Root Detection and Emulator detection. The results are available in the response of the `GET /events` [Server API method](https://dev.fingerprint.com/docs/native-android-integration#smart-signals). | ||
- Access to the Smart Signals functionality is currently only available upon request for Enterprise customers. Contact Support ([[email protected]](mailto:[email protected])) to enable it for your subscription. | ||
|
||
|
||
## Quick start | ||
|
||
#### Requirements | ||
|
||
The Android SDK requires Android 5.0 (API level 21+) or higher. | ||
|
||
#### Add the repository to the gradle | ||
|
||
If your version of Gradle is earlier than 7, add these lines to your `build.gradle`. | ||
|
||
|
||
```gradle | ||
allprojects { | ||
repositories { | ||
... | ||
maven { url 'https://maven.fpregistry.io/releases' } | ||
maven { url 'https://jitpack.io' } | ||
}} | ||
``` | ||
|
||
If your version of Gradle is 7 or newer, add these lines to your `settings.gradle`. | ||
```gradle | ||
repositories { | ||
... | ||
maven { url 'https://maven.fpregistry.io/releases' } | ||
maven { url 'https://jitpack.io' } | ||
} | ||
``` | ||
#### Add the dependency to your `build.gradle` file | ||
|
||
```gradle | ||
dependencies { | ||
... | ||
implementation "com.fingerprint.android:pro:2.5.0" | ||
} | ||
``` | ||
|
||
Note: Fingerprint PRO Android uses [FingerprintJS Android](https://github.com/fingerprintjs/fingerprintjs-android), [kotlin-stdlib](https://kotlinlang.org/api/latest/jvm/stdlib/) and [androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core) as dependencies. Additionally, [com.google.android.gms:play-services-location](https://developers.google.com/android/reference/com/google/android/gms/location/package-summary) is required when [Geolocation Spoofing Detection Smart Signal](https://dev.fingerprint.com/docs/smart-signals-overview#geolocation-spoofing-detection) functionality is used. | ||
|
||
#### Sync gradle settings | ||
|
||
|
||
#### Get the visitor identifier | ||
|
||
Retrieve the visitor identifier using Public API key. You can find your [Public API key](https://dev.fingerprint.com/docs) in your [dashboard](https://dashboard.fingerprint.com/subscriptions/). | ||
|
||
##### Kotlin example | ||
```kotlin | ||
import com.fingerprintjs.android.fpjs_pro.Configuration | ||
import com.fingerprintjs.android.fpjs_pro.FingerprintJSFactory | ||
... | ||
|
||
// Initialization | ||
val factory = FingerprintJSFactory(applicationContext) | ||
val configuration = Configuration( | ||
apiKey = "your-public-api-key" | ||
) | ||
|
||
val fpjsClient = factory.createInstance( | ||
configuration | ||
) | ||
|
||
// Usage | ||
fpjsClient.getVisitorId { visitorIdResponse -> | ||
val visitorId = visitorIdResponse.visitorId | ||
// Use the ID | ||
} | ||
|
||
``` | ||
##### Java example | ||
|
||
```java | ||
import com.fingerprintjs.android.fpjs_pro.Configuration; | ||
import com.fingerprintjs.android.fpjs_pro.FingerprintJS; | ||
import com.fingerprintjs.android.fpjs_pro.FingerprintJSFactory; | ||
... | ||
|
||
FingerprintJSFactory factory = new FingerprintJSFactory(this.getApplicationContext()); | ||
Configuration configuration = new Configuration( | ||
"your-public-api-key" | ||
); | ||
|
||
FingerprintJS fpjsClient = factory.createInstance( | ||
configuration | ||
); | ||
|
||
fpjsClient.getVisitorId(visitorIdResponse -> { | ||
// Use the ID | ||
String visitorId = visitorIdResponse.getVisitorId(); | ||
return null; | ||
}); | ||
``` | ||
|
||
## Privacy notes | ||
|
||
When publishing to the Play Market make sure you've noted the following information about collected data: | ||
| Data Types | Collected | Shared | Processed ephemerally | Required or Optional | Purposes | | ||
| --- | --- | --- | --- | --- | --- | | ||
| User IDs | Yes | No | No | Required | Fraud Prevention | | ||
| Device or other IDs | Yes | No | No | Required | Fraud Prevention | | ||
|
||
|
||
## Additional Resources | ||
- [Full API reference](docs/client_api.md) | ||
- [Server-to-Server API](https://dev.fingerprint.com/docs/server-api) | ||
- [Fingerprint Pro documentation](https://dev.fingerprint.com/docs) | ||
Please refer to our [step-by-step instructions](https://dev.fingerprint.com/docs/android-sdk) on how to integrate Fingerprint's device intelligence platform in your native Android apps. |