位置情報サービスを必要とするアプリでは、Google Play 開発者サービスのLocation API / Context API を使用することをおすすめします。Framework Location API を使用しているアプリの場合は、最新の Google 機能を活用できるように、Google Play 開発者サービスに移行することが重要です。
アプリで位置情報サービスを利用する場合は、Google Play 開発者サービスの使用をおすすめします。その理由は以下のとおりです。
- Google Play 開発者サービスは、シンプルなインターフェースと洗練された API サーフェスを備えています。
- 望ましいサービス品質(QoS)を指定すると、API が自動的に基盤テクノロジーを管理します。
- Google Play Services API は、パフォーマンスと電池消費の両面で最適化されています。
- Google Play Services API は、積極的にメンテナンスが行われています。Google は、アルゴリズムの改善と機能の追加を継続的に推進しています。
アプリを更新する
Location API / Context API を使用するようにアプリを更新する手順は次のとおりです。
- プロジェクト内で Google Play 開発者サービスをセットアップします。
- Location Settings API を使用して、現在の位置情報の設定を検証します。
- Google Play 開発者サービスは、ジオフェンス、操作の認識、認知度などの複雑な機能に使用します。
- Framework Location API を使用している場合は、Fused Location Provider API に置き換えます。
- Framework Location API への参照を削除します。
プロジェクト内で Google Play 開発者サービスをセットアップする
プロジェクトで Loction API / Context API を利用できるようにするには、Google Maven リポジトリへの参照を追加して、必要な API に対する依存関係を宣言する必要があります。詳細については、Google Play 開発者サービスをセットアップするをご覧ください。
Location Settings API を使用する
Location Settings API を使用すれば、アプリで望ましい QoS レベルを提供できます。また、システム設定の必要な変更をユーザーにリクエストする際も API に任せられます。アプリで Location Settings API を使用する手順は次のとおりです。
- アプリ マニフェストで位置情報の利用許可をリクエストします。
- 望ましい QoS レベルを指定する
LocationRequest
オブジェクトをセットアップします。 - Location Settings API を使用して、現在の設定を確認します。
詳しくは、位置情報の設定を変更するをご覧ください。サンプルコードについては、Google Play Location サンプルをご覧ください。
複雑な機能に Google Play 開発者サービスを使用する
Google Play 開発者サービス ライブラリは、ユーザーの周囲のコンテキストと認知度に関する新しいユーザー エクスペリエンスの実装に役立ちます。各種の位置情報とコンテキスト ライブラリは、位置情報以外にも追加のセンサーを利用し、電力効率の良い方法で、バッテリー駆動時間への影響を軽減しながらアプリにより高精度なデータを提供します。
独自のカスタム ソリューションを作成する代わりに、これらのライブラリをアプリに組み込みます。
Framework Location API を Fused Location Provider API に置き換える
緯度と経度などの位置情報データを取得するには、Fused Location Provider API を使用できます。Framework Location API と同様に、Fused Location Provider API は Location
オブジェクトを使用して地理的位置を表します。この API は、位置情報の更新をリッスンする機能や、直近の位置情報を取得する機能を備えています。Fused Location Provider API はこうしたさまざまな機能を備えているので、アプリの他の部分に対する変更を最小限に抑えつつ、Framework Location API を使用するコンポーネントを置き換える候補として最適です。
直近の位置情報の取得は、デバイス上の任意のクライアントからリクエストされる位置情報データを使用する高速オペレーションであるため、多くのエクスペリエンスの良い出発点になります。定期的に位置情報をトラッキングする場合、アプリは位置情報の更新を定期的にリクエストできます。これにより、最新のデータを取得して、複雑なエクスペリエンスを提供することが可能になります。
Framework Location API への参照を削除する
com.google.android.location
パッケージ内のクラスへの参照を、com.google.android.gms.location
パッケージのクラスへの参照に置き換えます(ただし、Fused Location Provider API が使用する Location
クラスへの参照は除きます)。通常は、GPS や Wi-Fi などの各種プロバイダを管理するコンポーネントをアプリから削除できます。Location API / Context API は、それらのプロバイダを自動的に管理します。
アプリをテストする
最新バージョンの Google Play 開発者サービスを使用するアプリを実行するには、Play ストア アプリをインストールしたデバイスで Google アカウントにログインする必要があります。開発目的の場合は、以下のいずれかのオプションを使用できます。
- USB ケーブルを使用して開発環境に接続された物理デバイス。
- Play ストア アプリをインストールしたエミュレータ。
物理デバイスを開発環境に接続する方法については、ハードウェア デバイス上でアプリを実行するをご覧ください。Play ストア アプリをインストールしたエミュレータを作成する方法については、仮想デバイスを作成して管理するをご覧ください。