Standort verfolgen
Lernen Sie, wie Sie Standorte mit dem Braze SDK tracken können.
Aufzeichnung des aktuellen Standorts
Um den aktuellen Standort eines Nutzers:innen zu ermitteln, verwenden Sie die Geolocation APIs getCurrentPosition() Methode. Dadurch wird der Nutzer:in sofort aufgefordert, Tracking zuzulassen oder zu verbieten (sofern er dies nicht bereits getan hat).
1
2
3
4
5
6
7
8
9
10
11
12
13
import * as braze from "@braze/web-sdk";
function success(position) {
var coords = position.coords;
braze.getUser().setLastKnownLocation(
coords.latitude,
coords.longitude,
coords.accuracy,
coords.altitude,
coords.altitudeAccuracy
);
}
navigator.geolocation.getCurrentPosition(success);
Wenn nun Daten an Braze gesendet werden, kann das SDK das Land des Nutzers:innen anhand seiner IP-Adresse automatisch erkennen. Für weitere Informationen siehe setLastKnownLocation().
Kontinuierliches Tracking des Standorts
Um den Standort eines Nutzers während des Ladens einer Seite kontinuierlich zu verfolgen, verwenden Sie die Geolocation API’s watchPosition() Methode. Wenn Sie diese Methode aufrufen, wird der Nutzer:in sofort aufgefordert, das Tracking zuzulassen oder zu verbieten (es sei denn, er hat dies bereits getan).
Bei Opt-in wird nun bei jedem Update des Standorts ein Callback für den Erfolg aufgerufen.
1
2
3
4
5
6
7
8
9
10
11
12
function success(position) {
var coords = position.coords;
braze.getUser().setLastKnownLocation(
coords.latitude,
coords.longitude,
coords.accuracy,
coords.altitude,
coords.altitudeAccuracy
);
}
navigator.geolocation.watchPosition(success);

