
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.
Push-Integration
1. Schritt: Laden Sie Ihr APNs-Token hoch
Bevor Sie eine iOS Push-Benachrichtigung mit Braze versenden können, müssen Sie Ihre .p8 Push-Benachrichtigungsdatei hochladen, wie beschrieben in der Entwickler:in Dokumentation von Apple:
- Gehen Sie in Ihrem Apple Entwickler-Account zu Zertifikate, Bezeichner & Profile.
- Wählen Sie unter Schlüssel die Option Alle und klicken Sie auf die Schaltfläche Hinzufügen (+) in der oberen rechten Ecke.
- Geben Sie unter Schlüsselbeschreibung einen eindeutigen Namen für den Signierschlüssel ein.
- Aktivieren Sie unter Wichtige Dienste das Kontrollkästchen Apple Push Notification Service (APNs) und klicken Sie dann auf Weiter. Klicken Sie auf Bestätigen.
- Notieren Sie sich die ID des Schlüssels. Klicken Sie auf Download, um den Schlüssel zu generieren und herunterzuladen. Stellen Sie sicher, dass Sie die heruntergeladene Datei an einem sicheren Ort speichern, da Sie sie nur einmal herunterladen können.
- Gehen Sie in Braze zu Einstellungen > App-Einstellungen und laden Sie die Datei
.p8unter Apple Push Certificate hoch. Sie können entweder Ihr Entwicklungs- oder Ihr Produktions-Push-Zertifikat hochladen. Um Push-Benachrichtigungen zu testen, nachdem Ihre App live im App Store ist, empfiehlt es sich, einen separaten Arbeitsbereich für die Entwicklungsversion Ihrer App einzurichten. - Wenn Sie dazu aufgefordert werden, geben Sie die Bundle ID, die Key ID und die Team ID Ihrer App ein. Sie müssen auch angeben, ob die Benachrichtigungen an die Entwicklungs- oder die Produktionsumgebung Ihrer App gesendet werden sollen, die durch ihr Bereitstellungsprofil definiert ist.
- Wenn Sie fertig sind, wählen Sie Speichern.
2. Schritt: Push-Funktionen aktivieren
Vergewissern Sie sich in Ihren Projekteinstellungen, dass auf dem Tab Capabilities die Funktion Push Notifications aktiviert ist.

Wenn Sie über getrennte Push-Zertifikate für Entwicklung und Produktion verfügen, müssen Sie auf dem Tab General das Kontrollkästchen Automatically manage signing deaktivieren. Auf diese Weise können Sie für jede Build-Konfiguration unterschiedliche Bereitstellungsprofile wählen, da das Feature zur automatischen Code-Signierung in Xcode nur für die Entwicklung gilt.

3. Schritt: Für Push-Benachrichtigungen registrieren
Das entsprechende Code-Beispiel muss in der Delegate-Methode application:didFinishLaunchingWithOptions: Ihrer App enthalten sein, damit sich das Gerät Ihrer Nutzer:innen bei APNs registrieren kann. Stellen Sie sicher, dass Sie den gesamten Code für die Push-Integration im Hauptthread Ihrer Anwendung aufrufen.
Braze bietet auch Standard-Push-Kategorien für die Unterstützung von Push-Action-Buttons, die manuell zu Ihrem Code für die Push-Registrierung hinzugefügt werden müssen. Weitere Schritte zur Integration finden Sie unter Push-Action-Buttons.

Wenn Sie einen angepassten Push-Prompt wie in unseren Best Practices für Push-Benachrichtigungen beschrieben implementiert haben, stellen Sie sicher, dass Sie den folgenden Code jedes Mal aufrufen, wenn die App ausgeführt wird, nachdem die Push-Berechtigungen für Ihre App erteilt wurden. Apps müssen sich bei APNs neu registrieren, da sich Geräte-Token beliebig ändern können.
UserNotification-Framework verwenden (iOS 10+)
Wenn Sie das in iOS 10 eingeführte Framework UserNotifications verwenden (empfohlen), fügen Sie den folgenden Code zur Methode application:didFinishLaunchingWithOptions: Ihres App-Delegaten hinzu.

