Android x Google Play Services #1 概要とセットアップ

google_play_services_eyecatch

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Google Play Services を使いこなしたい

先日の Google I/O 2013 で Google Play Services のアップデートが発表されました。

Social Gaming, Location, and More in Google Play Services | Android Developers Blog

新しい API やこれまで Google Play Services に含まれていなかった API など、さまざまな機能を持つ API が追加されました。簡単に位置情報や徒歩なのかドライブ中なのか行動が取得できる Location API、 iOS の GameCenter 的な、ソーシャル&クラウドな Google Play Game Services、 新しい GCM 、Google+ サインイン…
などといったような感じです。アプリに組み込みたくなるような API ばかりですね!

いろいろな機能がてんこ盛りな Google Play Services がアプリで使えるようになると、アプリの機能の幅がどどーんと広がります。ぜひとも使いこなせるようになりたいですね。とはいうものの、筆者も全然追いついておりません。。
ということで「Google Play Services」について改めて一から学んでいきたいと思います!まず第1回目は Google Play Services にはどんな機能があり、どういう形でアプリに組み込むかまとめてみました。

何ができるのか?

まず始めに Google Play Services にはどのような API があり、どのようなことができるのか、機能を知っておく必要があると思います。各 API の機能の概要をざっくりとまとめてみました!

Location API

位置情報を取得する API です。主に以下の3つの機能を使うことができます。

Fused location provider

シンプルな位置情報 API です。GPS、モバイル回線(3G, LTE)、Wi-Fi などを使って正確な位置を測定することができます。消費電力の削減がなされており、以前よりも電力消費が少なくなっているようです。

Geofencing APIs

ある範囲の中の出入りを取得できる API です。チェックイン・チェックアウト的なことができると思われます。

Activity recognition

ユーザが歩いているか、走っているか、自転車に乗っているか、ドライブ中かといった行動の情報を取得できる API です。

Google Play Games Services

ゲームに使うことを目的として作られた API です。ゲームデータの保存やマルチプレイ用の API などがあります。ゲームアプリに限定せず、ゲーミフィケーションアプリにも使えそうです。

Achievements

ゲームのさまざまな実績を記録・取得することができます。iOS の GameCenter Achievement や PlayStation のトロフィーのような機能を作ることができます。

Cloud Save

ゲームデータを Google Play Games Services が管理するストレージに記録することができます。4つの 128K のデータブロックに記録できるそうです。

Leaderboards

ユーザーの得点を記録し、ゲームプレイランキングをつけることができます。

Multiplayer

Google+ の複数人のプレイヤーと同時にゲームをすることができます。

Google+ Platform

Google Play Games Services から Google+ のプラットフォーム上で利用可能なすべての機能 (シェアやフレンドリスト取得など) にアクセスすることができます。

Google+ API

Google+ API は Google の SNS 「Google+」と連携するための API です。 Google+ へのサインインやシェア機能などを実装することができます。国内では Facebook ほど利用率は少ないですが、世界から見ると Google+ を利用している人は多いので、グローバル向けのアプリで使えそうですね。

Google Maps

Google Map を使うための API です。アプリ内に簡単に Google Map を組み込むことができます。Google Map を操作するさまざまな API (ピンの設置、現在位置の変更、アングルの切り替えなど) を利用することができます。

Google Cloud Messaging

Google Cloud Messaging (通称GCM) はアプリにメッセージをプッシュ配信するための API です。アプリを起動していなくてもサーバーからメッセージを配信することができます。

In-App Billing API

In-App Billing API は Google が提供するアプリ内課金サービスを呼び出す API です。ゲームアプリによく使われるアイテム課金などが実装できます。

Google Play Services をアプリに組み込む

ということで Google Play Services SDK を Android アプリに組み込んでみたいと思います。

ADT Bundle (Eclipse) の場合

Eclipse で開発したい場合、まずは Android SDK Manager で Google Play Services SDK をインストールします。

google_play_services01

Google Play Services SDK のインストール先は <android-sdk-home>/extras/google/google_play_services です。このフォルダ内の libproject/google-play-services_lib がライブラリプロジェクトになっているのでインポートします。

google_play_services02

あとはこのプロジェクトをライブラリとして設定して完了です!

google_play_services03

Android Studio (IntelliJ IDEA) の場合

Android Studio (IntelliJ IDEA) で開発したい場合には、まずは Android SDK Manager で Google Repository と Android Support Repository をインストールします。

google_play_services04

あとは Android プロジェクトの build.gradledependencies に以下を追加します。

dependencies {
    compile 'com.google.android.gms:play-services:3.1.36'
    compile 'com.android.support:support-v4:13.0.0'
}

また minSdkVersion を 8 以上にしましょう。デフォルトでは 7 になっており、このままではビルドできないので注意してください。変更しなければならないのは AndroidManifest.xmlbuild.gradle のファイルです。build.gradleandroid を以下のようにします。

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}

そして「Sync Project with Gradle Files」ボタンをクリックし、プロジェクトを再構成したら完了です!

google_play_services05

うまくいかない場合は以下のコマンドを打って再ビルドしましょう。

./gradlew clean build

まとめ

第1回目は Google Play Services で何ができるか、そして SDK の導入方法を解説しました。基本はこの手順を踏まえた上でさまざまな API を利用していくようになります。次回以降は各 API の詳細な実装方法について学んでいきたいと思います。

本記事は調査しながらまとめています。認識違いをしている部分があればご指摘いただけると幸いです。

参考