
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 senden können, müssen Sie Ihre .p8-Push-Benachrichtigungsdatei hochladen, wie in der Entwicklerdokumentation von Apple beschrieben:
- Gehen Sie in Ihrem Apple-Entwickler-Account zu Certificates, Identifiers & Profiles.
- Wählen Sie unter Keys die Option All aus und klicken Sie auf die Schaltfläche „Hinzufügen“ (+) oben auf der Seite.
- Geben Sie unter Key Description einen eindeutigen Namen für den Signierschlüssel ein.
- Aktivieren Sie unter Key Services das Kontrollkästchen Apple Push Notification service (APNs) und klicken Sie dann auf Continue. Klicken Sie auf Confirm.
- Notieren Sie sich die Key-ID. 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
.p8-Datei unter Apple Push Certificate hoch. Sie können entweder Ihr Entwicklungs- oder Ihr Produktions-Push-Zertifikat hochladen. Um Push-Benachrichtigungen zu testen, nachdem Ihre App im App Store live ist, empfiehlt es sich, einen separaten Workspace 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 außerdem angeben, ob Benachrichtigungen an die Entwicklungs- oder die Produktionsumgebung Ihrer App gesendet werden sollen. Dies wird durch das Bereitstellungsprofil Ihrer App festgelegt.
- Wenn Sie fertig sind, wählen Sie Speichern aus.
2. Schritt: Push-Funktionen aktivieren
Stellen Sie in Ihren Projekteinstellungen sicher, dass unter dem Tab Capabilities die Funktion Push Notifications aktiviert ist.

Wenn Sie separate Push-Zertifikate für Entwicklung und Produktion verwenden, deaktivieren Sie das Kontrollkästchen Automatically manage signing im Tab General. So können Sie für jede Build-Konfiguration unterschiedliche Provisioning-Profile auswählen, da die automatische Code-Signing-Funktion von Xcode nur für die Entwicklungssignierung vorgesehen ist.

3. Schritt: Für Push-Benachrichtigungen registrieren
Das entsprechende Codebeispiel muss in die application:didFinishLaunchingWithOptions:-Delegate-Methode Ihrer App eingebunden werden, damit die Geräte Ihrer Nutzer:innen sich bei APNs registrieren können. Stellen Sie sicher, dass Sie den gesamten Push-Integrationscode im Hauptthread Ihrer Anwendung aufrufen.
Braze bietet außerdem Standard-Push-Kategorien für die Unterstützung von Push-Action-Buttons, die manuell zu Ihrem Push-Registrierungscode hinzugefügt werden müssen. Weitere Integrationsschritte finden Sie unter Push-Action-Buttons.

Wenn Sie eine angepasste Push-Aufforderung implementiert haben, wie in unseren Push-Best-Practices beschrieben, stellen Sie sicher, dass Sie den folgenden Code bei jedem App-Start aufrufen, nachdem Push-Berechtigungen für Ihre App erteilt wurden. Apps müssen sich erneut bei APNs registrieren, da Geräte-Token sich willkürlich ändern können.
Verwendung des UserNotification-Frameworks (iOS 10+)
Wenn Sie das in iOS 10 eingeführte UserNotifications-Framework verwenden (empfohlen), fügen Sie den folgenden Code zur application:didFinishLaunchingWithOptions:-Methode Ihres App-Delegates hinzu.

