Zu Standort- und Kontext-APIs der Google Play-Dienste migrieren

Google empfiehlt, in Apps, die Standortdienste benötigen, die Standort- und Kontext-APIs in den Google Play-Diensten zu verwenden. Wenn Ihre App die Framework-Standort-APIs verwendet, ist es wichtig, zu Google Play-Diensten zu migrieren, um die neuesten Google-basierten Funktionen nutzen zu können.

Die Verwendung der Google Play-Dienste ist die bevorzugte Option, um Standortdienste in Ihre App einzubinden. Das hat folgende Gründe:

  1. Die Google Play-Dienste bieten eine einfache Schnittstelle und eine übersichtlichere API.
  2. Sie geben die gewünschte Servicequalität an und die APIs verwalten die zugrunde liegenden Technologien für Sie.
  3. Die Google Play-Dienste-APIs sind für Leistung und Akkunutzung optimiert.
  4. Die APIs der Google Play-Dienste werden aktiv gewartet. Google verbessert die Algorithmen ständig und fügt weitere Funktionen hinzu.

App aktualisieren

In den folgenden Schritten wird beschrieben, wie Sie eine App aktualisieren, damit sie die Standort- und Kontext-APIs verwendet:

  1. Google Play-Dienste in Ihrem Projekt einrichten
  2. Verwenden Sie die Location Settings API, um die aktuellen Standorteinstellungen zu validieren.
  3. Verwenden Sie die Google Play-Dienste für komplexe Funktionen wie Geofencing, Aktivitätserkennung und Awareness.
  4. Ersetzen Sie die Verwendung der Framework-Standort-API durch die Fused Location Provider API.
  5. Entfernen Sie Verweise auf die Framework-Location API.

Google Play-Dienste in Ihrem Projekt einrichten

Damit die Standort- und Kontext-APIs für Ihr Projekt verfügbar sind, müssen Sie einen Verweis auf das Google Maven-Repository hinzufügen und eine Abhängigkeit von den erforderlichen APIs deklarieren. Weitere Informationen finden Sie unter Google Play-Dienste einrichten.

Location Settings API verwenden

Durch die Verwendung der API für Standorteinstellungen können Apps das gewünschte QoS-Niveau bereitstellen und die API fordert den Nutzer auf, die entsprechenden Änderungen an den Systemeinstellungen vorzunehmen. So verwenden Sie die Location Settings API in Ihrer App:

  1. Berechtigungen zur Standortermittlung im App-Manifest anfordern.
  2. Richten Sie ein LocationRequest-Objekt ein, das die gewünschte QoS-Ebene angibt.
  3. Verwenden Sie die API für Standorteinstellungen, um die aktuellen Einstellungen zu prüfen.

Weitere Informationen finden Sie unter Standorteinstellungen ändern oder im Google Play-Standortbeispielcode.

Google Play-Dienste für komplexe Funktionen verwenden

Mit den Google Play-Dienste-Bibliotheken können Sie innovative Nutzererlebnisse rund um den Kontext und die Umgebung des Nutzers implementieren. Die verschiedenen Bibliotheken für Standort und Kontext nutzen zusätzliche Sensoren, die über den Standort hinausgehen, und zwar auf energieeffiziente Weise. So erhalten Sie genauere Daten für Ihre App und der Akku wird weniger belastet.

Verwenden Sie diese Bibliotheken in Ihrer App, anstatt eigene benutzerdefinierte Lösungen zu schreiben:

Framework-Standort-API durch die Fused Location Provider API ersetzen

Mit der Fused Location Provider API können Sie Standortdaten wie Breiten- und Längengrad abrufen. Die API des Anbieters für kombinierte Standortbestimmung verwendet wie die Location Framework API ein Location-Objekt, um den geografischen Standort darzustellen. Die API bietet Funktionen, mit denen Sie auf Standortaktualisierungen warten und den letzten bekannten Standort abrufen können. All diese Funktionen machen die Fused Location Provider API zu einem guten Kandidaten für den Ersatz der Komponenten, die die Framework-Standort-API verwenden, wobei nur minimale Änderungen am Rest der App erforderlich sind.

Den letzten bekannten Standort abzurufen ist für viele Anwendungen ein guter Ausgangspunkt, da es sich um einen schnellen Vorgang handelt, bei dem Standortdaten verwendet werden, die von einem beliebigen Client auf dem Gerät angefordert wurden. Wenn Ihre App regelmäßig den Standort erfassen soll, kann sie Standortupdates abonnieren. Dadurch werden aktuelle Daten bereitgestellt und komplexere Funktionen ermöglicht.

Verweise auf die Framework-Standort-API entfernen

Ersetzen Sie Verweise auf Klassen im Paket com.google.android.location durch Klassen aus dem Paket com.google.android.gms.location, mit Ausnahme von Verweisen auf die Klasse Location, die von der Fused Location Provider API verwendet wird. In der Regel können Sie die Komponenten, die die verschiedenen Anbieter wie GPS und WLAN verwalten, aus Ihrer App entfernen. Die Standort- und Kontext-APIs verwalten diese Anbieter automatisch.

App testen

Wenn Sie eine App ausführen möchten, die die aktuelle Version der Google Play-Dienste verwendet, benötigen Sie ein Gerät, auf dem die Play Store App installiert ist und auf dem ein Google-Konto angemeldet ist. Für Entwicklungszwecke haben Sie folgende Möglichkeiten:

  • Ein physisches Gerät, das über ein USB-Kabel mit Ihrer Entwicklungsumgebung verbunden ist.
  • Ein Emulator, auf dem die Play Store App installiert ist.

Weitere Informationen zum Verbinden eines physischen Geräts mit Ihrer Entwicklungsumgebung finden Sie unter Apps auf einem Hardwaregerät ausführen. Informationen zum Erstellen eines Emulators, der die Play Store App enthält, finden Sie unter Virtuelle Geräte erstellen und verwalten.