---
title: PingOne Protect SDK for Android
description: Using the Android version of the SDK involves the following steps:
component: pingone-api
page_id: pingone-api:native-sdks:pingone-risk-sdks/risk_evaluation_sdk_android
canonical_url: https://developer.pingidentity.com/pingone-api/native-sdks/pingone-risk-sdks/risk_evaluation_sdk_android.html
section_ids:
  pingone-signals-protect-sdk-for-android-version-5-2-0: PingOne Signals (Protect) SDK for Android (version 5.2.0)
  adding-the-sdk-to-your-app-dependencies: Adding the SDK to your app dependencies
  sdk-initialization: SDK initialization
  getting-the-data-for-risk-assessment: Getting the data for risk assessment
---

# PingOne Protect SDK for Android

## PingOne Signals (Protect) SDK for Android (version 5.2.0)

Using the Android version of the SDK involves the following steps:

* Adding Maven Central repository

* Adding the SDK to your app dependencies

* Initializing the SDK

* Getting the data for risk assessment

### Adding the SDK to your app dependencies

Add the following to your application-level build.gradle file:

|   |                                                                                                                                        |
| - | -------------------------------------------------------------------------------------------------------------------------------------- |
|   | Update the path to match the version of the PingOne Signals SDK for Android that you are using. Currently the latest version is 5.2.0. |

`implementation "com.pingidentity.signals:android-sdk:5.2.0"`

### SDK initialization

Extend the `Application` class and add the following in the `onCreate` method:

```none
public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        // optional
        PingOneSignals.setInitCallback(new InitCallback() {
            @Override
            public void onError(@NonNull String message, @NonNull String code, @NonNull String id) {
                Log.i("PingOneSignals", "onError " + message + " code: " + code + " id: " + id);
            }

            @Override
            public void onInitialized() {
                Log.i("PingOneSignals ", "SDK Initialized");
            }
        });

      POInitParams initParams = new POInitParams();
      initParams.setEnvId(<envId>); // optional
      // If you are using the PingFed authentication API and version 1.3 of the Integration Kit, uncomment the following line to turn off the collection of behavioral data
      // initParams.setBehavioralDataCollection(false);
      PingOneSignals.init(this, initParams);
    }
}
```

|   |                                                                                                                   |
| - | ----------------------------------------------------------------------------------------------------------------- |
|   | The code above contains the String placeholder <\`envId\`>. Replace this with the ID of your PingOne environment. |

Optionally, set an event listener to get calls on successful or failed SDK initialization.

### Getting the data for risk assessment

Get the data for risk assessment by adding a call to the SDK's `getData` method, and pass as a parameter a class that implements the `GetDataCallback` interface, for example:

```none
import com.pingidentity.signalssdk.sdk.GetDataCallback;
import com.pingidentity.signalssdk.sdk.SignalsCollection;

public class MyClass {

    public void callGetData() {
          PingOneSignals.getData(new GetDataCallback() {
                   @Override
                     public void onSuccess(@NonNull String data) {
                              Log.i("PingOneSignals ", "data:  " + data);
                      }

                    @Override
                    public void onFailure(@NonNull String reason) {
                             Log.i("PingOneSignals ", "onFailure reason: " + reason);
                    }
           });
    }
}
```