Das folgende Codebeispiel enthält die Integration für die vorläufige Push-Authentifizierung (Zeilen 5 und 6). Wenn Sie nicht planen, die vorläufige Autorisierung in Ihrer App zu verwenden, können Sie die Codezeilen entfernen, die UNAuthorizationOptionProvisional zu den requestAuthorization-Optionen hinzufügen.
Besuchen Sie iOS-Benachrichtigungsoptionen, um mehr über die vorläufige Push-Authentifizierung zu erfahren.
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];
}
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 Start abgeschlossen hat, vorzugsweise in application:didFinishLaunchingWithOptions:. Andernfalls kann es passieren, dass Ihre App eingehende Push-Benachrichtigungen verpasst. Besuchen Sie die Apple-Dokumentation zu UNUserNotificationCenterDelegate, um mehr zu erfahren.
Ohne UserNotifications-Framework
Wenn Sie das UserNotifications-Framework nicht verwenden, fügen Sie den folgenden Code zur application:didFinishLaunchingWithOptions:-Methode Ihres App-Delegates hinzu:
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound) categories:nil];
[[UIApplication sharedApplication] registerForRemoteNotifications];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
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 angepasst werden, um das resultierende deviceToken an Braze zu übergeben, damit Push-Benachrichtigungen für die Nutzer:innen aktiviert werden:
Fügen Sie den folgenden Code zu Ihrer application:didRegisterForRemoteNotificationsWithDeviceToken:-Methode hinzu:
[[Appboy sharedInstance] registerDeviceToken:deviceToken];
Fügen Sie den folgenden Code zur application(_:didRegisterForRemoteNotificationsWithDeviceToken:)-Methode Ihrer App hinzu:
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 bereits bei APNs registriert ist, erfasst diese Methode die Token aus bestehenden Registrierungen beim nächsten Aufruf, und die Nutzer:innen müssen sich nicht erneut für Push anmelden.
5. Schritt: Push-Handling aktivieren
Der folgende Code leitet empfangene Push-Benachrichtigungen an Braze weiter und ist für das Logging von Push-Analytics und die Link-Verarbeitung erforderlich. Stellen Sie sicher, dass Sie den gesamten Push-Integrationscode im Main-Thread Ihrer Anwendung aufrufen.
iOS 10+
Wenn Sie für iOS 10+ bauen, empfehlen wir Ihnen, das UserNotifications-Framework zu integrieren und Folgendes zu tun:
Fügen Sie den folgenden Code zur Methode application:didReceiveRemoteNotification:fetchCompletionHandler: Ihrer Anwendung hinzu:
[[Appboy sharedInstance] registerApplication:application
didReceiveRemoteNotification:userInfo
fetchCompletionHandler:completionHandler];
Fügen Sie anschließend den folgenden Code zur Methode (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: Ihrer App hinzu:
[[Appboy sharedInstance] userNotificationCenter:center
didReceiveNotificationResponse:response
withCompletionHandler:completionHandler];
Push-Handling im Vordergrund
Um eine Push-Benachrichtigung anzuzeigen, während die App im Vordergrund ist, implementieren Sie userNotificationCenter:willPresentNotification:withCompletionHandler::
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {
if (@available(iOS 14.0, *)) {
completionHandler(UNNotificationPresentationOptionList | UNNotificationPresentationOptionBanner);
} else {
completionHandler(UNNotificationPresentationOptionAlert);
}
}
Wenn die Vordergrund-Benachrichtigung angeklickt wird, wird der iOS-10-Push-Delegate userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: aufgerufen, und Braze protokolliert ein Push-Klick-Ereignis.
Fügen Sie den folgenden Code zur Methode application(_:didReceiveRemoteNotification:fetchCompletionHandler:) Ihrer App hinzu:
Appboy.sharedInstance()?.register(application,
didReceiveRemoteNotification: userInfo,
fetchCompletionHandler: completionHandler)
Fügen Sie anschließend den folgenden Code zur Methode userNotificationCenter(_:didReceive:withCompletionHandler:) Ihrer App hinzu:
Appboy.sharedInstance()?.userNotificationCenter(center,
didReceive: response,
withCompletionHandler: completionHandler)
Push-Handling im Vordergrund
Um eine Push-Benachrichtigung anzuzeigen, während die App im Vordergrund ist, implementieren Sie userNotificationCenter(_:willPresent:withCompletionHandler:):
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
if #available(iOS 14.0, *) {
completionHandler([.list, .banner]);
} else {
completionHandler([.alert]);
}
}
Wenn die Vordergrund-Benachrichtigung angeklickt wird, wird der iOS-10-Push-Delegate userNotificationCenter(_:didReceive:withCompletionHandler:) aufgerufen, und Braze protokolliert ein Push-Klick-Ereignis.
Vor iOS 10
iOS 10 hat das Verhalten so geändert, dass application:didReceiveRemoteNotification:fetchCompletionHandler: nicht mehr aufgerufen wird, wenn eine Push-Benachrichtigung angeklickt wird. Aus diesem Grund müssen Sie, wenn Sie nicht auf iOS 10+ aktualisieren und das UserNotifications-Framework verwenden, Braze über beide alten Delegates aufrufen, was eine Abweichung von unserer bisherigen Integration darstellt.
Für Apps, die gegen SDKs < iOS 10 gebaut werden, verwenden Sie die folgenden Anweisungen:
Um das Open-Tracking für Push-Benachrichtigungen zu aktivieren, fügen Sie den folgenden Code zur Methode application:didReceiveRemoteNotification:fetchCompletionHandler: Ihrer App hinzu:
[[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:
[[Appboy sharedInstance] registerApplication:application
didReceiveRemoteNotification:userInfo];
Um das Open-Tracking für Push-Benachrichtigungen zu aktivieren, fügen Sie den folgenden Code zur Methode application(_:didReceiveRemoteNotification:fetchCompletionHandler:) Ihrer App hinzu:
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:
Appboy.sharedInstance()?.register(application,
didReceiveRemoteNotification: userInfo)
6. Schritt: Deeplinking
Deeplinking von einer Push-Benachrichtigung in die App wird automatisch über unsere Standard-Push-Integrationsdokumentation gehandhabt. Wenn Sie mehr darüber erfahren möchten, wie Sie Deeplinks zu bestimmten Stellen in Ihrer App hinzufügen, lesen Sie unsere fortgeschrittenen Anwendungsfälle.
7. Schritt: Unit-Tests (optional)
Um die gerade durchgeführten Integrationsschritte mit Tests abzudecken, implementieren Sie Push-Unit-Tests.