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 toWenn 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:
implementation 'com.pushwoosh:pushwoosh-location:6.+'Um das Modul zu starten, verwenden Sie die startLocationTracking-Methode:
PushwooshLocation.startLocationTracking();PushwooshLocation.startLocationTracking()Verwendung von ForegroundService, um Standortanfragen zu stellen, wenn Ihre Anwendung im Hintergrund ist
Anchor link toUm 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 toFür die Aktualisierung der Geolokalisierung im Hintergrund ohne Start eines ForegroundService benötigen Sie Folgendes:
- Holen Sie die Genehmigung von Google Play für den Zugriff Ihrer App auf den Standort im Hintergrund ein (Details finden Sie unter https://support.google.com/googleplay/android-developer/answer/9799150?hl=de)
- Fügen Sie die Berechtigung zu Ihrer AndroidManifest.xml hinzu:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />- Fordern Sie die Erlaubnis des Benutzers zur Aktualisierung des Standorts im Hintergrund an, nachdem die Berechtigung für den Vordergrund-Standort erteilt wurde (Richtlinien finden Sie in der Android-Entwicklerdokumentation: https://developer.android.com/training/location/permissions#background-dialog-target-android-11 )
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_LOCATIONist in der AndroidManifest.xml der App vorhanden.
Rufen Sie die Methode wie folgt auf:
PushwooshLocation.requestBackgroundLocationPermission();PushwooshLocation.requestBackgroundLocationPermission()Android 12+ Berechtigungstypen
Anchor link toAb 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:
- Ungefährer Standort, was ACCESS_COARSE_LOCATION entspricht
- Genauer Standort, was ACCESS_FINE_LOCATION und ACCESS_COARSE_LOCATION entspricht
Teilen Sie Ihr Feedback mit uns
Anchor link toIhr 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.