# IntegrityManager


`
public


interface
IntegrityManager
`


`


`

|---------------------------------------------------------|
| com.google.android.play.core.integrity.IntegrityManager |

<br />

*** ** * ** ***

Manages requests for integrity information.

## Summary

|                                                                                                                                                                                                                                                                                                                                                                     ### Public methods                                                                                                                                                                                                                                                                                                                                                                      ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract `[Task](https://developer.google.com/android/reference/com/google/android/gms/tasks/Task.html)`<`[IntegrityTokenResponse](https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/IntegrityTokenResponse.html)`>` | ` `[requestIntegrityToken](https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/IntegrityManager.html#requestIntegrityToken(com.google.android.play.core.integrity.IntegrityTokenRequest))`(`[IntegrityTokenRequest](https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/IntegrityTokenRequest.html)` request) ` Generates and returns a token for integrity-related enquiries. |
| ` abstract `[Task](https://developer.google.com/android/reference/com/google/android/gms/tasks/Task.html)`<`[Integer](https://developer.android.com/reference/java/lang/Integer.html)`>`                                                                                  | ` `[showDialog](https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/IntegrityManager.html#showDialog(com.google.android.play.core.integrity.IntegrityDialogRequest))`(`[IntegrityDialogRequest](https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/IntegrityDialogRequest.html)` request) ` Displays a dialog to the user.                                                    |

## Public methods

### requestIntegrityToken

```
public abstract Task<IntegrityTokenResponse> requestIntegrityToken (IntegrityTokenRequest request)
```

Generates and returns a token for integrity-related enquiries.

The JSON payload is signed and encrypted as a nested JWT, that is [JWE](https://tools.ietf.org/html/rfc7516) of [JWS](https://tools.ietf.org/html/rfc7515).

JWE uses [A256KW](https://tools.ietf.org/html/rfc7518#section-4.4) as a key
wrapping algorithm and [A256GCM](https://tools.ietf.org/html/rfc7518#section-5.3) as
a content encryption algorithm. JWS uses [ES256](https://tools.ietf.org/html/rfc7518#section-3.4) as a signing algorithm.

All decryption and verification should be done within a secure server environment. Do not
decrypt or verify the received token from within the client app. In particular, never expose
any decryption keys to the client app.

See https://developer.android.com/google/play/integrity/verdict#token-format.

<br />

|                                       Parameters                                       ||
|-----------|-----------------------------------------------------------------------------|
| `request` | `IntegrityTokenRequest`: the object to request integrity token with. <br /> |

|                                                                                                                                                                                                                    Returns                                                                                                                                                                                                                    ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Task](https://developer.google.com/android/reference/com/google/android/gms/tasks/Task.html)`<`[IntegrityTokenResponse](https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/IntegrityTokenResponse.html)`>` | A [Task](https://developer.google.com/android/reference/com/google/android/gms/tasks/Task.html) that completes once the requestIntegrityToken flow succeeded or failed. <br /> |

### showDialog

```
public abstract Task<Integer> showDialog (IntegrityDialogRequest request)
```

Displays a dialog to the user.

This method can only be called once per [IntegrityDialogRequest.IntegrityResponse](https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/IntegrityDialogRequest.IntegrityResponse.html).

**Note:** Added in library version 1.5.0.

|                                             Parameters                                             ||
|-----------|-----------------------------------------------------------------------------------------|
| `request` | `IntegrityDialogRequest`: contains the configuration for the dialog to be shown. <br /> |

|                                                                                                                                                                                                                                                     Returns                                                                                                                                                                                                                                                      ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Task](https://developer.google.com/android/reference/com/google/android/gms/tasks/Task.html)`<`[Integer](https://developer.android.com/reference/java/lang/Integer.html)`>` | A [Task](https://developer.google.com/android/reference/com/google/android/gms/tasks/Task.html) that completes with a [IntegrityDialogResponseCode](https://developer.android.com/android/reference/com/google/android/play/core/integrity/model/IntegrityDialogResponseCode) once the showDialog flow succeeded or failed. <br /> |