1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
|
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="playintegrity_v1.html">Google Play Integrity API</a> . <a href="playintegrity_v1.v1.html">v1</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
<code><a href="#decodeIntegrityToken">decodeIntegrityToken(packageName, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Decodes the integrity token and returns the token payload.</p>
<p class="toc_element">
<code><a href="#decodePcIntegrityToken">decodePcIntegrityToken(packageName, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Decodes the PC integrity token and returns the PC token payload.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="close">close()</code>
<pre>Close httplib2 connections.</pre>
</div>
<div class="method">
<code class="details" id="decodeIntegrityToken">decodeIntegrityToken(packageName, body=None, x__xgafv=None)</code>
<pre>Decodes the integrity token and returns the token payload.
Args:
packageName: string, Package name of the app the attached integrity token belongs to. (required)
body: object, The request body.
The object takes the form of:
{ # Request to decode the integrity token.
"integrityToken": "A String", # Encoded integrity token.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response containing the decoded integrity payload.
"tokenPayloadExternal": { # Contains basic app information and integrity signals like device attestation and licensing details. # Plain token payload generated from the decoded integrity token.
"accountDetails": { # Contains the account information such as the licensing status for the user in the scope. # Required. Details about the Play Store account.
"accountActivity": { # (Restricted Access) Contains a signal helping apps differentiating between likely genuine and likely non-genuine user traffic. # (Restricted Access) Details about the account activity for the user in the scope.
"activityLevel": "A String", # Required. Indicates the activity level of the account.
},
"appLicensingVerdict": "A String", # Required. Details about the licensing status of the user for the app in the scope.
},
"appIntegrity": { # Contains the application integrity information. # Required. Details about the application integrity.
"appRecognitionVerdict": "A String", # Required. Details about the app recognition verdict
"certificateSha256Digest": [ # The SHA256 hash of the requesting app's signing certificates (base64 web-safe encoded). Set iff app_recognition_verdict != UNEVALUATED.
"A String",
],
"packageName": "A String", # Package name of the application under attestation. Set iff app_recognition_verdict != UNEVALUATED.
"versionCode": "A String", # Version code of the application. Set iff app_recognition_verdict != UNEVALUATED.
},
"deviceIntegrity": { # Contains the device attestation information. # Required. Details about the device integrity.
"deviceAttributes": { # Contains information about the device for which the integrity token was generated, e.g. Android SDK version. # Attributes of the device where the integrity token was generated.
"sdkVersion": 42, # Android SDK version of the device, as defined in the public Android documentation: https://developer.android.com/reference/android/os/Build.VERSION_CODES. It won't be set if a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar.
},
"deviceRecall": { # Contains the recall bits per device set by the developer. # Details about the device recall bits set by the developer.
"values": { # Contains the recall bits values. # Required. Contains the recall bits values.
"bitFirst": True or False, # Required. First recall bit value.
"bitSecond": True or False, # Required. Second recall bit value.
"bitThird": True or False, # Required. Third recall bit value.
},
"writeDates": { # Contains the recall bits write dates. # Required. Contains the recall bits write dates.
"yyyymmFirst": 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the first bit. Note that this value won't be set if the first bit is false.
"yyyymmSecond": 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the second bit. Note that this value won't be set if the second bit is false.
"yyyymmThird": 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the third bit. Note that this value won't be set if the third bit is false.
},
},
"deviceRecognitionVerdict": [ # Details about the integrity of the device the app is running on.
"A String",
],
"legacyDeviceRecognitionVerdict": [ # Contains legacy details about the integrity of the device the app is running on. Only for devices with Android version T or higher and only for apps opted in to the new verdicts. Only available during the transition period to the new verdicts system and will be removed afterwards.
"A String",
],
"recentDeviceActivity": { # Recent device activity can help developers identify devices that have exhibited hyperactive attestation activity, which could be a sign of an attack or token farming. # Details about the device activity of the device the app is running on.
"deviceActivityLevel": "A String", # Required. Indicates the activity level of the device.
},
},
"environmentDetails": { # Contains information about the environment Play Integrity API runs in, e.g. Play Protect verdict. # Details of the environment Play Integrity API runs in.
"appAccessRiskVerdict": { # Contains signals about others apps on the device which could be used to access or control the requesting app. # The evaluation of the App Access Risk verdicts.
"appsDetected": [ # List of detected app types signalled for App Access Risk.
"A String",
],
},
"playProtectVerdict": "A String", # The evaluation of Play Protect verdict.
},
"requestDetails": { # Contains the integrity request information. # Required. Details about the integrity request.
"nonce": "A String", # Nonce that was provided in the request (which is base64 web-safe no-wrap).
"requestHash": "A String", # Request hash that was provided in the request.
"requestPackageName": "A String", # Required. Application package name this attestation was requested for. Note: This field makes no guarantees or promises on the caller integrity. For details on application integrity, check application_integrity.
"timestampMillis": "A String", # Required. Timestamp, in milliseconds, of the integrity application request.
},
"testingDetails": { # Contains additional information generated for testing responses. # Indicates that this payload is generated for testing purposes and contains any additional data that is linked with testing status.
"isTestingResponse": True or False, # Required. Indicates that the information contained in this payload is a testing response that is statically overridden for a tester.
},
},
}</pre>
</div>
<div class="method">
<code class="details" id="decodePcIntegrityToken">decodePcIntegrityToken(packageName, body=None, x__xgafv=None)</code>
<pre>Decodes the PC integrity token and returns the PC token payload.
Args:
packageName: string, Package name of the app the attached integrity token belongs to. (required)
body: object, The request body.
The object takes the form of:
{ # Request to decode the PC integrity token.
"integrityToken": "A String", # Encoded integrity token.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response containing the decoded PC integrity payload.
"tokenPayloadExternal": { # Contains PC device attestation details. # Plain token payload generated from the decoded integrity token.
"accountDetails": { # Contains the account information such as the licensing status for the user in the scope. # Details about the account information such as the licensing status.
"appLicensingVerdict": "A String", # Required. Details about the licensing status of the user for the app in the scope.
},
"deviceIntegrity": { # Contains the device attestation information. # Required. Details about the device integrity.
"deviceRecognitionVerdict": [ # Details about the integrity of the device the app is running on.
"A String",
],
},
"requestDetails": { # Contains the integrity request information. # Required. Details about the integrity request.
"requestHash": "A String", # Request hash that was provided in the request.
"requestPackageName": "A String", # Required. Application package name this attestation was requested for. Note: This field makes no guarantees or promises on the caller integrity.
"requestTime": "A String", # Required. Timestamp, of the integrity application request.
},
},
}</pre>
</div>
</body></html>
|