# Play Integrity API

Native Play Integrity API.

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ### Enumerations                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------|
| [IntegrityDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga062d379f35407da44ae5ec3dd8f36fad)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | enum Status returned when showing the integrity dialog.                     |
| [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1)`{` ` `[INTEGRITY_NO_ERROR](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a3b940d8eb3cae939d04a433d0838356e)` = 0,` ` `[INTEGRITY_API_NOT_AVAILABLE](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a2090ecce938a2d46bb6405c2128b13ac)` = -1,` ` `[INTEGRITY_PLAY_STORE_NOT_FOUND](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1abb66d2235ff7f6d4a5b2fa95a276d475)` = -2,` ` `[INTEGRITY_NETWORK_ERROR](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1afd0a3a09f705a3e5e402cc4e1c86d5d0)` = -3,` ` `[INTEGRITY_PLAY_STORE_ACCOUNT_NOT_FOUND](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1aad62ffa879cd1d9f73de5fdc7374f42d)` = -4,` ` `[INTEGRITY_APP_NOT_INSTALLED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a94dbac8756ea22960e7c01edcad238a2)` = -5,` ` `[INTEGRITY_PLAY_SERVICES_NOT_FOUND](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a6fff80088890b8bedccdcc17c449e1a1)` = -6,` ` `[INTEGRITY_APP_UID_MISMATCH](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1ae27f9272968f4abef8272a048578f51e)` = -7,` ` `[INTEGRITY_TOO_MANY_REQUESTS](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1aadf9f4769b8978d042d604095d7817e9)` = -8,` ` `[INTEGRITY_CANNOT_BIND_TO_SERVICE](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a676b841430db7c41b5b14ccea7e3e296)` = -9,` ` `[INTEGRITY_NONCE_TOO_SHORT](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1ac1821d29df540f2b481c0353395211c8)` = -10,` ` `[INTEGRITY_NONCE_TOO_LONG](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1ac18d368f6f97b0ebac08a6f8f4ad2d7c)` = -11,` ` `[INTEGRITY_GOOGLE_SERVER_UNAVAILABLE](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a2fe9a6958fd00478a1147f173a45bf16)` = -12,` ` `[INTEGRITY_NONCE_IS_NOT_BASE64](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a50ab7d0826547286d034d13899898b2f)` = -13,` ` `[INTEGRITY_PLAY_STORE_VERSION_OUTDATED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1aca989595aea43e62345266d13c6db570)` = -14,` ` `[INTEGRITY_PLAY_SERVICES_VERSION_OUTDATED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a916039a537edc1abbdf1ff0601c840f8)` = -15,` ` `[INTEGRITY_CLOUD_PROJECT_NUMBER_IS_INVALID](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1ac829b716e12a45746ed3ec0da83e9c55)` = -16,` ` `[INTEGRITY_CLIENT_TRANSIENT_ERROR](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1ae36de5689b88b8e1b14ab07117037075)` = -17,` ` `[INTEGRITY_INTERNAL_ERROR](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a5e97a5a309ee2448717440633b9fab87)` = -100,` ` `[INTEGRITY_INITIALIZATION_NEEDED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1ad76b1d459925665e0ab487ec30e6fb4c)` = -101,` ` `[INTEGRITY_INITIALIZATION_FAILED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a845b1c363d361821aebce6f22881e692)` = -102,` ` `[INTEGRITY_INVALID_ARGUMENT](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf9eae9c6d1e03ee0d21395087c0bfac1a996161e5beb0d9669bebe448e0f1e468)` = -103` `}` | enum Errors that can be encountered while using the integrity API.          |
| [IntegrityResponseStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf2d0cdb784b07c8cb1affaad08a47b51)`{` ` `[INTEGRITY_RESPONSE_UNKNOWN](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf2d0cdb784b07c8cb1affaad08a47b51afc458fa68c58d732f214d1dc6431feff)` = 0,` ` `[INTEGRITY_RESPONSE_PENDING](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf2d0cdb784b07c8cb1affaad08a47b51a35a649b393608579fcc88622f743a0d8)` = 1,` ` `[INTEGRITY_RESPONSE_COMPLETED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggaf2d0cdb784b07c8cb1affaad08a47b51aea2788e45425fef11a8bea86e26fe835)` = 2` `}`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | enum Status returned when requesting integrity tokens/providers.            |
| [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601)`{` ` `[STANDARD_INTEGRITY_API_NOT_AVAILABLE](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a9edc2da4b5535858da1ebd1950235904)` = -1,` ` `[STANDARD_INTEGRITY_PLAY_STORE_NOT_FOUND](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a1e67e1b253c973009c55e7763f02eae7)` = -2,` ` `[STANDARD_INTEGRITY_NETWORK_ERROR](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a886638b823475ee77f2acc015cafb01d)` = -3,` ` `[STANDARD_INTEGRITY_APP_NOT_INSTALLED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a989119c0dc5b9aa39ccb8422e61e5603)` = -5,` ` `[STANDARD_INTEGRITY_PLAY_SERVICES_NOT_FOUND](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a9f68f9f8ab20ca9eba833b1594c7a5eb)` = -6,` ` `[STANDARD_INTEGRITY_APP_UID_MISMATCH](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601acdccdbf159e68efc25d38f2f010c1fb6)` = -7,` ` `[STANDARD_INTEGRITY_TOO_MANY_REQUESTS](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601adf843bd444a28441b06145db34e5378e)` = -8,` ` `[STANDARD_INTEGRITY_CANNOT_BIND_TO_SERVICE](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a9fc2fbbce12ff89e4099726b91745246)` = -9,` ` `[STANDARD_INTEGRITY_GOOGLE_SERVER_UNAVAILABLE](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a98220b7627313843bbb49dd199a07c34)` = -12,` ` `[STANDARD_INTEGRITY_PLAY_STORE_VERSION_OUTDATED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601acb95f888245aa7aa034a72887fbfe09f)` = -14,` ` `[STANDARD_INTEGRITY_PLAY_SERVICES_VERSION_OUTDATED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601ab19c27e7c764a81bd3cb7b11e7839edf)` = -15,` ` `[CLOUD_PROJECT_NUMBER_IS_INVALID](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a4341b495a03cf2bc5137f575e47b118c)` = -16,` ` `[STANDARD_REQUEST_HASH_TOO_LONG](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601abcf0a31d51c451cee586c82bed6aca85)` = -17,` ` `[STANDARD_CLIENT_TRANSIENT_ERROR](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601ac9ec32c70c26a9fee3e1bd828009bc30)` = -18,` ` `[STANDARD_INTEGRITY_TOKEN_PROVIDER_INVALID](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a27e26629b678b98293afc689f61fe17b)` = -19,` ` `[STANDARD_INTEGRITY_INTERNAL_ERROR](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a7430edd4361bdca9585a38971c32174f)` = -100,` ` `[STANDARD_INTEGRITY_INITIALIZATION_NEEDED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601aa8faf582b855a79456116940366c1b63)` = -101,` ` `[STANDARD_INTEGRITY_INITIALIZATION_FAILED](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601ac3439c555b8c3b4996f518e255e5a45a)` = -102,` ` `[STANDARD_INTEGRITY_INVALID_ARGUMENT](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ggade0d369f226c3a93cb70dbeba6b89601a78857bcc3411049517d5eac4af9115c8)` = -103` `}`                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | enum Errors that can be encountered while using the standard integrity API. |