Das folgende Code-Beispiel enthält die Integration für die vorläufige Push-Authentifizierung (Zeilen 5 und 6). Wenn Sie nicht vorhaben, eine vorläufige Autorisierung in Ihrer App zu verwenden, können Sie die Zeilen des Codes entfernen, die UNAuthorizationOptionProvisional zu den requestAuthorization-Optionen hinzufügen.
In den iOS-Benachrichtigungsoptionen erfahren Sie mehr über die vorläufige Push-Authentifizierung.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max) {
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
center.delegate = self;
UNAuthorizationOptions options = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
if (@available(iOS 12.0, *)) {
options = options | UNAuthorizationOptionProvisional;
}
[center requestAuthorizationWithOptions:options
completionHandler:^(BOOL granted, NSError * _Nullable error) {
[[Appboy sharedInstance] pushAuthorizationFromUserNotificationCenter:granted];
}];
[[UIApplication sharedApplication] registerForRemoteNotifications];
} else {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound) categories:nil];
[[UIApplication sharedApplication] registerForRemoteNotifications];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if #available(iOS 10, *) {
let center = UNUserNotificationCenter.current()
center.delegate = self as? UNUserNotificationCenterDelegate
var options: UNAuthorizationOptions = [.alert, .sound, .badge]
if #available(iOS 12.0, *) {
options = UNAuthorizationOptions(rawValue: options.rawValue | UNAuthorizationOptions.provisional.rawValue)
}
center.requestAuthorization(options: options) { (granted, error) in
Appboy.sharedInstance()?.pushAuthorization(fromUserNotificationCenter: granted)
}
UIApplication.shared.registerForRemoteNotifications()
} else {
let types : UIUserNotificationType = [.alert, .badge, .sound]
let setting : UIUserNotificationSettings = UIUserNotificationSettings(types:types, categories:nil)
UIApplication.shared.registerUserNotificationSettings(setting)
UIApplication.shared.registerForRemoteNotifications()
}

Sie müssen Ihr Delegate-Objekt mit center.delegate = self synchron zuweisen, bevor Ihre App den Startvorgang beendet, vorzugsweise in application:didFinishLaunchingWithOptions:. Wenn Sie dies nicht tun, kann Ihre App eingehende Push-Benachrichtigungen verpassen. Mehr dazu erfahren Sie in der Dokumentation zu UNUserNotificationCenterDelegate von Apple.
Ohne UserNotifications-Framework
Wenn Sie das Framework UserNotifications nicht verwenden, fügen Sie den folgenden Code zur Methode application:didFinishLaunchingWithOptions: Ihres App-Delegaten hinzu:
1
2
3
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound) categories:nil];
[[UIApplication sharedApplication] registerForRemoteNotifications];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
1
2
3
4
let types : UIUserNotificationType = UIUserNotificationType.Badge | UIUserNotificationType.Sound | UIUserNotificationType.Alert
var setting : UIUserNotificationSettings = UIUserNotificationSettings(forTypes: types, categories: nil)
UIApplication.shared.registerUserNotificationSettings(setting)
UIApplication.shared.registerForRemoteNotifications()
4. Schritt: Push-Token bei Braze registrieren
Sobald die APNs-Registrierung abgeschlossen ist, muss die folgende Methode geändert werden, um das resultierende deviceToken an Braze zu übergeben, damit die Nutzer:innen für Push-Benachrichtigungen aktiviert werden:
Fügen Sie den folgenden Code zu Ihrer Methode application:didRegisterForRemoteNotificationsWithDeviceToken: hinzu:
1
[[Appboy sharedInstance] registerDeviceToken:deviceToken];
Fügen Sie den folgenden Code in die Methode application(_:didRegisterForRemoteNotificationsWithDeviceToken:) Ihrer App ein:
1
Appboy.sharedInstance()?.registerDeviceToken(deviceToken)

