Use this page with AI
Copy this into your coding assistant and add your request.
Read https://openiap.dev/docs/types/app-ownership-verification and https://openiap.dev/llms.txt. Follow the reading instructions, detailed reference, and linked guides relevant to my task before making changes.
Inspect my existing project and reuse its framework and conventions. Ask me for missing product decisions. Implement the requested behavior and run the applicable checks.
Show the working result, the commands and actual test results, and any remaining limitations. Keep your explanation brief.
My request: [describe what customers should be able to do]
See an example request →App Ownership Verification Types
Input and result types for verifyAppOwnership. Enum values are shown as their wire strings.
PlayIntegrityParamsAndroid#
Standard Play Integrity request bound to a backend challenge.
| Name | Type | Summary |
|---|
cloudProjectNumber | string | Positive decimal string identifying the app's Google Cloud project. Use the project number, not the project ID or a secret key. |
requestHash | string | Nonempty digest of a backend challenge and the request being protected, at most 500 UTF-8 bytes. Hash sensitive inputs; do not include them as plaintext. |
AppOwnershipVerificationResult#
| Name | Type | Summary |
|---|
status | AppOwnershipStatus | The verdict. Unknown is inconclusive, never a denial. |
storeId | string | Store producing the result, such as apple or play. |
reason | AppOwnershipVerificationReason? | Why the result is unknown. |
appTransactionIOS | AppTransaction? | Verified AppTransaction metadata on Apple platforms. |
signedAppTransactionIOS | string? | Signed app transaction JWS for backend verification. This is separate from an in-app purchase JWS. |
integrityTokenAndroid | string? | Encrypted Play Integrity token. Send it to your backend without decoding or trusting it in the app. |
AppOwnershipStatus#
| Value | Meaning |
|---|
'licensed' | The store verified the app acquisition. |
'unlicensed' | The store reports no valid acquisition, such as a revoked one. |
'unknown' | No trustworthy decision is available. Never treat it as unlicensed. |
AppOwnershipVerificationReason#
| Value | Meaning |
|---|
'backend-verification-required' | Evidence was collected; your backend must verify it. Play always returns this with a token, and Apple returns it from builds that cannot check revocation locally. |
'verification-failed' | The store evidence could not be verified on the device. |
'network-error' | The store could not be reached. |
'service-error' | The store service failed, throttled the request, or timed out. |
'unsupported' | This runtime or store cannot verify app ownership. |