blob: 3aa9d5a6c9469ceb54ebbd92400a549c96021295 [file] [log] [blame] [edit]
<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.
&quot;integrityToken&quot;: &quot;A String&quot;, # 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.
&quot;tokenPayloadExternal&quot;: { # Contains basic app information and integrity signals like device attestation and licensing details. # Plain token payload generated from the decoded integrity token.
&quot;accountDetails&quot;: { # Contains the account information such as the licensing status for the user in the scope. # Required. Details about the Play Store account.
&quot;accountActivity&quot;: { # (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.
&quot;activityLevel&quot;: &quot;A String&quot;, # Required. Indicates the activity level of the account.
},
&quot;appLicensingVerdict&quot;: &quot;A String&quot;, # Required. Details about the licensing status of the user for the app in the scope.
},
&quot;appIntegrity&quot;: { # Contains the application integrity information. # Required. Details about the application integrity.
&quot;appRecognitionVerdict&quot;: &quot;A String&quot;, # Required. Details about the app recognition verdict
&quot;certificateSha256Digest&quot;: [ # The SHA256 hash of the requesting app&#x27;s signing certificates (base64 web-safe encoded). Set iff app_recognition_verdict != UNEVALUATED.
&quot;A String&quot;,
],
&quot;packageName&quot;: &quot;A String&quot;, # Package name of the application under attestation. Set iff app_recognition_verdict != UNEVALUATED.
&quot;versionCode&quot;: &quot;A String&quot;, # Version code of the application. Set iff app_recognition_verdict != UNEVALUATED.
},
&quot;deviceIntegrity&quot;: { # Contains the device attestation information. # Required. Details about the device integrity.
&quot;deviceAttributes&quot;: { # 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.
&quot;sdkVersion&quot;: 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&#x27;t be set if a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar.
},
&quot;deviceRecall&quot;: { # Contains the recall bits per device set by the developer. # Details about the device recall bits set by the developer.
&quot;values&quot;: { # Contains the recall bits values. # Required. Contains the recall bits values.
&quot;bitFirst&quot;: True or False, # Required. First recall bit value.
&quot;bitSecond&quot;: True or False, # Required. Second recall bit value.
&quot;bitThird&quot;: True or False, # Required. Third recall bit value.
},
&quot;writeDates&quot;: { # Contains the recall bits write dates. # Required. Contains the recall bits write dates.
&quot;yyyymmFirst&quot;: 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the first bit. Note that this value won&#x27;t be set if the first bit is false.
&quot;yyyymmSecond&quot;: 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the second bit. Note that this value won&#x27;t be set if the second bit is false.
&quot;yyyymmThird&quot;: 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the third bit. Note that this value won&#x27;t be set if the third bit is false.
},
},
&quot;deviceRecognitionVerdict&quot;: [ # Details about the integrity of the device the app is running on.
&quot;A String&quot;,
],
&quot;legacyDeviceRecognitionVerdict&quot;: [ # 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.
&quot;A String&quot;,
],
&quot;recentDeviceActivity&quot;: { # 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.
&quot;deviceActivityLevel&quot;: &quot;A String&quot;, # Required. Indicates the activity level of the device.
},
},
&quot;environmentDetails&quot;: { # Contains information about the environment Play Integrity API runs in, e.g. Play Protect verdict. # Details of the environment Play Integrity API runs in.
&quot;appAccessRiskVerdict&quot;: { # 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.
&quot;appsDetected&quot;: [ # List of detected app types signalled for App Access Risk.
&quot;A String&quot;,
],
},
&quot;playProtectVerdict&quot;: &quot;A String&quot;, # The evaluation of Play Protect verdict.
},
&quot;requestDetails&quot;: { # Contains the integrity request information. # Required. Details about the integrity request.
&quot;nonce&quot;: &quot;A String&quot;, # Nonce that was provided in the request (which is base64 web-safe no-wrap).
&quot;requestHash&quot;: &quot;A String&quot;, # Request hash that was provided in the request.
&quot;requestPackageName&quot;: &quot;A String&quot;, # 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.
&quot;timestampMillis&quot;: &quot;A String&quot;, # Required. Timestamp, in milliseconds, of the integrity application request.
},
&quot;testingDetails&quot;: { # 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.
&quot;isTestingResponse&quot;: 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.
&quot;integrityToken&quot;: &quot;A String&quot;, # 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.
&quot;tokenPayloadExternal&quot;: { # Contains PC device attestation details. # Plain token payload generated from the decoded integrity token.
&quot;accountDetails&quot;: { # 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.
&quot;appLicensingVerdict&quot;: &quot;A String&quot;, # Required. Details about the licensing status of the user for the app in the scope.
},
&quot;deviceIntegrity&quot;: { # Contains the device attestation information. # Required. Details about the device integrity.
&quot;deviceRecognitionVerdict&quot;: [ # Details about the integrity of the device the app is running on.
&quot;A String&quot;,
],
},
&quot;requestDetails&quot;: { # Contains the integrity request information. # Required. Details about the integrity request.
&quot;requestHash&quot;: &quot;A String&quot;, # Request hash that was provided in the request.
&quot;requestPackageName&quot;: &quot;A String&quot;, # Required. Application package name this attestation was requested for. Note: This field makes no guarantees or promises on the caller integrity.
&quot;requestTime&quot;: &quot;A String&quot;, # Required. Timestamp, of the integrity application request.
},
&quot;testingDetails&quot;: { # 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.
&quot;isTestingResponse&quot;: True or False, # Indicates that the information contained in this payload is a testing response that is statically overridden for a tester.
},
},
}</pre>
</div>
</body></html>