Um zu erfahren, wie Sie das kontinuierliche Tracking deaktivieren können, lesen Sie die Mozilla Entwickler:in.
Aufzeichnung des aktuellen Standorts
Auch wenn das kontinuierliche Tracking deaktiviert ist, können Sie den aktuellen Standort der Nutzer:innen manuell mit der Methode setLastKnownLocation() aufzeichnen.
1
2
3
4
5
6
Braze.getInstance(context).getCurrentUser(new IValueCallback<BrazeUser>() {
@Override
public void onSuccess(BrazeUser brazeUser) {
brazeUser.setLastKnownLocation(LATITUDE_DOUBLE_VALUE, LONGITUDE_DOUBLE_VALUE, ALTITUDE_DOUBLE_VALUE, ACCURACY_DOUBLE_VALUE);
}
}
1
2
3
Braze.getInstance(context).getCurrentUser { brazeUser ->
brazeUser.setLastKnownLocation(LATITUDE_DOUBLE_VALUE, LONGITUDE_DOUBLE_VALUE, ALTITUDE_DOUBLE_VALUE, ACCURACY_DOUBLE_VALUE)
}
Kontinuierliches Standort-Tracking

Ab Android Marshmallow müssen Sie Ihre Nutzer:innen auffordern, dem Standort-Tracking ausdrücklich per Opt-in zuzustimmen. Sobald dies geschehen ist, kann Braze zu Beginn der nächsten Sitzung mit dem Tracking ihres Standorts beginnen. Dies unterscheidet sich von früheren Android-Versionen, bei denen lediglich die Angabe von Standortberechtigungen in Ihrer AndroidManifest.xml erforderlich war.
Um den Standort von Nutzer:innen kontinuierlich zu tracken, müssen Sie die Absicht Ihrer App, Standortdaten zu erfassen, deklarieren, indem Sie mindestens eine der folgenden Berechtigungen zu Ihrer AndroidManifest.xml-Datei hinzufügen.
| Berechtigung | Beschreibung |
|---|---|
ACCESS_COARSE_LOCATION |
Verwendet den batterieeffizientesten, nicht-GPS-basierten Anbieter (z. B. ein Heimnetzwerk). In der Regel reicht dies für die meisten Anforderungen an Standortdaten aus. Im Rahmen des Laufzeit-Berechtigungsmodells wird durch die Erteilung der Standortberechtigung implizit auch die Erfassung präziser Standortdaten genehmigt. |
ACCESS_FINE_LOCATION |
Enthält GPS-Daten für eine genauere Standortbestimmung. Im Rahmen des Laufzeit-Berechtigungsmodells umfasst die Erteilung der Standortberechtigung auch den Zugriff auf präzise Standortdaten. |
Ihre AndroidManifest.xml sollte in etwa so aussehen:
1
2
3
4
5
6
7
8
<manifest ... >
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application ... >
...
</application>
</manifest>
Deaktivieren des kontinuierlichen Trackings
Sie können das kontinuierliche Tracking zur Kompilierungszeit oder zur Laufzeit deaktivieren.
Um das kontinuierliche Standort-Tracking zur Kompilierungszeit zu deaktivieren, setzen Sie com_braze_enable_location_collection in braze.xml auf false:
1
<bool name="com_braze_enable_location_collection">false</bool>
Um das kontinuierliche Standort-Tracking zur Laufzeit selektiv zu deaktivieren, verwenden Sie BrazeConfig:
1
2
3
4
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setIsAutomaticLocationCollectionEnabled(false)
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
val brazeConfig = BrazeConfig.Builder()
.setIsAutomaticLocationCollectionEnabled(false)
.build()
Braze.configure(this, brazeConfig)
Aufzeichnung des aktuellen Standorts
Schritt 1: Konfigurieren Sie Ihr Projekt

Wenn Sie die Braze-Features für Standorte verwenden, muss Ihre App die Erlaubnis zur Nutzung der Standortdienste anfordern. Lesen Sie unbedingt Apple Entwickler:in: Anfrage zur Autorisierung von Standortdiensten für Nutzer:innen.
Um das Standort-Tracking zu aktivieren, öffnen Sie Ihr Xcode-Projekt und wählen Sie Ihre App aus. Auf dem Tab Allgemein fügen Sie das Modul BrazeLocation hinzu.
Importieren Sie in Ihrer Datei AppDelegate.swift das Modul BrazeLocation, das sich am Anfang der Datei befindet. Fügen Sie der Braze-Konfiguration eine Instanz von BrazeLocationProvider hinzu. Stellen Sie sicher, dass alle Änderungen an der Konfiguration vor dem Aufruf von Braze(configuration:) vorgenommen werden. Die verfügbaren Konfigurationen finden Sie unter Braze.Configuration.Location.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import UIKit
import BrazeKit
import BrazeLocation
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
static var braze: Braze? = nil
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// Setup Braze
let configuration = Braze.Configuration(apiKey: brazeApiKey, endpoint: brazeEndpoint)
configuration.logger.level = .info
configuration.location.brazeLocationProvider = BrazeLocationProvider()
configuration.location.automaticLocationCollection = true
configuration.location.geofencesEnabled = true
configuration.location.automaticGeofenceRequests = true
let braze = Braze(configuration: configuration)
AppDelegate.braze = braze
return true
}
}
Importieren Sie in Ihrer Datei AppDelegate.m das Modul BrazeLocation, das sich am Anfang der Datei befindet. Fügen Sie der Braze-Konfiguration eine Instanz von BrazeLocationProvider hinzu. Stellen Sie sicher, dass alle Änderungen an der Konfiguration vor dem Aufruf von Braze(configuration:) vorgenommen werden. Die verfügbaren Konfigurationen finden Sie unter BRZConfigurationLocation.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#import "AppDelegate.h"
@import BrazeKit;
@import BrazeLocation;
@implementation AppDelegate
#pragma mark - Lifecycle
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Setup Braze
BRZConfiguration *configuration =
[[BRZConfiguration alloc] initWithApiKey:brazeApiKey
endpoint:brazeEndpoint];
configuration.logger.level = BRZLoggerLevelInfo;
configuration.location.brazeLocationProvider = [[BrazeLocationProvider alloc] init];
configuration.location.automaticLocationCollection = YES;
configuration.location.geofencesEnabled = YES;
configuration.location.automaticGeofenceRequests = YES;
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];
AppDelegate.braze = braze;
[self.window makeKeyAndVisible];
return YES;
}
#pragma mark - AppDelegate.braze
static Braze *_braze = nil;
+ (Braze *)braze {
return _braze;
}
+ (void)setBraze:(Braze *)braze {
_braze = braze;
}
@end
Schritt 2: Den Standort des Nutzers:innen protokollieren
Als nächstes protokollieren Sie den letzten bekannten Standort des Nutzers:innen in Braze. Die folgenden Beispiele gehen davon aus, dass Sie die Braze-Instanz als Variable in Ihrem AppDelegate zugewiesen haben.
1
2
AppDelegate.braze?.user.setLastKnownLocation(latitude:latitude,
longitude:longitude)
1
2
3
4
5
AppDelegate.braze?.user.setLastKnownLocation(latitude:latitude,
longitude:longitude,
altitude:altitude,
horizontalAccuracy:horizontalAccuracy,
verticalAccuracy:verticalAccuracy)
1
2
3
4
[AppDelegate.braze.user setLastKnownLocationWithLatitude:latitude
longitude:longitude
horizontalAccuracy:horizontalAccuracy];
1
2
3
4
5
6
[AppDelegate.braze.user setLastKnownLocationWithLatitude:latitude
longitude:longitude
horizontalAccuracy:horizontalAccuracy
altitude:altitude
verticalAccuracy:verticalAccuracy];

Für weitere Informationen siehe Braze.User.swift.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das React Native Braze SDK integrieren.
Festlegen des letzten bekannten Standorts
Um den letzten bekannten Standort einer Nutzer:in manuell festzulegen, verwenden Sie bitte diesetLastKnownLocationMethode. Dies ist nützlich, wenn Sie Standortdaten außerhalb des Braze SDK erfassen.
1
Braze.setLastKnownLocation(LATITUDE, LONGITUDE, ALTITUDE, HORIZONTAL_ACCURACY, VERTICAL_ACCURACY);
- Auf Android sind
latitudelongitudeund erforderlich.altitude,horizontalAccuracyundverticalAccuracysind optional. - Unter iOS sind ,
latitudelongitudehorizontalAccuracy, und erforderlich.altitudeundverticalAccuracysind optional.
Für plattformübergreifende Kompatibilität stellen Sie bitte horizontalAccuracymindestens ,longitude , und zur Verfügunglatitude.
Festlegen eines angepassten Standort-Attributs
Um ein angepasstes Attribut für den Standort in einem Nutzerprofil festzulegen, verwenden Sie bitte diesetLocationCustomAttributeMethode.
1
Braze.setLocationCustomAttribute("favorite_restaurant", 40.7128, -74.0060, optionalCallback);
Anfrage der Standortinitialisierung (nur Android)
Bitte rufen Sie diese FunktionrequestLocationInitialization auf, nachdem eine Nutzer:in Standortberechtigungen erteilt hat, um die Standort-Features von Braze auf Android zu initialisieren. Diese Methode wird unter iOS nicht unterstützt und ist für Geofence- oder Standort-Features unter iOS nicht erforderlich.
1
Braze.requestLocationInitialization();
Geofences
Geofences werden sowohl auf iOS als auch auf Android unterstützt. Standardmäßig kann das Braze SDK automatisch Geofences anfragen und überwachen, wenn der Standort verfügbar ist. Bei den meisten Integrationen können Sie sich auf diese automatische Konfiguration verlassen.
Geofencing manuell anfordern
Um manuell ein Geofence-Update für eine bestimmte GPS-Koordinate anzufordern, verwenden Sie bitterequestGeofences . Dies ist sowohl für iOS als auch für Android verfügbar. Wenn Sie diese Methode verwenden, deaktivieren Sie bitte die automatischen Geofence-Anfragen in Ihrer nativen Konfiguration, damit das SDK Ihre manuellen Anfragen nicht überschreibt.
1
Braze.requestGeofences(LATITUDE, LONGITUDE);