Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
leenasudhakar authored and Alexey-Verkhovsky committed Sep 3, 2024
1 parent 8cc5acf commit 48d45e0
Showing 1 changed file with 2 additions and 146 deletions.
148 changes: 2 additions & 146 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

0 comments on commit 48d45e0

Please sign in to comment.