Die Delegate-Methode application:didRegisterForRemoteNotificationsWithDeviceToken: wird jedes Mal aufgerufen, nachdem [[UIApplication sharedApplication] registerForRemoteNotifications] aufgerufen wurde. Wenn Sie von einem anderen Push-Dienst zu Braze migrieren und das Gerät Ihrer Nutzer:innen sich bereits bei APNs registriert hat, sammelt diese Methode beim nächsten Aufruf Token von bestehenden Registrierungen, und die Nutzer:innen müssen sich nicht erneut für Push anmelden.
5. Schritt: Push-Verarbeitung aktivieren
Der folgende Code leitet empfangene Push-Benachrichtigungen an Braze weiter und ist für die Protokollierung von Push-Analytics und die Behandlung von Links erforderlich. Stellen Sie sicher, dass Sie den gesamten Code für die Push-Integration im Hauptthread Ihrer Anwendung aufrufen.
iOS 10+
Für iOS 10+ empfehlen wir die Integration des Frameworks UserNotifications und die folgenden Schritte:
Fügen Sie den folgenden Code in die Methode application:didReceiveRemoteNotification:fetchCompletionHandler: Ihrer Anwendung ein:
1
2
3
[[Appboy sharedInstance] registerApplication:application
didReceiveRemoteNotification:userInfo
fetchCompletionHandler:completionHandler];
Als Nächstes fügen Sie den folgenden Code in die Methode (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: Ihrer App ein:
1
2
3
[[Appboy sharedInstance] userNotificationCenter:center
didReceiveNotificationResponse:response
withCompletionHandler:completionHandler];
Push-Verarbeitung im Vordergrund
Um eine Push-Benachrichtigung anzuzeigen, während sich die App im Vordergrund befindet, implementieren Sie userNotificationCenter:willPresentNotification:withCompletionHandler::
1
2
3
4
5
6
7
8
9
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {
if (@available(iOS 14.0, *)) {
completionHandler(UNNotificationPresentationOptionList | UNNotificationPresentationOptionBanner);
} else {
completionHandler(UNNotificationPresentationOptionAlert);
}
}
Wenn auf die Benachrichtigung im Vordergrund geklickt wird, wird der iOS-10-Push-Delegat userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: aufgerufen und Braze protokolliert ein Push-Klick-Event.
Fügen Sie den folgenden Code in die Methode application(_:didReceiveRemoteNotification:fetchCompletionHandler:) Ihrer App ein:
1
2
3
Appboy.sharedInstance()?.register(application,
didReceiveRemoteNotification: userInfo,
fetchCompletionHandler: completionHandler)
Als Nächstes fügen Sie den folgenden Code in die Methode userNotificationCenter(_:didReceive:withCompletionHandler:) Ihrer App ein:
1
2
3
Appboy.sharedInstance()?.userNotificationCenter(center,
didReceive: response,
withCompletionHandler: completionHandler)
Push-Verarbeitung im Vordergrund
Um eine Push-Benachrichtigung anzuzeigen, während sich die App im Vordergrund befindet, implementieren Sie userNotificationCenter(_:willPresent:withCompletionHandler:):
1
2
3
4
5
6
7
8
9
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
if #available(iOS 14.0, *) {
completionHandler([.list, .banner]);
} else {
completionHandler([.alert]);
}
}
Wenn auf die Benachrichtigung im Vordergrund geklickt wird, wird der iOS-10-Push-Delegat userNotificationCenter(_:didReceive:withCompletionHandler:) aufgerufen und Braze protokolliert ein Push-Klick-Event.
Vor iOS 10
iOS 10 hat das Verhalten aktualisiert, sodass beim Klicken auf einen Push application:didReceiveRemoteNotification:fetchCompletionHandler: nicht mehr aufgerufen wird. Aus diesem Grund müssen Sie, wenn Sie nicht auf iOS 10+ aktualisieren und das Framework UserNotifications verwenden, Braze von beiden alten Delegaten aufrufen, was einen Bruch mit unserer früheren Integration darstellt.
Für Apps, die mit SDKs < iOS 10 erstellt werden, verwenden Sie die folgenden Anweisungen:
Um das Öffnungs-Tracking für Push-Benachrichtigungen zu aktivieren, fügen Sie den folgenden Code in die Methode application:didReceiveRemoteNotification:fetchCompletionHandler: Ihrer App ein:
1
2
3
[[Appboy sharedInstance] registerApplication:application
didReceiveRemoteNotification:userInfo
fetchCompletionHandler:completionHandler];
Um Push-Analytics unter iOS 10 zu unterstützen, müssen Sie außerdem den folgenden Code zur Delegate-Methode application:didReceiveRemoteNotification: Ihrer App hinzufügen:
1
2
[[Appboy sharedInstance] registerApplication:application
didReceiveRemoteNotification:userInfo];
Um das Öffnungs-Tracking für Push-Benachrichtigungen zu aktivieren, fügen Sie den folgenden Code in die Methode application(_:didReceiveRemoteNotification:fetchCompletionHandler:) Ihrer App ein:
1
2
3
Appboy.sharedInstance()?.register(application,
didReceiveRemoteNotification: userInfo,
fetchCompletionHandler: completionHandler)
Um Push-Analytics unter iOS 10 zu unterstützen, müssen Sie außerdem den folgenden Code zur Delegate-Methode application(_:didReceiveRemoteNotification:) Ihrer App hinzufügen:
1
2
Appboy.sharedInstance()?.register(application,
didReceiveRemoteNotification: userInfo)
6. Schritt: Deeplinking
Deeplinks von einem Push in die App werden automatisch über unsere standardmäßige Dokumentation zur Push-Integration verarbeitet. Wenn Sie mehr darüber erfahren möchten, wie Sie Deeplinks zu bestimmten Stellen in Ihrer App hinzufügen, sehen Sie sich unsere fortgeschrittenen Anwendungsfälle an.
7. Schritt: Unit-Tests (optional)
Um die Testabdeckung für die soeben durchgeführten Integrationsschritte zu erhöhen, implementieren Sie Push-Unit-Tests.