View on GitHub
mixi-inc/AndroidTraining
Google Play Services
この章では、Google Play が提供する各種 API 群である Google Play Services について解説します。

目次

Location API

Google Play が提供する、位置情報の API 群です。

Fused Location Provider

新しい位置情報 API で、携帯回線、WiFi、GPSによる正確な測位と、消費電力の削減を実現しつつ、シンプルな API を提供しています。
開発者は、測位システムの詳細を知る必要はなく、API で提供されているインタフェースに沿ってプログラムを書くことで、位置情報を得ることが出来るようになります。

Geofencing API

新しい位置情報 API で、ユーザが特定の範囲の位置(ジオフェンス)に入ったり、そこから出たりしたことを知る為の API です。

Activity Recognition

ユーザの行動認識の為の API で、止まっている、歩いている、走っている、自転車に乗っている、自動車に乗っている、などといった行動認識が実現出来ます。

Games API

ゲーム用途に特化した API です。
ゲーム向けの様々な API が用意されていますが、純粋なゲームにかぎらず、ゲーミフィケーションアプリにも用いることができます。

Cloud Save

Achievement

LeaderBoard

Google Plus API

Google+ との連携をするための API です。

In-App Billing API(アプリ内課金)

Googleによるアプリ内課金サービスの事で、現在最新のバージョンは v3 です。

アプリ内課金仕組みの図

Google Playの課金体験を自分のアプリ内で提供する事になるので、

  • Google Playから配信されているアプリに限る
  • Googleのサーバーとの通信が発生し有効なネットワーク接続が必要
  • Google Play Serviceの有無とバージョンに依存する
  • API >= 2.2 という制限があります。 また、
  • 払い戻しはありません
  • Google Walletを使って手動で対応しなければならない
  • デジタルグッズの販売にしか使えない
  • 物理的な品物やリアルなサービス等は販売できません
  • 課金(決済)のみを管理します
  • 購入の結果(機能の有効化、ポイントの加算等)は自分で実装します
  • 課金対象のアイテムはアプリ間での共通化は不可能
  • one app one item

ちなみにGoogle Playで配信するアプリ内でGoogle Playを通らないで課金する事はグーグルの規約に禁止されています。

Subscription(定期購入)にも対応している。

商品追加・管理

Developer console( http://play.google.com/apps/publish )上で行います。 詳しいフローはこちら http://developer.android.com/google/play/billing/billing_admin.html に纏まっています。

商品の追加は、UIからいちいち行うかcsvでバッチ追加できます。 ユーザにはpublishedに設定された商品しか見えません。 商品の種類という設定としては、

  • Managed per user account: ユーザアカウントに紐付かれて、Google Playが管理します(購入履歴を保存したり)
  • Unmanaged: 購入されて配信されたら、サービス側では忘れる商品(Google Playは管理しない)
  • Subscription: 定期的に決済される商品 があります。

Reference

Exercise

ベースのコードを編集し、アプリ内課金APIを使ってボタンクリックに該当アクションを行って、その結果をshowResultで表示する様にして下さい。「IMP here」というコメントは実装開始点のヒントです。

solutionディレクトリに実装の提案が置いてあります。