<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="games_v1.html">Google Play Game Services</a> . <a href="games_v1.applications.html">applications</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="#get">get(applicationId, platformType=None, language=None, x__xgafv=None)</a></code></p>
<p class="firstline">Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified `platformType`, the returned response will not include any instance data.</p>
<p class="toc_element">
  <code><a href="#played">played(x__xgafv=None)</a></code></p>
<p class="firstline">Indicate that the currently authenticated user is playing your application.</p>
<p class="toc_element">
  <code><a href="#verify">verify(applicationId, x__xgafv=None)</a></code></p>
<p class="firstline">Verifies the auth token provided with this request is for the application with the specified ID, and returns the ID of the player it was granted for.</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="get">get(applicationId, platformType=None, language=None, x__xgafv=None)</code>
  <pre>Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified `platformType`, the returned response will not include any instance data.

Args:
  applicationId: string, The application ID from the Google Play developer console. (required)
  platformType: string, Restrict application details returned to the specific platform.
    Allowed values
      PLATFORM_TYPE_UNSPECIFIED - Default value, don&#x27;t use.
      ANDROID - Retrieve applications that can be played on Android.
      IOS - Retrieve applications that can be played on iOS.
      WEB_APP - Retrieve applications that can be played on desktop web.
  language: string, The preferred language to use for strings returned by this method.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The Application resource.
    &quot;kind&quot;: &quot;A String&quot;, # Uniquely identifies the type of this resource. Value is always the fixed string `games#application`.
    &quot;assets&quot;: [ # The assets of the application.
      { # An image asset object.
        &quot;width&quot;: 42, # The width of the asset.
        &quot;kind&quot;: &quot;A String&quot;, # Uniquely identifies the type of this resource. Value is always the fixed string `games#imageAsset`.
        &quot;height&quot;: 42, # The height of the asset.
        &quot;url&quot;: &quot;A String&quot;, # The URL of the asset.
        &quot;name&quot;: &quot;A String&quot;, # The name of the asset.
      },
    ],
    &quot;name&quot;: &quot;A String&quot;, # The name of the application.
    &quot;leaderboard_count&quot;: 42, # The number of leaderboards visible to the currently authenticated player.
    &quot;author&quot;: &quot;A String&quot;, # The author of the application.
    &quot;enabledFeatures&quot;: [ # A list of features that have been enabled for the application.
      &quot;A String&quot;,
    ],
    &quot;instances&quot;: [ # The instances of the application.
      { # The Instance resource.
        &quot;webInstance&quot;: { # The Web details resource. # Platform dependent details for Web.
          &quot;preferred&quot;: True or False, # Indicates that this instance is the default for new installations.
          &quot;kind&quot;: &quot;A String&quot;, # Uniquely identifies the type of this resource. Value is always the fixed string `games#instanceWebDetails`.
          &quot;launchUrl&quot;: &quot;A String&quot;, # Launch URL for the game.
        },
        &quot;name&quot;: &quot;A String&quot;, # Localized display name.
        &quot;acquisitionUri&quot;: &quot;A String&quot;, # URI which shows where a user can acquire this instance.
        &quot;kind&quot;: &quot;A String&quot;, # Uniquely identifies the type of this resource. Value is always the fixed string `games#instance`.
        &quot;androidInstance&quot;: { # The Android instance details resource. # Platform dependent details for Android.
          &quot;enablePiracyCheck&quot;: True or False, # Flag indicating whether the anti-piracy check is enabled.
          &quot;kind&quot;: &quot;A String&quot;, # Uniquely identifies the type of this resource. Value is always the fixed string `games#instanceAndroidDetails`.
          &quot;packageName&quot;: &quot;A String&quot;, # Android package name which maps to Google Play URL.
          &quot;preferred&quot;: True or False, # Indicates that this instance is the default for new installations.
        },
        &quot;platformType&quot;: &quot;A String&quot;, # The platform type.
        &quot;realtimePlay&quot;: True or False, # Flag to show if this game instance supports realtime play.
        &quot;iosInstance&quot;: { # The iOS details resource. # Platform dependent details for iOS.
          &quot;preferredForIpad&quot;: True or False, # Indicates that this instance is the default for new installations on iPad devices.
          &quot;itunesAppId&quot;: &quot;A String&quot;, # iTunes App ID.
          &quot;bundleIdentifier&quot;: &quot;A String&quot;, # Bundle identifier.
          &quot;supportIphone&quot;: True or False, # Flag to indicate if this instance supports iPhone.
          &quot;preferredForIphone&quot;: True or False, # Indicates that this instance is the default for new installations on iPhone devices.
          &quot;kind&quot;: &quot;A String&quot;, # Uniquely identifies the type of this resource. Value is always the fixed string `games#instanceIosDetails`.
          &quot;supportIpad&quot;: True or False, # Flag to indicate if this instance supports iPad.
        },
        &quot;turnBasedPlay&quot;: True or False, # Flag to show if this game instance supports turn based play.
      },
    ],
    &quot;themeColor&quot;: &quot;A String&quot;, # A hint to the client UI for what color to use as an app-themed color. The color is given as an RGB triplet (e.g. &quot;E0E0E0&quot;).
    &quot;id&quot;: &quot;A String&quot;, # The ID of the application.
    &quot;category&quot;: { # An application category object. # The category of the application.
      &quot;secondary&quot;: &quot;A String&quot;, # The secondary category.
      &quot;kind&quot;: &quot;A String&quot;, # Uniquely identifies the type of this resource. Value is always the fixed string `games#applicationCategory`.
      &quot;primary&quot;: &quot;A String&quot;, # The primary category.
    },
    &quot;achievement_count&quot;: 42, # The number of achievements visible to the currently authenticated player.
    &quot;lastUpdatedTimestamp&quot;: &quot;A String&quot;, # The last updated timestamp of the application.
    &quot;description&quot;: &quot;A String&quot;, # The description of the application.
  }</pre>
</div>

<div class="method">
    <code class="details" id="played">played(x__xgafv=None)</code>
  <pre>Indicate that the currently authenticated user is playing your application.

Args:
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
</pre>
</div>

<div class="method">
    <code class="details" id="verify">verify(applicationId, x__xgafv=None)</code>
  <pre>Verifies the auth token provided with this request is for the application with the specified ID, and returns the ID of the player it was granted for.

Args:
  applicationId: string, The application ID from the Google Play developer console. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A third party application verification response resource.
    &quot;kind&quot;: &quot;A String&quot;, # Uniquely identifies the type of this resource. Value is always the fixed string `games#applicationVerifyResponse`.
    &quot;player_id&quot;: &quot;A String&quot;, # The ID of the player that was issued the auth token used in this request.
    &quot;alternate_player_id&quot;: &quot;A String&quot;, # An alternate ID that was once used for the player that was issued the auth token used in this request. (This field is not normally populated.)
  }</pre>
</div>

</body></html>