Zum Inhalt springen

Verwendung des Pushwoosh-Standortmoduls in Android-Apps

Es gibt zwei Kategorien für den Standortzugriff in Android:

  • Vordergrund-Standortzugriff
  • Hintergrund-Standortzugriff

Für die Aktualisierung des Benutzerstandorts im Vordergrund muss eine der folgenden Bedingungen erfüllt sein:

  • Eine der Aktivitäten der App ist aktiv
  • Ein Vordergrunddienst vom Typ foregroundServiceType = “location” wird für die App gestartet

Der Hintergrund-Zugriff ermöglicht es der App, die Geolokalisierung des Benutzers abzurufen, während die App inaktiv ist und keine Vordergrunddienste vom Typ „location“ für diese App gestartet sind.

Vordergrund-Standortzugriff

Anchor link to

Wenn Sie das Pushwoosh-Standortmodul verwenden möchten, um den Standort des Benutzers nur zu aktualisieren, wenn Ihre App aktiv ist, fügen Sie das pushwoosh-location-Modul zu Ihrer app/build.gradle hinzu:

build.gradle
implementation 'com.pushwoosh:pushwoosh-location:6.+'

Um das Modul zu starten, verwenden Sie die startLocationTracking-Methode:

PushwooshLocation.startLocationTracking();

Verwendung von ForegroundService, um Standortanfragen zu stellen, wenn Ihre Anwendung im Hintergrund ist

Anchor link to

Um den ForegroundService zu starten, wenn die startLocationTracking-Methode aufgerufen wird, was es ermöglicht, die Geolokalisierung des Benutzers abzurufen, wenn Ihre Anwendung im Hintergrund ist, folgen Sie den im vorherigen Abschnitt beschriebenen Schritten und fügen Sie dann die folgenden Metadaten zu Ihrer AndroidManifest.xml hinzu:

...
<application>
....
<meta-data
android:name="com.pushwoosh.start_foreground_service"
android:value="true" />
...
</application>
...

Wenn der ForegroundService gestartet wird, wird eine Benachrichtigung erstellt. Sie können die Benachrichtigung anpassen, indem Sie zusätzliche Metadaten in der AndroidManifest.xml Ihres Projekts angeben:

...
<application>
....
<meta-data
android:name="com.pushwoosh.foreground_service_notification_text"
android:value="My notification text" />
<meta-data
android:name="com.pushwoosh.foreground_service_notification_channel_name"
android:value="My notification channel name" />
...
</application>
...

Hintergrund-Standortzugriff

Anchor link to

Für die Aktualisierung der Geolokalisierung im Hintergrund ohne Start eines ForegroundService benötigen Sie Folgendes:

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

In der Version 6.3.2 des pushwoosh-location-Moduls haben wir eine zusätzliche Methode hinzugefügt, die den Bildschirm für die Standortberechtigungseinstellungen öffnet, wenn die folgenden Bedingungen erfüllt sind:

  • Die App hat die Berechtigung für den Vordergrund-Standort erhalten;
  • Die Benutzerberechtigung ACCESS_BACKGROUND_LOCATION ist in der AndroidManifest.xml der App vorhanden.

Rufen Sie die Methode wie folgt auf:

PushwooshLocation.requestBackgroundLocationPermission();

Android 12+ Berechtigungstypen

Anchor link to

Ab Android 12 kann ein Benutzer bei der Abfrage der Berechtigung für den Vordergrund-Standortzugriff wählen, wie oft und mit welcher Genauigkeit die App den Standort des Benutzers abrufen soll.

Es gibt zwei Arten dieser Berechtigungen:

  1. Ungefährer Standort, was ACCESS_COARSE_LOCATION entspricht
  2. Genauer Standort, was ACCESS_FINE_LOCATION und ACCESS_COARSE_LOCATION entspricht

Teilen Sie Ihr Feedback mit uns

Anchor link to

Ihr Feedback hilft uns, eine bessere Erfahrung zu schaffen. Wir würden uns daher freuen, von Ihnen zu hören, wenn Sie während des SDK-Integrationsprozesses auf Probleme stoßen. Wenn Sie auf Schwierigkeiten stoßen, zögern Sie bitte nicht, uns Ihre Gedanken über dieses Formular mitzuteilen.