|                                                                                                                                         ### Typedefs                                                                                                                                         ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| [IntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga40c2250475e33d377d62c60da11c9ac8)          | typedef `struct IntegrityDialogRequest_` An opaque struct used to provide information about an integrity dialog request.   |
| [IntegrityDialogResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga8a6769b6559e056d95cbb1b07a549c2d)         | typedef `struct IntegrityDialogResponse_` An opaque struct used to access information about an integrity dialog response.  |
| [IntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga76e15f721115003637bcaa89eab93eb3)           | typedef `struct IntegrityTokenRequest_` An opaque struct used to provide information about an integrity token request.     |
| [IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)          | typedef `struct IntegrityTokenResponse_` An opaque struct used to access information about an integrity token response.    |
| [PrepareIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4150a88f328097aa7fed184d1e3fd92)    | typedef `struct PrepareIntegrityTokenRequest_` An opaque struct used to represent a prepare integrity token request.       |
| [StandardIntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga24077143ab0f8714d284cfd600ab7043)  | typedef `struct StandardIntegrityDialogRequest_` An opaque struct used to represent a standard integrity dialog request.   |
| [StandardIntegrityDialogResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa8cb0cf7a29ab5d98c88927e9890039e) | typedef `struct StandardIntegrityDialogResponse_` An opaque struct used to represent a standard integrity dialog response. |
| [StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)          | typedef `struct StandardIntegrityToken_` An opaque struct used to represent a standard integrity token response.           |
| [StandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga13f836f68e783750bc6ade8294749db5)  | typedef `struct StandardIntegrityTokenProvider_` An opaque struct used to represent a standard integrity token provider.   |
| [StandardIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9ad8e06a8436cc51579f18998de31616)   | typedef `struct StandardIntegrityTokenRequest_` An opaque struct used to represent a standard integrity token request.     |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ### Functions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [IntegrityDialogRequest_create](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga7506648ec41cbd28ce40c9d7d4e8b98e)`(`[IntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga40c2250475e33d377d62c60da11c9ac8)` **out_request)`                                                                                                                                                                                                                                                                                                                                                                | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Creates a new IntegrityDialogRequest opaque struct.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [IntegrityDialogRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga00ffa9449af568bf2fd948e710f0ac5a)`(`[IntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga40c2250475e33d377d62c60da11c9ac8)` *request)`                                                                                                                                                                                                                                                                                                                                                                    | `void` Releases the specified IntegrityDialogRequest and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [IntegrityDialogRequest_setActivity](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga2733124642ac185128e624ba8090ca00)`(`[IntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga40c2250475e33d377d62c60da11c9ac8)` *request, jobject android_activity)`                                                                                                                                                                                                                                                                                                                                      | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Sets the Android Activity to show the dialog on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [IntegrityDialogRequest_setIntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga780bf1fe636141747d98fd976ad0da48)`(`[IntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga40c2250475e33d377d62c60da11c9ac8)` *request, `[IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)` *token_response)`                                                                                                                                                                       | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Associates an IntegrityTokenResponse generated from a[IntegrityManager_requestIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaad366f18f0bb1ef259b1184a66ece51a)with an IntegrityDialogRequest.                                                                                                                                                                                                                                                                                                                                               |
| [IntegrityDialogRequest_setTypeCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga79a420e1b3032464ac8b8cc7e0fbf398)`(`[IntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga40c2250475e33d377d62c60da11c9ac8)` *request, int type_code)`                                                                                                                                                                                                                                                                                                                                                 | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Sets the type of the dialog to show.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| [IntegrityDialogResponse_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4ed820b3cd2d5974986e0228bf749e18)`(`[IntegrityDialogResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga8a6769b6559e056d95cbb1b07a549c2d)` *response)`                                                                                                                                                                                                                                                                                                                                                                 | `void` Releases the specified IntegrityDialogResponse and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [IntegrityDialogResponse_getResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gace02b3425567a77cd8ad5fc45c7ed7d3)`(`[IntegrityDialogResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga8a6769b6559e056d95cbb1b07a549c2d)` *response, `[IntegrityDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga062d379f35407da44ae5ec3dd8f36fad)` *out_response_code)`                                                                                                                                                                      | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Retrieves the current status and result of an[IntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293)operation.                                                                                                                                                                                                                                                                                                                                                                                       |
| [IntegrityManager_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga884bbfa5048cba2e0fc0bd0cc34df358)`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `void` Frees up memory allocated for the Integrity API.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [IntegrityManager_init](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga10bdb771ad252915c806408895d29ff0)`(JavaVM *jvm, jobject android_context)`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Initialize the Play Integrity API, making the other functions available to call.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [IntegrityManager_requestIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaad366f18f0bb1ef259b1184a66ece51a)`(`[IntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga76e15f721115003637bcaa89eab93eb3)` *request, `[IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)` **out_response)`                                                                                                                                                                                   | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Starts an asynchronous operation to obtain a Play Integrity API token.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [IntegrityManager_showDialog](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293)`(`[IntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga40c2250475e33d377d62c60da11c9ac8)` *request, `[IntegrityDialogResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga8a6769b6559e056d95cbb1b07a549c2d)` **out_response)`                                                                                                                                                                                            | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Initiates an asynchronous operation to show a dialog to the user.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| [IntegrityTokenRequest_create](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga52b81aa2cb7fd72eae95c2f30779825f)`(`[IntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga76e15f721115003637bcaa89eab93eb3)` **out_request)`                                                                                                                                                                                                                                                                                                                                                                  | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Creates a new IntegrityTokenRequest opaque struct.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [IntegrityTokenRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga791ed6d574305bf1b208af5855e7237b)`(`[IntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga76e15f721115003637bcaa89eab93eb3)` *request)`                                                                                                                                                                                                                                                                                                                                                                      | `void` Releases the specified IntegrityTokenRequest and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [IntegrityTokenRequest_setCloudProjectNumber](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga79459942828a66bb1f4d2ac31456fc4f)`(`[IntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga76e15f721115003637bcaa89eab93eb3)` *request, int64_t cloudProjectNumber)`                                                                                                                                                                                                                                                                                                                            | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Sets the cloud project number to link to the integrity token.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [IntegrityTokenRequest_setNonce](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4dd14d2e645029ccd5bd607fb2dbfe24)`(`[IntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga76e15f721115003637bcaa89eab93eb3)` *request, const char *nonce)`                                                                                                                                                                                                                                                                                                                                                  | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Sets the nonce in an IntegrityTokenRequest with a given string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| [IntegrityTokenResponse_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga259c062f2e7c0a474ce0f91153ff92de)`(`[IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)` *response)`                                                                                                                                                                                                                                                                                                                                                                   | `void` Releases the specified IntegrityTokenResponse and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [IntegrityTokenResponse_getDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaeabf05218940607694625a2a4c5826e7)`(`[IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)` *token_response, `[IntegrityDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga062d379f35407da44ae5ec3dd8f36fad)` *out_response_code)`                                                                                                                                                            | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) **[Deprecated.](https://developer.android.com/reference/native/play/core/deprecated/deprecated)** Use[IntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293)to show dialogs and[IntegrityDialogResponse_getResponseCode()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gace02b3425567a77cd8ad5fc45c7ed7d3)to get the response code instead. Gets the response code for the dialog shown by IntegrityTokenResponse_showDialog.                         |
| [IntegrityTokenResponse_getIsRemediable](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaea4a82584e79925972d54ae885be6ef8)`(`[IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)` *response, bool *out_is_remediable)`                                                                                                                                                                                                                                                                                                                                  | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Checks if the error associated with a given IntegrityTokenResponse is remediable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| [IntegrityTokenResponse_getStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga5fb73779db72e267c1773102c9d99ede)`(`[IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)` *response, `[IntegrityResponseStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf2d0cdb784b07c8cb1affaad08a47b51)` *out_status)`                                                                                                                                                                                         | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) Gets the status of an ongoing[IntegrityManager_requestIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaad366f18f0bb1ef259b1184a66ece51a)asynchronous operation.                                                                                                                                                                                                                                                                                                                                                                               |
| [IntegrityTokenResponse_getToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga5333a873a63001d773dbaceaac858e84)`(`[IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)` *response)`                                                                                                                                                                                                                                                                                                                                                                  | `const char *` Gets the token retrieved by a successful[IntegrityManager_requestIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaad366f18f0bb1ef259b1184a66ece51a)asynchronous operation, returns null pointer otherwise.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [IntegrityTokenResponse_showDialog](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gac8365cb03e69dd203a6322a483a182fc)`(`[IntegrityTokenResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933)` *token_response, jobject android_activity, int type_code)`                                                                                                                                                                                                                                                                                                                 | [IntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf9eae9c6d1e03ee0d21395087c0bfac1) **[Deprecated.](https://developer.android.com/reference/native/play/core/deprecated/deprecated)** Use[IntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293)instead. Displays a dialog to the user.                                                                                                                                                                                                                                                                                                  |
| [PrepareIntegrityTokenRequest_create](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga66fd0f0bc36ae5290d5ff655f6228ae5)`(`[PrepareIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4150a88f328097aa7fed184d1e3fd92)` **out_request)`                                                                                                                                                                                                                                                                                                                                                    | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Creates a new PrepareIntegrityTokenRequest opaque struct.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| [PrepareIntegrityTokenRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaea7a45181e5df5de7efbb66a07217011)`(`[PrepareIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4150a88f328097aa7fed184d1e3fd92)` *request)`                                                                                                                                                                                                                                                                                                                                                        | `void` Releases the specified PrepareIntegrityTokenRequest and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [PrepareIntegrityTokenRequest_setCloudProjectNumber](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga10bfa323caf0e080246b039a11d1a21d)`(`[PrepareIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4150a88f328097aa7fed184d1e3fd92)` *request, int64_t cloud_project_number)`                                                                                                                                                                                                                                                                                                            | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Sets the given cloud project number in PrepareIntegrityTokenRequest.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [StandardIntegrityDialogRequest_create](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga939d301718dcba786041bd8695b68eb5)`(`[StandardIntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga24077143ab0f8714d284cfd600ab7043)` **out_request)`                                                                                                                                                                                                                                                                                                                                                | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Creates a new StandardIntegrityDialogRequest opaque struct.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [StandardIntegrityDialogRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9e7719f56de10bee5300fd3335ec63f6)`(`[StandardIntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga24077143ab0f8714d284cfd600ab7043)` *request)`                                                                                                                                                                                                                                                                                                                                                    | `void` Releases the specified StandardIntegrityDialogRequest and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [StandardIntegrityDialogRequest_setActivity](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga5d6e1bf0d0362923721745f29bfea399)`(`[StandardIntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga24077143ab0f8714d284cfd600ab7043)` *request, jobject android_activity)`                                                                                                                                                                                                                                                                                                                      | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Sets the Android Activity to show the dialog on.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [StandardIntegrityDialogRequest_setStandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gad6ccc1e746c13b4df1f2806dba765012)`(`[StandardIntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga24077143ab0f8714d284cfd600ab7043)` *request, `[StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)` *token)`                                                                                                                                                                | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Associates a StandardIntegrityToken response from a[StandardIntegrityTokenProvider_request()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaae86cd8df7ef64a7c21cb6b759d15f82)with a StandardIntegrityDialogRequest.                                                                                                                                                                                                                                                                                                                                  |
| [StandardIntegrityDialogRequest_setStandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa414791dff79e0d559425077e6f1dd88)`(`[StandardIntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga24077143ab0f8714d284cfd600ab7043)` *request, `[StandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga13f836f68e783750bc6ade8294749db5)` *provider)`                                                                                                                                             | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Associates a StandardIntegrityTokenProvider response from a[StandardIntegrityManager_prepareIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga0a8226dbb19b88f4be05f90f5c784761)call with a StandardIntegrityDialogRequest.                                                                                                                                                                                                                                                                                                             |
| [StandardIntegrityDialogRequest_setTypeCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gada68e0fca23017ce52fdedf9d05b0f22)`(`[StandardIntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga24077143ab0f8714d284cfd600ab7043)` *request, int type_code)`                                                                                                                                                                                                                                                                                                                                 | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Sets the type of the dialog to show.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [StandardIntegrityDialogResponse_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga5b6674d9636b0d1fdaa131fbb96c570c)`(`[StandardIntegrityDialogResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa8cb0cf7a29ab5d98c88927e9890039e)` *response)`                                                                                                                                                                                                                                                                                                                                                 | `void` Releases the specified StandardIntegrityDialogResponse and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [StandardIntegrityDialogResponse_getResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gad39220bcfb8632501c84f55bb1b4a194)`(`[StandardIntegrityDialogResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa8cb0cf7a29ab5d98c88927e9890039e)` *response, `[IntegrityDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga062d379f35407da44ae5ec3dd8f36fad)` *out_response_code)`                                                                                                                                                      | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Retrieves the current status and result of a[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)operation.                                                                                                                                                                                                                                                                                                                                                                        |
| [StandardIntegrityManager_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9058595c06fc58f4da03ced1e5d491e9)`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | `void` Frees up memory allocated for the Standard Integrity Manager.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [StandardIntegrityManager_init](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaaf0091c762d6849a6906a3f21ea22671)`(JavaVM *jvm, jobject android_context)`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Initialize the Standard Integrity Manager, making the other methods available to call.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [StandardIntegrityManager_prepareIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga0a8226dbb19b88f4be05f90f5c784761)`(`[PrepareIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4150a88f328097aa7fed184d1e3fd92)` *request, `[StandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga13f836f68e783750bc6ade8294749db5)` **out_provider)`                                                                                                                                                            | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Asynchronously prepares the integrity token and makes it available for requesting via StandardIntegrityTokenProvider.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [StandardIntegrityManager_showDialog](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)`(`[StandardIntegrityDialogRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga24077143ab0f8714d284cfd600ab7043)` *request, `[StandardIntegrityDialogResponse](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa8cb0cf7a29ab5d98c88927e9890039e)` **out_response)`                                                                                                                                                                    | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Initiates an asynchronous operation to show a dialog to the user.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| [StandardIntegrityTokenProvider_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga3856f9af8dbd3339f826c559a7e5801e)`(`[StandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga13f836f68e783750bc6ade8294749db5)` *provider)`                                                                                                                                                                                                                                                                                                                                                   | `void` Releases the specified StandardIntegrityTokenProvider and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [StandardIntegrityTokenProvider_getIsRemediable](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gadfed1250296dd3aa51a39b39f4b5da4d)`(`[StandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga13f836f68e783750bc6ade8294749db5)` *provider, bool *out_is_remediable)`                                                                                                                                                                                                                                                                                                                  | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Checks if an error that occurred during the[StandardIntegrityManager_prepareIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga0a8226dbb19b88f4be05f90f5c784761)operation is remediable.                                                                                                                                                                                                                                                                                                                                                |
| [StandardIntegrityTokenProvider_getStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga63deb5742be118a8e7ec757f88d55c2c)`(`[StandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga13f836f68e783750bc6ade8294749db5)` *provider, `[IntegrityResponseStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf2d0cdb784b07c8cb1affaad08a47b51)` *out_status)`                                                                                                                                                                         | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Gets the status of an ongoing[StandardIntegrityManager_prepareIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga0a8226dbb19b88f4be05f90f5c784761)asynchronous operation.                                                                                                                                                                                                                                                                                                                                                               |
| [StandardIntegrityTokenProvider_request](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaae86cd8df7ef64a7c21cb6b759d15f82)`(`[StandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga13f836f68e783750bc6ade8294749db5)` *provider, `[StandardIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9ad8e06a8436cc51579f18998de31616)` *request, `[StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)` **out_token)` | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Asynchronously generates and returns a token for integrity-related enquiries.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [StandardIntegrityTokenRequest_create](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9be84ceacc7405ff3ef00635b140e590)`(`[StandardIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9ad8e06a8436cc51579f18998de31616)` **out_request)`                                                                                                                                                                                                                                                                                                                                                  | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Creates a new StandardIntegrityTokenRequest opaque struct.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [StandardIntegrityTokenRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaff5f84154d600fab3b006f25734979d7)`(`[StandardIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9ad8e06a8436cc51579f18998de31616)` *request)`                                                                                                                                                                                                                                                                                                                                                      | `void` Releases the specified StandardIntegrityTokenRequest and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| [StandardIntegrityTokenRequest_setRequestHash](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gad36740e8df0c1e2d0282c63173949990)`(`[StandardIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9ad8e06a8436cc51579f18998de31616)` *request, const char *request_hash)`                                                                                                                                                                                                                                                                                                                     | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Sets a request hash in a StandardIntegrityTokenRequest; the integrity token will be bound to this request hash.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [StandardIntegrityTokenRequest_setVerdictOptOut](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga001b88bdda295a3e23aff12c296587b3)`(`[StandardIntegrityTokenRequest](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9ad8e06a8436cc51579f18998de31616)` *request, std::set< int > verdict_opt_out)`                                                                                                                                                                                                                                                                                                            | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Sets a set of verdicts that should be opted out when requesting the token.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [StandardIntegrityToken_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9f12b5e445d1df3f0064a3b557b033aa)`(`[StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)` *token)`                                                                                                                                                                                                                                                                                                                                                                      | `void` Releases the specified StandardIntegrityToken and any references it holds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [StandardIntegrityToken_getDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa2136402a75fa557edc0184954170bf0)`(`[StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)` *token, `[IntegrityDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga062d379f35407da44ae5ec3dd8f36fad)` *out_response_code)`                                                                                                                                                                     | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) **[Deprecated.](https://developer.android.com/reference/native/play/core/deprecated/deprecated)** Use[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)to show dialogs and[StandardIntegrityDialogResponse_getResponseCode()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gad39220bcfb8632501c84f55bb1b4a194)to get the response code instead. Gets the response code for the dialog shown by StandardIntegrityToken_showDialog. |
| [StandardIntegrityToken_getIsRemediable](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gace93a46116c137fa0081efe992d35d3f)`(`[StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)` *token, bool *out_is_remediable)`                                                                                                                                                                                                                                                                                                                                     | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Checks if the error associated with a given StandardIntegrityToken is remediable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| [StandardIntegrityToken_getStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga97b0175d97d1d896be78e63efc37f490)`(`[StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)` *token, `[IntegrityResponseStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaf2d0cdb784b07c8cb1affaad08a47b51)` *out_status)`                                                                                                                                                                                            | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) Gets the status of an ongoing StandardIntegrityTokenProvider_request asynchronous operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| [StandardIntegrityToken_getToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga2763dc9099f08d29329a450b28fa41ac)`(`[StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)` *token)`                                                                                                                                                                                                                                                                                                                                                                     | `const char *` Gets the token retrieved by a completed StandardIntegrityTokenProvider_request asynchronous operation, returns null pointer otherwise.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| [StandardIntegrityToken_showDialog](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9cd856195f4e0b82cb6e15f43fdc4f01)`(`[StandardIntegrityToken](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6)` *token, jobject android_activity, int typeCode)`                                                                                                                                                                                                                                                                                                                           | [StandardIntegrityErrorCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gade0d369f226c3a93cb70dbeba6b89601) **[Deprecated.](https://developer.android.com/reference/native/play/core/deprecated/deprecated)** Use[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)instead. Displays a dialog to the user.                                                                                                                                                                                                                                                                                  |

## Enumerations

### IntegrityDialogResponseCode

```text
 IntegrityDialogResponseCode
```  
Status returned when showing the integrity dialog.  

### IntegrityErrorCode

```text
 IntegrityErrorCode
```  
Errors that can be encountered while using the integrity API.

|                                                                                                                                                                       Properties                                                                                                                                                                       ||
|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `INTEGRITY_API_NOT_AVAILABLE`               | Integrity API is not available. Integrity API is not enabled, or the Play Store version might be old. Recommended actions: - Make sure that Integrity API is enabled in Google Play Console. - Ask the user to update Play Store. <br />                                                                  |
| `INTEGRITY_APP_NOT_INSTALLED`               | The calling app is not installed. Something is wrong (possibly an attack). Non-actionable.                                                                                                                                                                                                                |
| `INTEGRITY_APP_UID_MISMATCH`                | The calling app UID (user id) does not match the one from Package Manager. Something is wrong (possibly an attack). Non-actionable.                                                                                                                                                                       |
| `INTEGRITY_CANNOT_BIND_TO_SERVICE`          | Binding to the service in the Play Store has failed. This can be due to having an old Play Store version installed on the device. Ask the user to update Play Store.                                                                                                                                      |
| `INTEGRITY_CLIENT_TRANSIENT_ERROR`          | There was a transient error in the client device. Introduced in Play Core Java library version 1.1.0 (prior versions returned a token with empty Device Integrity Verdict). If the error persists after a few retries, you should assume that the device has failed integrity checks and act accordingly. |
| `INTEGRITY_CLOUD_PROJECT_NUMBER_IS_INVALID` | The provided cloud project number is invalid. Use the cloud project number which can be found in Project info in your Google Cloud Console for the cloud project where Play Integrity API is enabled.                                                                                                     |
| `INTEGRITY_GOOGLE_SERVER_UNAVAILABLE`       | Unknown internal Google server error. Retry with an exponential backoff. Consider filing a bug if fails consistently.                                                                                                                                                                                     |
| `INTEGRITY_INITIALIZATION_FAILED`           | There was an error initializing the Integrity API. Retry with an exponential backoff. Consider filing a bug if fails consistently.                                                                                                                                                                        |
| `INTEGRITY_INITIALIZATION_NEEDED`           | IntegrityManager is not initialized. Call[IntegrityManager_init()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga10bdb771ad252915c806408895d29ff0)first.                                                                                                   |
| `INTEGRITY_INTERNAL_ERROR`                  | Unknown internal error. Retry with an exponential backoff. Consider filing a bug if fails consistently.                                                                                                                                                                                                   |
| `INTEGRITY_INVALID_ARGUMENT`                | Invalid argument passed to the Integrity API. Retry with correct argument.                                                                                                                                                                                                                                |
| `INTEGRITY_NETWORK_ERROR`                   | No available network is found. Ask the user to check for a connection.                                                                                                                                                                                                                                    |
| `INTEGRITY_NONCE_IS_NOT_BASE64`             | Nonce is not encoded as a Base64 web-safe no-wrap string. Retry with correct nonce format.                                                                                                                                                                                                                |
| `INTEGRITY_NONCE_TOO_LONG`                  | Nonce length is too long. The nonce must be less than 500 bytes before Base64 encoding. Retry with a shorter nonce.                                                                                                                                                                                       |
| `INTEGRITY_NONCE_TOO_SHORT`                 | Nonce length is too short. The nonce must be a minimum of 16 bytes (before Base64 encoding) to allow for a better security. Retry with a longer nonce.                                                                                                                                                    |
| `INTEGRITY_NO_ERROR`                        | No error has occurred.                                                                                                                                                                                                                                                                                    |
| `INTEGRITY_PLAY_SERVICES_NOT_FOUND`         | Play Services is not available or version is too old. Ask the user to Install or Update Play Services.                                                                                                                                                                                                    |
| `INTEGRITY_PLAY_SERVICES_VERSION_OUTDATED`  | Play Services needs to be updated. Ask the user to update Google Play Services.                                                                                                                                                                                                                           |
| `INTEGRITY_PLAY_STORE_ACCOUNT_NOT_FOUND`    | No Play Store account is found on device. Note that the Play Integrity API now supports unauthenticated requests. This error code is used only for older Play Store versions that lack support. Ask the user to authenticate in Play Store.                                                               |
| `INTEGRITY_PLAY_STORE_NOT_FOUND`            | No Play Store app is found on device or not official version is installed. Ask the user to install an official and recent version of Play Store.                                                                                                                                                          |
| `INTEGRITY_PLAY_STORE_VERSION_OUTDATED`     | The Play Store needs to be updated. Ask the user to update the Google Play Store.                                                                                                                                                                                                                         |
| `INTEGRITY_TOO_MANY_REQUESTS`               | The calling app has made too many requests to the API and has been throttled, or your app has exceeded its daily request quota. Retry with an exponential backoff. Request an increase to your daily request quota if you're at your daily request limit.                                                 |

### IntegrityResponseStatus

```text
 IntegrityResponseStatus
```  
Status returned when requesting integrity tokens/providers.

|                                  Properties                                   ||
|--------------------------------|-----------------------------------------------|
| `INTEGRITY_RESPONSE_COMPLETED` | The asynchronous operation has finished.      |
| `INTEGRITY_RESPONSE_PENDING`   | Waiting for asynchronous operation to finish. |
| `INTEGRITY_RESPONSE_UNKNOWN`   | The response status is unknown.               |

### StandardIntegrityErrorCode

```text
 StandardIntegrityErrorCode
```  
Errors that can be encountered while using the standard integrity API.

|                                                                                                                                                                                                                                                                                 Properties                                                                                                                                                                                                                                                                                  ||
|-----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `CLOUD_PROJECT_NUMBER_IS_INVALID`                   | The provided cloud project number is invalid. Use the cloud project number which can be found in Project info in your Google Cloud Console for the cloud project where Play Integrity API is enabled.                                                                                                                                                                                                                                                                                                                  |
| `STANDARD_CLIENT_TRANSIENT_ERROR`                   | There was a transient error in the client device. Retry with an exponential backoff. If the error persists after a few retries, you should assume that the device has failed integrity checks and act accordingly.                                                                                                                                                                                                                                                                                                     |
| `STANDARD_INTEGRITY_API_NOT_AVAILABLE`              | Standard Integrity API is not available. Standard Integrity API is not enabled, or the Play Store version might be old. Recommended actions: - Make sure to be allowlisted to use Standard Integrity API. - Make sure that Integrity API is enabled in Google Play Console. - Ask the user to update Play Store. <br />                                                                                                                                                                                                |
| `STANDARD_INTEGRITY_APP_NOT_INSTALLED`              | The calling app is not installed. Something is wrong (possibly an attack). Non-actionable.                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `STANDARD_INTEGRITY_APP_UID_MISMATCH`               | The calling app UID (user id) does not match the one from Package Manager. Something is wrong (possibly an attack). Non-actionable.                                                                                                                                                                                                                                                                                                                                                                                    |
| `STANDARD_INTEGRITY_CANNOT_BIND_TO_SERVICE`         | Binding to the service in the Play Store has failed. This can be due to having an old Play Store version installed on the device or device memory is overloaded. Ask the user to update Play Store. Retry with an exponential backoff.                                                                                                                                                                                                                                                                                 |
| `STANDARD_INTEGRITY_GOOGLE_SERVER_UNAVAILABLE`      | Unknown internal Google server error. Retry with an exponential backoff. Consider filing a bug if fails consistently.                                                                                                                                                                                                                                                                                                                                                                                                  |
| `STANDARD_INTEGRITY_INITIALIZATION_FAILED`          | There was an error initializing the Standard Integrity API. Retry with an exponential backoff. Consider filing a bug if fails consistently.                                                                                                                                                                                                                                                                                                                                                                            |
| `STANDARD_INTEGRITY_INITIALIZATION_NEEDED`          | StandardIntegrityManager is not initialized. Call[StandardIntegrityManager_init()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaaf0091c762d6849a6906a3f21ea22671)first.                                                                                                                                                                                                                                                                                                |
| `STANDARD_INTEGRITY_INTERNAL_ERROR`                 | Unknown internal error. Retry with an exponential backoff. Consider filing a bug if fails consistently.                                                                                                                                                                                                                                                                                                                                                                                                                |
| `STANDARD_INTEGRITY_INVALID_ARGUMENT`               | Invalid argument passed to the Standard Integrity API. Retry with correct argument.                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `STANDARD_INTEGRITY_NETWORK_ERROR`                  | No available network is found. Ask the user to check for a connection.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `STANDARD_INTEGRITY_PLAY_SERVICES_NOT_FOUND`        | Play Services is not available or version is too old. Ask the user to Install or Update Play Services.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `STANDARD_INTEGRITY_PLAY_SERVICES_VERSION_OUTDATED` | Play Services needs to be updated. Ask the user to update Google Play Services.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `STANDARD_INTEGRITY_PLAY_STORE_NOT_FOUND`           | No Play Store app is found on device or not official version is installed. Ask the user to install an official and recent version of Play Store.                                                                                                                                                                                                                                                                                                                                                                       |
| `STANDARD_INTEGRITY_PLAY_STORE_VERSION_OUTDATED`    | The Play Store needs to be updated. Ask the user to update the Google Play Store.                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `STANDARD_INTEGRITY_TOKEN_PROVIDER_INVALID`         | The StandardIntegrityTokenProvider is invalid (e.g. it is outdated). This error can only be returned for[StandardIntegrityTokenProvider_request()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaae86cd8df7ef64a7c21cb6b759d15f82). Request a new integrity token provider by calling[StandardIntegrityManager_prepareIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga0a8226dbb19b88f4be05f90f5c784761). |
| `STANDARD_INTEGRITY_TOO_MANY_REQUESTS`              | The calling app has made too many requests to the API and has been throttled, or your app has exceeded its daily request quota. Retry with an exponential backoff. Request an increase to your daily request quota if you're at your daily request limit.                                                                                                                                                                                                                                                              |
| `STANDARD_REQUEST_HASH_TOO_LONG`                    | The provided request hash is too long. The request hash length must be less than 500 bytes. Retry with a shorter request hash.                                                                                                                                                                                                                                                                                                                                                                                         |

## Typedefs

### IntegrityDialogRequest

```scdoc
struct IntegrityDialogRequest_ IntegrityDialogRequest
```  
An opaque struct used to provide information about an integrity dialog request.  

### IntegrityDialogResponse

```scdoc
struct IntegrityDialogResponse_ IntegrityDialogResponse
```  
An opaque struct used to access information about an integrity dialog response.  

### IntegrityTokenRequest

```scdoc
struct IntegrityTokenRequest_ IntegrityTokenRequest
```  
An opaque struct used to provide information about an integrity token request.  

### IntegrityTokenResponse

```scdoc
struct IntegrityTokenResponse_ IntegrityTokenResponse
```  
An opaque struct used to access information about an integrity token response.  

### PrepareIntegrityTokenRequest

```scdoc
struct PrepareIntegrityTokenRequest_ PrepareIntegrityTokenRequest
```  
An opaque struct used to represent a prepare integrity token request.  

### StandardIntegrityDialogRequest

```scdoc
struct StandardIntegrityDialogRequest_ StandardIntegrityDialogRequest
```  
An opaque struct used to represent a standard integrity dialog request.  

### StandardIntegrityDialogResponse

```scdoc
struct StandardIntegrityDialogResponse_ StandardIntegrityDialogResponse
```  
An opaque struct used to represent a standard integrity dialog response.  

### StandardIntegrityToken

```scdoc
struct StandardIntegrityToken_ StandardIntegrityToken
```  
An opaque struct used to represent a standard integrity token response.  

### StandardIntegrityTokenProvider

```scdoc
struct StandardIntegrityTokenProvider_ StandardIntegrityTokenProvider
```  
An opaque struct used to represent a standard integrity token provider.  

### StandardIntegrityTokenRequest

```scdoc
struct StandardIntegrityTokenRequest_ StandardIntegrityTokenRequest
```  
An opaque struct used to represent a standard integrity token request.

## Functions

### IntegrityDialogRequest_create

```scdoc
IntegrityErrorCode IntegrityDialogRequest_create(
  IntegrityDialogRequest **out_request
)
```  
Creates a new IntegrityDialogRequest opaque struct.

**See also:** [IntegrityDialogRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga00ffa9449af568bf2fd948e710f0ac5a)

|                                                                  Details                                                                   ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------|--------------------------------------------| | `out_request` | An out parameter for receiving the result. | |
| **Returns** | An IntegrityErrorCode, which if not INTEGRITY_NO_ERROR indicates that the out parameter shouldn't be used.                    |

### IntegrityDialogRequest_destroy

```scdoc
void IntegrityDialogRequest_destroy(
  IntegrityDialogRequest *request
)
```  
Releases the specified IntegrityDialogRequest and any references it holds.

<br />

|                                        Details                                        ||
|------------|---------------------------------------------------------------------------|
| Parameters | |-----------|----------------------| | `request` | The request to free. | |

### IntegrityDialogRequest_setActivity

```scdoc
IntegrityErrorCode IntegrityDialogRequest_setActivity(
  IntegrityDialogRequest *request,
  jobject android_activity
)
```  
Sets the Android Activity to show the dialog on.

<br />

|                                                                                                                                Details                                                                                                                                ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |--------------------|-----------------------------------------------------------| | `request`          | The IntegrityDialogRequest for which to set the activity. | | `android_activity` | The Android Activity to show the dialog on.               | |
| **Returns** | An IntegrityErrorCode, which if not INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                                                                         |

### IntegrityDialogRequest_setIntegrityTokenResponse

```scdoc
IntegrityErrorCode IntegrityDialogRequest_setIntegrityTokenResponse(
  IntegrityDialogRequest *request,
  IntegrityTokenResponse *token_response
)
```  
Associates an IntegrityTokenResponse generated from a[IntegrityManager_requestIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaad366f18f0bb1ef259b1184a66ece51a)with an IntegrityDialogRequest.

This is required because a dialog can only be requested after an integrity token request has been made.

<br />

|                                                                                                                                            Details                                                                                                                                            ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |------------------|---------------------------------------------------------------------| | `request`        | The IntegrityDialogRequest for which to set the integrity response. | | `token_response` | The IntegrityTokenResponse to associate with the dialog request.    | |
| **Returns** | An IntegrityErrorCode, which if not INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                                                                                                 |

### IntegrityDialogRequest_setTypeCode

```carbon
IntegrityErrorCode IntegrityDialogRequest_setTypeCode(
  IntegrityDialogRequest *request,
  int type_code
)
```  
Sets the type of the dialog to show.

<br />

|                                                                                                                                                                                                                                                                                                                                                                  Details                                                                                                                                                                                                                                                                                                                                                                   ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `request`   | The IntegrityDialogRequest for which to set the type.                                                                                                                                                                   | | `type_code` | determines which Integrity Dialog type should be shown. See<https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/IntegrityDialogTypeCode>for the supported types. | |
| **Returns** | An IntegrityErrorCode, which if not INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

### IntegrityDialogResponse_destroy

```scdoc
void IntegrityDialogResponse_destroy(
  IntegrityDialogResponse *response
)
```  
Releases the specified IntegrityDialogResponse and any references it holds.

<br />

|                                          Details                                          ||
|------------|-------------------------------------------------------------------------------|
| Parameters | |------------|-----------------------| | `response` | The response to free. | |

### IntegrityDialogResponse_getResponseCode

```scdoc
IntegrityErrorCode IntegrityDialogResponse_getResponseCode(
  IntegrityDialogResponse *response,
  IntegrityDialogResponseCode *out_response_code
)
```  
Retrieves the current status and result of an[IntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293)operation.

This function can be used to poll for the completion of a call to[IntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293). The function does not make any JNI calls, hence can be called every frame.

<br />

|                                                                                                                                          Details                                                                                                                                           ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------------|-----------------------------------------------------------------| | `response`          | The IntegrityDialogResponse for which to get status.            | | `out_response_code` | An out parameter for receiving the IntegrityDialogResponseCode. | |
| **Returns** | INTEGRITY_NO_ERROR if the poll operation succeeded and the response code was retrieved successfully; any other value indicates an error, which could have occurred either while showing the dialog or while retrieving the response code.                                     |

### IntegrityManager_destroy

```scdoc
void IntegrityManager_destroy()
```  
Frees up memory allocated for the Integrity API.

Does nothing if[IntegrityManager_init()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga10bdb771ad252915c806408895d29ff0)hasn't been called.  

### IntegrityManager_init

```scdoc
IntegrityErrorCode IntegrityManager_init(
  JavaVM *jvm,
  jobject android_context
)
```  
Initialize the Play Integrity API, making the other functions available to call.

In case of failure the Play Integrity API is unavailable, and there will be an error in logcat. The most common reason for failure is that the PlayCore AAR is missing or some of its classes/methods weren't retained by ProGuard.**See also:** [IntegrityManager_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga884bbfa5048cba2e0fc0bd0cc34df358)

|                                                                                                                                                   Details                                                                                                                                                    ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |-------------------|-------------------------------------------------------------------------| | `jvm`             | The app's single JavaVM, for example from ANativeActivity's "vm" field. | | `android_context` | An Android Context, for example from ANativeActivity's "clazz" field.   | |
| **Returns** | INTEGRITY_NO_ERROR if initialization succeeded, or an error if failed.                                                                                                                                                                                                                          |

### IntegrityManager_requestIntegrityToken

```scdoc
IntegrityErrorCode IntegrityManager_requestIntegrityToken(
  IntegrityTokenRequest *request,
  https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga38dd15c92d0e4263d36363ab7631a933 **out_response
)
```  
Starts an asynchronous operation to obtain a Play Integrity API token.

For an ongoing asynchronous operation, use[IntegrityTokenResponse_getStatus()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga5fb73779db72e267c1773102c9d99ede)to poll for the status of the IntegrityTokenResponse. When the status reaches INTEGRITY_RESPONSE_COMPLETED with INTEGRITY_NO_ERROR, use[IntegrityTokenResponse_getToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga5333a873a63001d773dbaceaac858e84)to acquire the resulting token.

**See also:** [IntegrityTokenResponse_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga259c062f2e7c0a474ce0f91153ff92de)

|                                                                                                   Details                                                                                                    ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |----------------|--------------------------------------------| | `request`      | The request containing the nonce.          | | `out_response` | An out parameter for receiving the result. | |
| **Returns** | INTEGRITY_NO_ERROR if the request started successfully, corresponding error if failed.                                                                                                          |

### IntegrityManager_showDialog

```scdoc
IntegrityErrorCode IntegrityManager_showDialog(
  IntegrityDialogRequest *request,
  https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga8a6769b6559e056d95cbb1b07a549c2d **out_response
)
```  
Initiates an asynchronous operation to show a dialog to the user.

Use[IntegrityDialogResponse_getResponseCode()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gace02b3425567a77cd8ad5fc45c7ed7d3)with the returned`out_response`object to poll for the final result of the operation.

**See also:** [IntegrityDialogResponse_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4ed820b3cd2d5974986e0228bf749e18)

|                                                                                                                                                                           Details                                                                                                                                                                            ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |----------------|--------------------------------------------------------------------------------------------| | `request`      | The IntegrityDialogRequest which contains all the information required to show the dialog. | | `out_response` | An out parameter for receiving the result.                                                 | |
| **Returns** | INTEGRITY_NO_ERROR if the request started successfully, corresponding error if failed.                                                                                                                                                                                                                                                          |

### IntegrityTokenRequest_create

```scdoc
IntegrityErrorCode IntegrityTokenRequest_create(
  IntegrityTokenRequest **out_request
)
```  
Creates a new IntegrityTokenRequest opaque struct.

**See also:** [IntegrityTokenRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga791ed6d574305bf1b208af5855e7237b)

|                                                                  Details                                                                   ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------|--------------------------------------------| | `out_request` | An out parameter for receiving the result. | |
| **Returns** | An IntegrityErrorCode, which if not INTEGRITY_NO_ERROR indicates that the out parameter shouldn't be used.                    |

### IntegrityTokenRequest_destroy

```scdoc
void IntegrityTokenRequest_destroy(
  IntegrityTokenRequest *request
)
```  
Releases the specified IntegrityTokenRequest and any references it holds.

<br />

|                                        Details                                        ||
|------------|---------------------------------------------------------------------------|
| Parameters | |-----------|----------------------| | `request` | The request to free. | |

### IntegrityTokenRequest_setCloudProjectNumber

```scdoc
IntegrityErrorCode IntegrityTokenRequest_setCloudProjectNumber(
  IntegrityTokenRequest *request,
  int64_t cloudProjectNumber
)
```  
Sets the cloud project number to link to the integrity token.

This field is required for[apps exclusively distributed outside of Google Play](https://developer.android.com/google/play/integrity/setup#apps-exclusively-distributed-outside-google-play)and[SDKs](https://developer.android.com/google/play/integrity/setup#sdks). For apps distributed on Google Play, the cloud project number is configured in the Play Console and need not be set on the request.

Cloud project number can be found in Project info in your Google Cloud Console for the cloud project where Play Integrity API is enabled.

Calls to[decrypt the token on Google's server](https://developer.android.com/google/play/integrity/verdict#decrypt-verify-google-servers)must be authenticated using the cloud account that was linked to the token in this request.

<br />

|                                                                                                                           Details                                                                                                                            ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |----------------------|------------------------------------------------------| | `request`            | The IntegrityTokenRequest to set cloudProjectNumber. | | `cloudProjectNumber` | The cloudProjectNumber for the request.              | |
| **Returns** | An IntegrityErrorCode, which if not INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                                                                |

### IntegrityTokenRequest_setNonce

```gdscript
IntegrityErrorCode IntegrityTokenRequest_setNonce(
  IntegrityTokenRequest *request,
  const char *nonce
)
```  
Sets the nonce in an IntegrityTokenRequest with a given string.

It must be base64 encoded in web-safe no-wrap form.

See<https://developer.android.com/google/play/integrity/verdict#nonce>for details about the nonce requirements and recommendations.

<br />

|                                                                                                      Details                                                                                                       ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |-----------|---------------------------------------------------| | `request` | The IntegrityTokenRequest for which to set token. | | `nonce`   | The nonce for the request.                        | |
| **Returns** | An IntegrityErrorCode, which if not INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                      |

### IntegrityTokenResponse_destroy

```scdoc
void IntegrityTokenResponse_destroy(
  IntegrityTokenResponse *response
)
```  
Releases the specified IntegrityTokenResponse and any references it holds.

<br />

|                                          Details                                          ||
|------------|-------------------------------------------------------------------------------|
| Parameters | |------------|-----------------------| | `response` | The response to free. | |

### IntegrityTokenResponse_getDialogResponseCode

```scdoc
IntegrityErrorCode IntegrityTokenResponse_getDialogResponseCode(
  IntegrityTokenResponse *token_response,
  IntegrityDialogResponseCode *out_response_code
)
```  
Gets the response code for the dialog shown by IntegrityTokenResponse_showDialog.

**[Deprecated.](https://developer.android.com/reference/native/play/core/deprecated/deprecated)** Use[IntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293)to show dialogs and[IntegrityDialogResponse_getResponseCode()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gace02b3425567a77cd8ad5fc45c7ed7d3)to get the response code instead.

|                                                                                                                                                                                                                                                              Details                                                                                                                                                                                                                                                              ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------------|----------------------------------------------------------------------------------------------------------------------------------------------| | `token_response`    | The IntegrityTokenResponse for which to get status.                                                                                          | | `out_response_code` | An out parameter for receiving the IntegrityDialogResponseCode. This is set if the call to IntegrityTokenResponse_showDialog was successful. | |
| **Returns** | INTEGRITY_NO_ERROR if IntegrityTokenResponse_showDialog was successful; any other value indicates an error that has occurred while showing the dialog or requesting the dialog response code.                                                                                                                                                                                                                                                                                                                        |

### IntegrityTokenResponse_getIsRemediable

```scdoc
IntegrityErrorCode IntegrityTokenResponse_getIsRemediable(
  IntegrityTokenResponse *response,
  bool *out_is_remediable
)
```  
Checks if the error associated with a given IntegrityTokenResponse is remediable.

An error is considered remediable if the user can potentially fix the issue by taking action through a dialog shown by the Integrity API. This function helps determine if calling the[IntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293)is appropriate.

The function's return value indicates the status of the check operation itself. The boolean result of whether the error is remediable is returned via the 'out_is_remediable' output parameter.

For more details on error remediation, please see the Play Integrity API documentation:<https://developer.android.com/google/play/integrity/remediation>

**See also:** [IntegrityTokenResponse_getStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga5fb73779db72e267c1773102c9d99ede)

|                                                                                                                                                                                                                                                                                                                                                  Details                                                                                                                                                                                                                                                                                                                                                  ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `response`          | The IntegrityTokenResponse to check. Must not be NULL.                                                                                                                                               | | `out_is_remediable` | Output parameter to receive the boolean result. Must not be NULL. Set to true if the error is remediable, false otherwise. This value is only meaningful if the function returns INTEGRITY_NO_ERROR. | |
| **Returns** | INTEGRITY_NO_ERROR if the check was performed successfully. An IntegrityErrorCode value indicating an error during the check itself (e.g., invalid arguments like NULL pointers).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### IntegrityTokenResponse_getStatus

```scdoc
IntegrityErrorCode IntegrityTokenResponse_getStatus(
  IntegrityTokenResponse *response,
  IntegrityResponseStatus *out_status
)
```  
Gets the status of an ongoing[IntegrityManager_requestIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaad366f18f0bb1ef259b1184a66ece51a)asynchronous operation.

This function can be used to poll for the completion of a call to[IntegrityManager_requestIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaad366f18f0bb1ef259b1184a66ece51a). This function does not make any JNI calls and can be called every frame.

<br />

|                                                                                                                          Details                                                                                                                          ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |--------------|-------------------------------------------------------------| | `response`   | The IntegrityTokenResponse for which to get status.         | | `out_status` | An out parameter for receiving the IntegrityResponseStatus. | |
| **Returns** | An IntegrityErrorCode indicating the error associated with the given IntegrityTokenResponse.                                                                                                                                                 |

### IntegrityTokenResponse_getToken

```gdscript
const char * IntegrityTokenResponse_getToken(
  IntegrityTokenResponse *response
)
```  
Gets the token retrieved by a successful[IntegrityManager_requestIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaad366f18f0bb1ef259b1184a66ece51a)asynchronous operation, returns null pointer otherwise.

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>.

The string returned here is owned by the API, and the pointer will be valid until the corresponding IntegrityTokenResponse is freed by calling[IntegrityTokenResponse_destroy()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga259c062f2e7c0a474ce0f91153ff92de).

|                                                                                      Details                                                                                       ||
|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |------------|-------------------------------------------------------------------| | `response` | The IntegrityTokenResponse specifying the asynchronous operation. | |
| **Returns** | A token which contains the response for the integrity related enquiries.                                                                                              |

### IntegrityTokenResponse_showDialog

```carbon
IntegrityErrorCode IntegrityTokenResponse_showDialog(
  IntegrityTokenResponse *token_response,
  jobject android_activity,
  int type_code
)
```  
Displays a dialog to the user.

This method can only be called once per Integrity API response.**See also:** [IntegrityTokenResponse_getDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaeabf05218940607694625a2a4c5826e7)**[Deprecated.](https://developer.android.com/reference/native/play/core/deprecated/deprecated)** Use[IntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga22e1792fd46975555e27da2aebfc5293)instead.

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ||
|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `token_response`   | The IntegrityTokenResponse for which to show the dialog.                                                                                                                                                                | | `android_activity` | The Android Activity to show the dialog on.                                                                                                                                                                             | | `type_code`        | determines which Integrity Dialog type should be shown. See<https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/IntegrityDialogTypeCode>for the supported types. | |
| **Returns** | A IntegrityErrorCode representing the result of the operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

### PrepareIntegrityTokenRequest_create

```scdoc
StandardIntegrityErrorCode PrepareIntegrityTokenRequest_create(
  PrepareIntegrityTokenRequest **out_request
)
```  
Creates a new PrepareIntegrityTokenRequest opaque struct.

**See also:** [PrepareIntegrityTokenRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaea7a45181e5df5de7efbb66a07217011)

|                                                                               Details                                                                               ||
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------|--------------------------------------------| | `out_request` | An out parameter for receiving the result. |                          |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if initialized successfully; any other value indicates that an error has occurred and the out parameter shouldn't be used. |

### PrepareIntegrityTokenRequest_destroy

```scdoc
void PrepareIntegrityTokenRequest_destroy(
  PrepareIntegrityTokenRequest *request
)
```  
Releases the specified PrepareIntegrityTokenRequest and any references it holds.

<br />

|                                                           Details                                                           ||
|------------|-----------------------------------------------------------------------------------------------------------------|
| Parameters | |-----------|-----------------------------------------| | `request` | A PrepareIntegrityTokenRequest to free. | |

### PrepareIntegrityTokenRequest_setCloudProjectNumber

```scdoc
StandardIntegrityErrorCode PrepareIntegrityTokenRequest_setCloudProjectNumber(
  PrepareIntegrityTokenRequest *request,
  int64_t cloud_project_number
)
```  
Sets the given cloud project number in PrepareIntegrityTokenRequest.

This method should be called after initialising the request via PrepareIntegrityTokenRequest_create method.

|                                                                                                                                                              Details                                                                                                                                                              ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |------------------------|---------------------------------------------------------------------------| | `request`              | A PrepareIntegrityTokenRequest for which to set the cloud project number. | | `cloud_project_number` | The cloud project number.                                                 | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR on success; any other value indicates that an error has occurred due to invalid arguments.                                                                                                                                                                                               |

### StandardIntegrityDialogRequest_create

```scdoc
StandardIntegrityErrorCode StandardIntegrityDialogRequest_create(
  StandardIntegrityDialogRequest **out_request
)
```  
Creates a new StandardIntegrityDialogRequest opaque struct.

**See also:** [StandardIntegrityDialogRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9e7719f56de10bee5300fd3335ec63f6)

|                                                                               Details                                                                               ||
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------|--------------------------------------------| | `out_request` | An out parameter for receiving the result. |                          |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if initialized successfully; any other value indicates that an error has occurred and the out parameter shouldn't be used. |

### StandardIntegrityDialogRequest_destroy

```scdoc
void StandardIntegrityDialogRequest_destroy(
  StandardIntegrityDialogRequest *request
)
```  
Releases the specified StandardIntegrityDialogRequest and any references it holds.

<br />

|                                        Details                                        ||
|------------|---------------------------------------------------------------------------|
| Parameters | |-----------|----------------------| | `request` | The request to free. | |

### StandardIntegrityDialogRequest_setActivity

```scdoc
StandardIntegrityErrorCode StandardIntegrityDialogRequest_setActivity(
  StandardIntegrityDialogRequest *request,
  jobject android_activity
)
```  
Sets the Android Activity to show the dialog on.

<br />

|                                                                                                                                            Details                                                                                                                                            ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |--------------------|-------------------------------------------------------------------| | `request`          | The StandardIntegrityDialogRequest for which to set the activity. | | `android_activity` | The Android Activity to show the dialog on.                       | |
| **Returns** | An StandardIntegrityErrorCode, which if not STANDARD_INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                                                                                |

### StandardIntegrityDialogRequest_setStandardIntegrityToken

```scdoc
StandardIntegrityErrorCode StandardIntegrityDialogRequest_setStandardIntegrityToken(
  StandardIntegrityDialogRequest *request,
  StandardIntegrityToken *token
)
```  
Associates a StandardIntegrityToken response from a[StandardIntegrityTokenProvider_request()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaae86cd8df7ef64a7c21cb6b759d15f82)with a StandardIntegrityDialogRequest.

Note that calling this method automatically unsets any previous StandardIntegrityTokenProvider that may have been attached to the request via[StandardIntegrityDialogRequest_setStandardIntegrityTokenProvider()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa414791dff79e0d559425077e6f1dd88). This is because an integrity dialog request can only be associated with one type of underlying integrity issue.

<br />

|                                                                                                                                 Details                                                                                                                                  ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |-----------|---------------------------------------------------------------------| | `request` | The IntegrityDialogRequest for which to set the integrity response. | | `token`   | The StandardIntegrityToken to associate with the dialog request.    | |
| **Returns** | An StandardIntegrityErrorCode, which if not STANDARD_INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                                                           |

### StandardIntegrityDialogRequest_setStandardIntegrityTokenProvider

```scdoc
StandardIntegrityErrorCode StandardIntegrityDialogRequest_setStandardIntegrityTokenProvider(
  StandardIntegrityDialogRequest *request,
  StandardIntegrityTokenProvider *provider
)
```  
Associates a StandardIntegrityTokenProvider response from a[StandardIntegrityManager_prepareIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga0a8226dbb19b88f4be05f90f5c784761)call with a StandardIntegrityDialogRequest.

This is typically used when constructing a dialog request to resolve certain errors that may occur during the StandardIntegrityManager_prepareIntegrityToken() call.

For more details on error remediation, please see the Play Integrity API documentation:<https://developer.android.com/google/play/integrity/remediation>

Note that calling this method automatically unsets any previous StandardIntegrityToken that may have been attached to the request via[StandardIntegrityDialogRequest_setStandardIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gad6ccc1e746c13b4df1f2806dba765012). This is because an integrity dialog request can only be associated with one type of underlying integrity issue.

**See also:** [StandardIntegrityTokenProvider_getIsRemediable](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gadfed1250296dd3aa51a39b39f4b5da4d)

|                                                                                                                                          Details                                                                                                                                           ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |------------|--------------------------------------------------------------------------| | `request`  | The IntegrityDialogRequest for which to set the integrity response.      | | `provider` | The StandardIntegrityTokenProvider to associate with the dialog request. | |
| **Returns** | An StandardIntegrityErrorCode, which if not STANDARD_INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                                                                             |

### StandardIntegrityDialogRequest_setTypeCode

```carbon
StandardIntegrityErrorCode StandardIntegrityDialogRequest_setTypeCode(
  StandardIntegrityDialogRequest *request,
  int type_code
)
```  
Sets the type of the dialog to show.

<br />

|                                                                                                                                                                                                                                                                                                                                                                  Details                                                                                                                                                                                                                                                                                                                                                                   ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `request`   | The StandardIntegrityDialogRequest for which to set the type.                                                                                                                                                           | | `type_code` | determines which Integrity Dialog type should be shown. See<https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/IntegrityDialogTypeCode>for the supported types. | |
| **Returns** | An StandardIntegrityErrorCode, which if not STANDARD_INTEGRITY_NO_ERROR indicates that this operation has failed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

### StandardIntegrityDialogResponse_destroy

```scdoc
void StandardIntegrityDialogResponse_destroy(
  StandardIntegrityDialogResponse *response
)
```  
Releases the specified StandardIntegrityDialogResponse and any references it holds.

<br />

|                                          Details                                          ||
|------------|-------------------------------------------------------------------------------|
| Parameters | |------------|-----------------------| | `response` | The response to free. | |

### StandardIntegrityDialogResponse_getResponseCode

```scdoc
StandardIntegrityErrorCode StandardIntegrityDialogResponse_getResponseCode(
  StandardIntegrityDialogResponse *response,
  IntegrityDialogResponseCode *out_response_code
)
```  
Retrieves the current status and result of a[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)operation.

This function is used to poll the result of an asynchronous dialog request initiated by[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25). It does not perform any JNI calls, hence it is safe and efficient to call every frame.

**See also:** [StandardIntegrityDialogResponse_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga5b6674d9636b0d1fdaa131fbb96c570c)

|                                                                                                                                                                                                                                                                                                                                                     Details                                                                                                                                                                                                                                                                                                                                                     ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `response`          | The response object returned by[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25). | | `out_response_code` | An output parameter for receiving the IntegrityDialogResponseCode.                                                                                                                                     | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if the poll operation succeeded and the response code was retrieved successfully; any other value indicates an error, which could have occurred either while showing the dialog or while retrieving the response code.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

### StandardIntegrityManager_destroy

```scdoc
void StandardIntegrityManager_destroy()
```  
Frees up memory allocated for the Standard Integrity Manager.

Does nothing if[StandardIntegrityManager_init()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaaf0091c762d6849a6906a3f21ea22671)hasn't been called.  

### StandardIntegrityManager_init

```scdoc
StandardIntegrityErrorCode StandardIntegrityManager_init(
  JavaVM *jvm,
  jobject android_context
)
```  
Initialize the Standard Integrity Manager, making the other methods available to call.

In case of failure, the Standard Integrity API is unavailable, and there will be an error in logcat. The most common reason for failure is that the PlayCore AAR is missing or some of its classes/methods weren't retained by ProGuard.**See also:** [StandardIntegrityManager_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9058595c06fc58f4da03ced1e5d491e9)

|                                                                                                                                                     Details                                                                                                                                                     ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |-------------------|--------------------------------------------------------------------------| | `jvm`             | The app's single JavaVM. For example, from ANativeActivity's "vm" field. | | `android_context` | An Android Context. For example, from ANativeActivity's "clazz" field.   | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if initialization succeeded, or an error on failure.                                                                                                                                                                                                                   |

### StandardIntegrityManager_prepareIntegrityToken

```scdoc
StandardIntegrityErrorCode StandardIntegrityManager_prepareIntegrityToken(
  PrepareIntegrityTokenRequest *request,
  https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga13f836f68e783750bc6ade8294749db5 **out_provider
)
```  
Asynchronously prepares the integrity token and makes it available for requesting via StandardIntegrityTokenProvider.

This method can be called from time to time to refresh the resulting StandardIntegrityTokenProvider. Note that this API makes a call to Google servers and hence requires a network connection.

Note that the API is in beta mode.

**See also:** [StandardIntegrityTokenProvider_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga3856f9af8dbd3339f826c559a7e5801e)

|                                                                                                               Details                                                                                                                ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |----------------|----------------------------------------------------| | `request`      | The request containing the cloud project number.   | | `out_provider` | An out parameter for receiving the token provider. | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if request started successfully; any other value indicates that an error has occurred and the out parameter shouldn't be used.                                                              |

### StandardIntegrityManager_showDialog

```scdoc
StandardIntegrityErrorCode StandardIntegrityManager_showDialog(
  StandardIntegrityDialogRequest *request,
  https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa8cb0cf7a29ab5d98c88927e9890039e **out_response
)
```  
Initiates an asynchronous operation to show a dialog to the user.

Use[StandardIntegrityDialogResponse_getResponseCode()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gad39220bcfb8632501c84f55bb1b4a194)with the returned`out_response`object to poll for the final result of the operation.

<br />

|                                                                                                                                                                                                                                                           Details                                                                                                                                                                                                                                                           ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |----------------|-------------------------------------------------------------------------------------------------------------------------------------------------| | `request`      | The StandardIntegrityDialogRequest which contains all the information required to show the dialog.                                              | | `out_response` | An out parameter for receiving the result of the dialog request. This is set if the call to StandardIntegrityManager_showDialog was successful. | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if StandardIntegrityManager_showDialog was successful; any other value indicates an error that has occurred while requesting the dialog response code.                                                                                                                                                                                                                                                                                                                             |

### StandardIntegrityTokenProvider_destroy

```scdoc
void StandardIntegrityTokenProvider_destroy(
  StandardIntegrityTokenProvider *provider
)
```  
Releases the specified StandardIntegrityTokenProvider and any references it holds.

<br />

|                                                 Details                                                 ||
|------------|---------------------------------------------------------------------------------------------|
| Parameters | |------------|------------------------------| | `provider` | The provider object to free. | |

### StandardIntegrityTokenProvider_getIsRemediable

```scdoc
StandardIntegrityErrorCode StandardIntegrityTokenProvider_getIsRemediable(
  StandardIntegrityTokenProvider *provider,
  bool *out_is_remediable
)
```  
Checks if an error that occurred during the[StandardIntegrityManager_prepareIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga0a8226dbb19b88f4be05f90f5c784761)operation is remediable.

An error is considered remediable if the user can potentially fix the underlying issue by taking action through a dialog shown by the Integrity API. This function helps determine if calling the[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)is appropriate.

The function's return value indicates the status of the check operation itself. The boolean result of whether the error is remediable is returned via the 'out_is_remediable' output parameter.

For more details on error remediation, please see the Play Integrity API documentation:<https://developer.android.com/google/play/integrity/remediation>

**See also:** [StandardIntegrityTokenProvider_getStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga63deb5742be118a8e7ec757f88d55c2c)**See also:** [StandardIntegrityDialogRequest_setStandardIntegrityTokenProvider](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa414791dff79e0d559425077e6f1dd88)

|                                                                                                                                                                                                                                                                                                                                                               Details                                                                                                                                                                                                                                                                                                                                                                ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `provider`          | The StandardIntegrityTokenProvider for which to check. Must not be NULL.                                                                                                                                      | | `out_is_remediable` | Output parameter to receive the boolean result. Must not be NULL. Set to true if the error is remediable, false otherwise. This value is only meaningful if the function returns STANDARD_INTEGRITY_NO_ERROR. | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if the check was performed successfully. An IntegrityErrorCode value indicating an error during the check itself (e.g., invalid arguments like NULL pointers).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

### StandardIntegrityTokenProvider_getStatus

```scdoc
StandardIntegrityErrorCode StandardIntegrityTokenProvider_getStatus(
  StandardIntegrityTokenProvider *provider,
  IntegrityResponseStatus *out_status
)
```  
Gets the status of an ongoing[StandardIntegrityManager_prepareIntegrityToken()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga0a8226dbb19b88f4be05f90f5c784761)asynchronous operation.

**See also:** [StandardIntegrityTokenProvider_getIsRemediable](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gadfed1250296dd3aa51a39b39f4b5da4d)

|                                                                                                                          Details                                                                                                                          ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |--------------|-------------------------------------------------------------| | `provider`   | The StandardIntegrityTokenProvider for which to get status. | | `out_status` | An out parameter for receiving the IntegrityResponseStatus. | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if the request is successful or in progress; any other value indicates an error that has occurred while requesting token provider.                                                                               |

### StandardIntegrityTokenProvider_request

```scdoc
StandardIntegrityErrorCode StandardIntegrityTokenProvider_request(
  StandardIntegrityTokenProvider *provider,
  StandardIntegrityTokenRequest *request,
  https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga4764d6e22b1dd394c4af70036065d7d6 **out_token
)
```  
Asynchronously generates and returns a token for integrity-related enquiries.

This must be called after StandardIntegrityManager_prepareIntegrityToken completes.

Note that the API is in beta mode.

**See also:** [StandardIntegrityToken_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga9f12b5e445d1df3f0064a3b557b033aa)

|                                                                                                                                                                                 Details                                                                                                                                                                                  ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |-------------|----------------------------------------------------------------------| | `provider`  | A StandardIntegrityTokenProvider used to request token.              | | `request`   | A StandardIntegrityTokenRequest containing an optional request hash. | | `out_token` | An out parameter for receiving the result.                           | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if the token request was initiated successfully; any other value indicates that an error has occurred and the out parameter shouldn't be used.                                                                                                                                                                                  |

### StandardIntegrityTokenRequest_create

```scdoc
StandardIntegrityErrorCode StandardIntegrityTokenRequest_create(
  StandardIntegrityTokenRequest **out_request
)
```  
Creates a new StandardIntegrityTokenRequest opaque struct.

**See also:** [StandardIntegrityTokenRequest_destroy](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaff5f84154d600fab3b006f25734979d7)

|                                                                               Details                                                                               ||
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------|--------------------------------------------| | `out_request` | An out parameter for receiving the result. |                          |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if initialized successfully; any other value indicates that an error has occurred and the out parameter shouldn't be used. |

### StandardIntegrityTokenRequest_destroy

```scdoc
void StandardIntegrityTokenRequest_destroy(
  StandardIntegrityTokenRequest *request
)
```  
Releases the specified StandardIntegrityTokenRequest and any references it holds.

<br />

|                                                            Details                                                            ||
|------------|-------------------------------------------------------------------------------------------------------------------|
| Parameters | |-----------|------------------------------------------| | `request` | A StandardIntegrityTokenRequest to free. | |

### StandardIntegrityTokenRequest_setRequestHash

```gdscript
StandardIntegrityErrorCode StandardIntegrityTokenRequest_setRequestHash(
  StandardIntegrityTokenRequest *request,
  const char *request_hash
)
```  
Sets a request hash in a StandardIntegrityTokenRequest; the integrity token will be bound to this request hash.

It is recommended but not required.

|                                                                                                                                          Details                                                                                                                                           ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |----------------|----------------------------------------------------------------------| | `request`      | The StandardIntegrityTokenRequest for which to set the request hash. | | `request_hash` | A request hash to bind the integrity token to. string.               | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR on success; any other value indicates that an error has occurred due to invalid arguments.                                                                                                                                                        |

### StandardIntegrityTokenRequest_setVerdictOptOut

```scdoc
StandardIntegrityErrorCode StandardIntegrityTokenRequest_setVerdictOptOut(
  StandardIntegrityTokenRequest *request,
  std::set< int > verdict_opt_out
)
```  
Sets a set of verdicts that should be opted out when requesting the token.

Any verdicts specified here will be unevaluated.

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `request`         | The StandardIntegrityTokenRequest for which to set the verdict opt out.                                                                                                                                                                                                                                                                                                                                                                     | | `verdict_opt_out` | A set of integrity token verdicts that should be opted-out. See[https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/StandardIntegrityVerdictOptOut.html](https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/StandardIntegrityVerdictOptOut)for more information about the supported codes for opting out from verdicts. set. | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR on success; any other value indicates that an error has occurred due to invalid arguments.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

### StandardIntegrityToken_destroy

```scdoc
void StandardIntegrityToken_destroy(
  StandardIntegrityToken *token
)
```  
Releases the specified StandardIntegrityToken and any references it holds.

<br />

|                                                            Details                                                            ||
|------------|-------------------------------------------------------------------------------------------------------------------|
| Parameters | |---------|--------------------------------------------| | `token` | A StandardIntegrityToken response to free. | |

### StandardIntegrityToken_getDialogResponseCode

```scdoc
StandardIntegrityErrorCode StandardIntegrityToken_getDialogResponseCode(
  StandardIntegrityToken *token,
  IntegrityDialogResponseCode *out_response_code
)
```  
Gets the response code for the dialog shown by StandardIntegrityToken_showDialog.

**[Deprecated.](https://developer.android.com/reference/native/play/core/deprecated/deprecated)** Use[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)to show dialogs and[StandardIntegrityDialogResponse_getResponseCode()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gad39220bcfb8632501c84f55bb1b4a194)to get the response code instead.

|                                                                                                                                                                                                                                                              Details                                                                                                                                                                                                                                                              ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------------|----------------------------------------------------------------------------------------------------------------------------------------------| | `token`             | The StandardIntegrityToken for which to get status.                                                                                          | | `out_response_code` | An out parameter for receiving the IntegrityDialogResponseCode. This is set if the call to StandardIntegrityToken_showDialog was successful. | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if StandardIntegrityToken_showDialog was successful; any other value indicates an error that has occurred while showing the dialog or requesting the dialog response code.                                                                                                                                                                                                                                                                                                               |

### StandardIntegrityToken_getIsRemediable

```scdoc
StandardIntegrityErrorCode StandardIntegrityToken_getIsRemediable(
  StandardIntegrityToken *token,
  bool *out_is_remediable
)
```  
Checks if the error associated with a given StandardIntegrityToken is remediable.

An error is considered remediable if the user can potentially fix the underlying issue by taking action through a dialog shown by the Integrity API. This function helps determine if calling the[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)is appropriate.

The function's return value indicates the status of the check operation itself. The boolean result of whether the error is remediable is returned via the 'out_is_remediable' output parameter.

For more details on error remediation, please see the Play Integrity API documentation:<https://developer.android.com/google/play/integrity/remediation>

**See also:** [StandardIntegrityToken_getStatus](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1ga97b0175d97d1d896be78e63efc37f490)

|                                                                                                                                                                                                                                                                                                                                                               Details                                                                                                                                                                                                                                                                                                                                                                ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `token`             | The StandardIntegrityToken for which to check. Must not be NULL.                                                                                                                                              | | `out_is_remediable` | Output parameter to receive the boolean result. Must not be NULL. Set to true if the error is remediable, false otherwise. This value is only meaningful if the function returns STANDARD_INTEGRITY_NO_ERROR. | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if the check was performed successfully. An IntegrityErrorCode value indicating an error during the check itself (e.g., invalid arguments like NULL pointers).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

### StandardIntegrityToken_getStatus

```scdoc
StandardIntegrityErrorCode StandardIntegrityToken_getStatus(
  StandardIntegrityToken *token,
  IntegrityResponseStatus *out_status
)
```  
Gets the status of an ongoing StandardIntegrityTokenProvider_request asynchronous operation.

<br />

|                                                                                                                          Details                                                                                                                          ||
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |--------------|-------------------------------------------------------------| | `token`      | The StandardIntegrityToken for which to get status.         | | `out_status` | An out parameter for receiving the IntegrityResponseStatus. | |
| **Returns** | STANDARD_INTEGRITY_NO_ERROR if the request is successful or in progress; any other value indicates an error that has occurred while requesting token.                                                                                        |

### StandardIntegrityToken_getToken

```gdscript
const char * StandardIntegrityToken_getToken(
  StandardIntegrityToken *token
)
```  
Gets the token retrieved by a completed StandardIntegrityTokenProvider_request asynchronous operation, returns null pointer otherwise.

The string returned here is owned by the API, and the pointer will be valid until the corresponding StandardIntegrityToken is freed by calling StandardIntegrityToken_destroy.

|                                                                           Details                                                                            ||
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |---------|-----------------------------------------------------------| | `token` | A StandardIntegrityToken response to retrieve token from. | |
| **Returns** | A token which contains the response for the integrity related enquiries.                                                                        |

### StandardIntegrityToken_showDialog

```carbon
StandardIntegrityErrorCode StandardIntegrityToken_showDialog(
  StandardIntegrityToken *token,
  jobject android_activity,
  int typeCode
)
```  
Displays a dialog to the user.

This method can only be called once per Integrity API response.**See also:** [StandardIntegrityToken_getDialogResponseCode](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gaa2136402a75fa557edc0184954170bf0)**[Deprecated.](https://developer.android.com/reference/native/play/core/deprecated/deprecated)** Use[StandardIntegrityManager_showDialog()](https://developer.android.com/reference/native/play/core/group/integrity#group__integrity_1gab4329fb2558f5171ed096c486479af25)instead.

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ||
|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Parameters  | |--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `token`            | The StandardIntegrityToken for which to show the dialog.                                                                                                                                                                | | `android_activity` | The Android Activity to show the dialog on.                                                                                                                                                                             | | `typeCode`         | determines which Integrity Dialog type should be shown. See<https://developer.android.com/google/play/integrity/reference/com/google/android/play/core/integrity/model/IntegrityDialogTypeCode>for the supported types. | |
| **Returns** | A StandardIntegrityErrorCode representing the result of the operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |