Skip to content


Standorte und Geofences

Zur Unterstützung von Geofences für iOS:

  1. Ihre Integration muss Push-Benachrichtigungen im Hintergrund unterstützen.
  2. Braze Geofences müssen über das SDK aktiviert werden – entweder implizit durch Aktivieren der Standorterfassung oder explizit durch Aktivieren der Geofence-Erfassung. Sie sind standardmäßig nicht aktiviert.

Schritt 1: Hintergrund-Push aktivieren

Um unsere Geofence-Synchronisierungsstrategie vollständig nutzen zu können, müssen Sie Hintergrund-Push aktiviert haben, zusätzlich zur Durchführung der Standard-Push-Integration.

Schritt 2: Geofences aktivieren

Standardmäßig werden Geofences basierend darauf aktiviert, ob die automatische Standorterfassung aktiviert ist. Sie können Geofences über die Info.plist-Datei aktivieren. Fügen Sie das Braze-Wörterbuch zu Ihrer Info.plist-Datei hinzu. Fügen Sie innerhalb des Braze-Wörterbuchs den booleschen Untereintrag EnableGeofences hinzu und setzen Sie den Wert auf YES. Beachten Sie, dass vor dem Braze iOS SDK v4.0.2 der Wörterbuchschlüssel Appboy anstelle von Braze verwendet werden muss.

Sie können Geofences auch beim App-Start über die Methode startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions aktivieren. Setzen Sie im appboyOptions-Wörterbuch ABKEnableGeofencesKey auf YES. Zum Beispiel:

1
2
3
4
[Appboy startWithApiKey:@"YOUR-API_KEY"
          inApplication:application
      withLaunchOptions:options
      withAppboyOptions:@{ ABKEnableGeofencesKey : @(YES) }];
1
2
3
4
Appboy.start(withApiKey: "YOUR-API-KEY",
                 in:application,
                 withLaunchOptions:launchOptions,
                 withAppboyOptions:[ ABKEnableGeofencesKey : true ])

Schritt 3: Braze-Hintergrund-Push überprüfen

Braze synchronisiert Geofences mit Geräten über Push-Benachrichtigungen im Hintergrund. Lesen Sie den Artikel zur iOS-Anpassung, um sicherzustellen, dass Ihre Anwendung bei Empfang von Braze-Geofence-Synchronisierungsbenachrichtigungen keine ungewünschten Aktionen ausführt.

Schritt 4: NSLocationAlwaysUsageDescription zu Ihrer Info.plist hinzufügen

Fügen Sie den Schlüssel NSLocationAlwaysUsageDescription und NSLocationAlwaysAndWhenInUseUsageDescription zu Ihrer info.plist mit einem String-Wert hinzu, der beschreibt, warum Ihre Anwendung den Standort tracken muss. Beide Schlüssel sind ab iOS 11 erforderlich. Diese Beschreibung wird angezeigt, wenn die Standortberechtigung vom System angefordert wird, und sollte Ihren Nutzer:innen die Vorteile des Standort-Trackings klar erläutern.

Schritt 5: Autorisierung der Nutzer:innen anfordern

Die Geofence-Funktion ist nur verfügbar, wenn die Standortberechtigung Always erteilt wurde.

Um die Standortberechtigung Always anzufordern, verwenden Sie den folgenden Code:

1
2
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
[locationManager requestAlwaysAuthorization];
1
2
var locationManager = CLLocationManager()
locationManager.requestAlwaysAuthorization()

Schritt 6: Geofences im Dashboard aktivieren

iOS erlaubt nur die Speicherung von bis zu 20 Geofences für eine bestimmte App. Die Verwendung von Standorten belegt einige dieser 20 verfügbaren Geofence-Slots. Um versehentliche oder unerwünschte Störungen anderer Geofence-bezogener Funktionen in Ihrer App zu vermeiden, müssen Standort-Geofences für einzelne Apps im Dashboard aktiviert werden.

Damit Standorte korrekt funktionieren, sollten Sie außerdem sicherstellen, dass Ihre App nicht alle verfügbaren Geofence-Slots belegt.

Geofences über die Standortseite aktivieren:

Die Geofence-Optionen auf der Braze-Standortseite.

Geofences über die Einstellungsseite aktivieren:

Das Geofence-Kontrollkästchen auf den Braze-Einstellungsseiten.

Automatische Geofence-Anfragen deaktivieren

Ab iOS SDK Version 3.21.3 können Sie die automatische Anforderung von Geofences deaktivieren. Sie können dies über die Datei Info.plist tun. Fügen Sie das Braze-Wörterbuch zu Ihrer Info.plist-Datei hinzu. Fügen Sie innerhalb des Braze-Wörterbuchs den booleschen Untereintrag DisableAutomaticGeofenceRequests hinzu und setzen Sie den Wert auf YES.

Sie können automatische Geofence-Anfragen auch beim App-Start über die Methode startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions deaktivieren. Setzen Sie im appboyOptions-Wörterbuch ABKDisableAutomaticGeofenceRequestsKey auf YES. Zum Beispiel:

1
2
3
4
[Appboy startWithApiKey:@"YOUR-API_KEY"
          inApplication:application
      withLaunchOptions:options
      withAppboyOptions:@{ ABKDisableAutomaticGeofenceRequestsKey : @(YES) }];
1
2
3
4
Appboy.start(withApiKey: "YOUR-API-KEY",
                 in:application,
                 withLaunchOptions:launchOptions,
                 withAppboyOptions:[ ABKDisableAutomaticGeofenceRequestsKey : true ])

Wenn Sie diese Option verwenden, müssen Sie Geofences manuell anfordern, damit das Feature funktioniert.

Geofences manuell anfordern

Wenn das Braze SDK Geofences zur Überwachung vom Backend anfordert, meldet es den aktuellen Standort der Nutzer:innen und empfängt Geofences, die basierend auf dem gemeldeten Standort als optimal relevant bestimmt wurden. Es gibt ein Rate-Limit von einer Geofence-Aktualisierung pro Sitzung.

Um den Standort zu steuern, den das SDK meldet, um die relevantesten Geofences zu erhalten, können Sie ab iOS SDK Version 3.21.3 Geofences manuell anfordern, indem Sie den Breiten- und Längengrad eines Standorts angeben. Es wird empfohlen, automatische Geofence-Anfragen zu deaktivieren, wenn Sie diese Methode verwenden. Verwenden Sie dazu den folgenden Code:

1
2
[[Appboy sharedInstance] requestGeofencesWithLongitude:longitude
                                              latitude:latitude];
1
Appboy.sharedInstance()?.requestGeofences(withLongitude: longitude, latitude: latitude)
New Stuff!