page.title=Google Services
footer.hide=1
@jd:body

<p>
  Google offers a variety of services that help you build new revenue streams, enhance your app's
  capabilities, manage distribution and payloads, and track usage and installs. 
  The sections below highlight some of the services offered by Google and link you to more information about
  how to use them in your Android app.
</p>
<h2 id="monetization">
  Monetize your app
</h2>
<p>
  There are many ways to monetize your Android app, such as with ad impressions or In-App billing. If you
  choose to charge a price to download your app, Android also provides the ability to check
  for valid application licenses to protect your revenue. Because different apps require
  different strategies, you can pick which ones are best for your app.
</p>
<div class="vspace size-1">
  &nbsp;
</div>
<div class="layout-content-row">
  <div class="layout-content-col span-4">
    <h4>
      Google AdMob Ads
    </h4>
    <p>
      Generate revenue by displaying ads in your app with multiple ad networks.
    </p><a href="http://www.google.com/ads/admob/index.html">Learn more &raquo;</a>
  </div>
  <div class="layout-content-col span-4">
    <h4>
      In-App Billing
    </h4>
    <p>
      Engage users by offering features such as new content or virtual goods directly in your app.
    </p><a href="{@docRoot}guide/google/play/billing/index.html">Learn more &raquo;</a>
  </div>
  <div class="layout-content-col span-4">
    <h4>
      Application Licensing
    </h4>
    <p>Protect your revenue streams and integrate policies for usage into your a
pp.
    </p><a href="{@docRoot}guide/google/play/licensing/index.html">Learn more &raquo;</a>
  </div>
</div>
<h2 id="integration">
  Enhance Your App's Capabilities
</h2>
<p>
  Android and Google technologies work together to provide your users with compelling interactions
  with technologies such as Maps and Google+.
</p>
<div class="vspace size-1">
  &nbsp;
</div>
<div class="layout-content-row">
  <div class="layout-content-col span-4">
    <h4>
      Google Play Services
    </h4><img src="{@docRoot}images/play_dev.png">
    <p>
      Leverage Google products in your app with an easy to use authentication flow for your users.
    </p><a href="{@docRoot}guide/google/play/services.html">Learn more &raquo;</a>
  </div>
  <div class="layout-content-col span-4">
    <h4>
      Google Cloud Messaging
    </h4><img src="{@docRoot}images/gcm/gcm-logo.png" width="150px" style="padding:9px;">
    <p>
      Notify your apps of important events with messages that are lightweight and battery-saving.
    </p><a href="{@docRoot}guide/google/gcm/index.html">Learn more &raquo;</a>
  </div>
  <div class="layout-content-col span-4">
    <h4>
      Google Maps
    </h4><img src="{@docRoot}images/google-apis.png">
    <p>
      The Google Maps library for Android brings powerful mapping capabilities to your app.
    </p><a href="https://developers.google.com/android/add-ons/google-apis/index">Learn more
    &raquo;</a>
  </div>
</div>
<h2 id="integration">
  Manage App Distribution
</h2>
<p>
  Google Play allows you to manage your app distribution with features that let you control which users
  can download your app as well as deliver separate versions of your app based on certain
  characteristics like platform version.
</p>
<div class="vspace size-1">
  &nbsp;
</div>
<div class="layout-content-row">
  <div class="layout-content-col span-4">
    <h4>
      Filters on Google Play
    </h4>
    <p>
      Make sure your app gets to the right users by filtering on a wide range of characteristics
      such as platform versions and hardware features.
    </p><a href="{@docRoot}guide/google/play/filters.html">Learn more &raquo;</a>
  </div>
  <div class="layout-content-col span-4">
    <h4>
      Multiple APK Support
    </h4>
    <p>
      Distribute different APKs based on a variety of properties such as platform version, screen
      size, and GLES texture compression support.
    </p><a href="{@docRoot}guide/google/play/publishing/multiple-apks.html">Learn more &raquo;</a>
  </div>
  <div class="layout-content-col span-4">
    <h4>
      APK Expansion files
    </h4>
    <p>
      Tap into Google's content delivery services by serving up to 4GB of assets for free. Provide
      users with high-fidelity graphics, media files, or other large assets that are required by
      your app.
    </p><a href="{@docRoot}guide/google/play/expansion-files.html">Learn more &raquo;</a>
  </div>
</div>
<h2 id="integration">
  Track Performance with Analytics
</h2>
<p>
  Google Analytics let you find out how users find your apps and how they use them. Start
  integrating analytics to measure your app's success.
</p><a href="https://developers.google.com/analytics/devguides/collection/android/">Learn more
&raquo;</a>
