
Das AppboyKit (auch bekannt als Objective-C SDK) wird nicht mehr unterstützt und wurde durch das Swift SDK. ] ersetzt. Es wird keine neuen Features, Fehlerbehebungen, Sicherheitsupdates oder technischen Support mehr erhalten - Messaging und Analytics werden jedoch weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie unter Einführung in das neue Braze Swift SDK.
Standorte und Geofences
Zur Unterstützung von Geofences für iOS:
- Ihre Integration muss Push-Benachrichtigungen im Hintergrund unterstützen.
- 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.

Ab iOS 14 funktionieren Geofences nicht mehr zuverlässig für Nutzer:innen, die lediglich ihren ungefähren Standort freigeben.
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:

Geofences über die Einstellungsseite aktivieren:

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)