<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.pushtokens.html">pushtokens</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#remove">remove(body)</a></code></p>
<p class="firstline">Removes a push token for the current user and application. Removing a non-existent push token will report success.</p>
<p class="toc_element">
  <code><a href="#update">update(body)</a></code></p>
<p class="firstline">Registers a push token for the current user and application.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="remove">remove(body)</code>
  <pre>Removes a push token for the current user and application. Removing a non-existent push token will report success.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # This is a JSON template for a push token ID resource.
  "kind": "games#pushTokenId", # Uniquely identifies the type of this resource. Value is always the fixed string games#pushTokenId.
  "ios": { # A push token ID for iOS devices.
    "apns_device_token": "A String", # Device token supplied by an iOS system call to register for remote notifications. Encode this field as web-safe base64.
    "apns_environment": "A String", # Indicates whether this token should be used for the production or sandbox APNS server.
  },
}

</pre>
</div>

<div class="method">
    <code class="details" id="update">update(body)</code>
  <pre>Registers a push token for the current user and application.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # This is a JSON template for a push token resource.
    "kind": "games#pushToken", # Uniquely identifies the type of this resource. Value is always the fixed string games#pushToken.
    "clientRevision": "A String", # The revision of the client SDK used by your application, in the same format that's used by revisions.check. Used to send backward compatible messages. Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are:
        # - IOS - Push token is for iOS
    "id": { # This is a JSON template for a push token ID resource. # Unique identifier for this push token.
      "kind": "games#pushTokenId", # Uniquely identifies the type of this resource. Value is always the fixed string games#pushTokenId.
      "ios": { # A push token ID for iOS devices.
        "apns_device_token": "A String", # Device token supplied by an iOS system call to register for remote notifications. Encode this field as web-safe base64.
        "apns_environment": "A String", # Indicates whether this token should be used for the production or sandbox APNS server.
      },
    },
    "language": "A String", # The preferred language for notifications that are sent using this token.
  }

</pre>
</div>

</body></html>