<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 API</a> . <a href="games_v1.applications.html">applications</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(applicationId, language=None, consistencyToken=None, platformType=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(consistencyToken=None)</a></code></p>
<p class="firstline">Indicate that the the currently authenticated user is playing your application.</p>
<p class="toc_element">
  <code><a href="#verify">verify(applicationId, consistencyToken=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="get">get(applicationId, language=None, consistencyToken=None, platformType=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)
  language: string, The preferred language to use for strings returned by this method.
  consistencyToken: string, The last-seen mutation timestamp.
  platformType: string, Restrict application details returned to the specific platform.
    Allowed values
      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.

Returns:
  An object of the form:

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

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

Args:
  consistencyToken: string, The last-seen mutation timestamp.
</pre>
</div>

<div class="method">
    <code class="details" id="verify">verify(applicationId, consistencyToken=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)
  consistencyToken: string, The last-seen mutation timestamp.

Returns:
  An object of the form:

    { # This is a JSON template for a third party application verification response resource.
    "player_id": "A String", # The ID of the player that was issued the auth token used in this request.
    "kind": "games#applicationVerifyResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#applicationVerifyResponse.
    "alternate_player_id": "A String", # 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>