page.title=Google Cloud Messaging for Android
page.tags=gcm
header.hide=1
@jd:body


<div class="landing-banner">

<div class="col-5" style="min-height:100px">
  <img src="{@docRoot}images/gcm/gcm-logo.png" />
</div>
<div class="col-7">

  <h1 itemprop="name" style="margin-bottom:0;">Google Cloud Messaging for Android</h1>
  <p itemprop="description">
  Google Cloud Messaging for Android (GCM) is a service that allows you to send data
from your server to your users' Android-powered device, and also to receive messages from
devices on the same connection. The GCM service handles all aspects of queueing of messages
and delivery to the target Android application running on the target device. GCM is
completely free no matter how big your messaging needs are, and there are no quotas.
</p>

</div>
</div>

<div class="landing-docs">
  <div class="col-6 normal-links">
    <h3 style="clear:left">Key Developer Features</h3>
    <h4>Send data from your server to users' Android-powered devices</h4>
    <p>This could be a lightweight
message telling your app there is new data to be fetched from the
server (for instance, a movie uploaded by a friend), or it could be a message containing
up to 4kb of payload data (so apps like instant messaging can consume the message directly).
<a href="{@docRoot}google/gcm/gcm.html">GCM Architectural Overview.</a></p>

    <h4>Send "send-to-sync" messages</h4>
    <p>A send-to-sync (collapsible) message is often a "tickle" that tells a mobile
    application to sync data from the server. For example, suppose you have an email
    application. When a user receives new email on the server, the server pings the mobile
    application with a "New mail" message. This tells the application to sync to the server
    to pick up the new email.
    <a href="{@docRoot}google/gcm/adv.html#s2s">Learn more &raquo;</a></p>

    <h4>Send messages with payload</h4>
    <p>Unlike a send-to-sync message, every "message with payload" (non-collapsible message)
    is delivered. The payload the message contains can be up to 4kb.
    <a href="{@docRoot}google/gcm/adv.html#payload">Learn more &raquo;</a></p>
  </div>


  <div class="col-6 normal-links">
    <h3 style="clear:left">New Features</h3>



    <h4>Return Receipts</h4>
    <p>You can use upstream messaging to get receipt notifications, confirming that a given
    message was sent to a device. Your 3rd-party app server receives the receipt notification
    from CCS once the message has been sent to the device.
    <a href="{@docRoot}google/gcm/ccs.html#receipts">Learn more &raquo;</a></p>


   <h4>Get Started</h4>
    <p>Get started with a tutorial that walks you through creating a GCM app.
    <a href="{@docRoot}google/gcm/gs.html">Learn more &raquo;</a></p>
  </div>

</div>


