
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 Story einrichten
Die Push Story-Funktion erfordert das UNNotification-Framework und iOS 10. Das Feature ist erst ab iOS SDK Version 3.2.1 verfügbar.
1. Schritt: Push in Ihrer App aktivieren
Folgen Sie der Integration von Push-Benachrichtigungen, um Push in Ihrer App zu aktivieren.
2. Schritt: Notification Content Extension-Ziel hinzufügen
Wählen Sie in Ihrem App-Projekt das Menü File > New > Target… und fügen Sie ein neues Notification Content Extension-Ziel hinzu und aktivieren Sie es.

Xcode sollte ein neues Ziel generieren und automatisch folgende Dateien für Sie anlegen:
NotificationViewController.hNotificationViewController.mMainInterface.storyboard
NotificationViewController.swiftMainInterface.storyboard
3. Schritt: Fähigkeiten aktivieren
Die Push Story-Funktion erfordert den Hintergrundmodus im Abschnitt Capabilities des Hauptziels der App. Nachdem Sie die Hintergrundmodi aktiviert haben, wählen Sie Background fetch und Remote notifications.

App-Gruppe hinzufügen
Sie müssen außerdem Capability App Groups hinzufügen. Wenn Sie noch keine App-Gruppe in Ihrer App haben, gehen Sie zur Capability des Hauptziels der App, schalten Sie die App Groups ein und klicken Sie auf die Schaltfläche +. Verwenden Sie die Bundle-ID Ihrer App, um die App-Gruppe zu erstellen. Wenn die Bundle-ID Ihrer App beispielsweise com.company.appname lautet, können Sie die App-Gruppe group.com.company.appname.xyz nennen. Sie müssen App Groups sowohl für die Haupt-App als auch für die Ziele der Inhaltserweiterung aktivieren.

App Groups bezieht sich in diesem Zusammenhang auf die App Groups Entitlement von Apple und nicht auf Ihre Braze-Workspace-ID (früher App-Gruppe).
Wenn Sie Ihre App nicht zu einer App-Gruppe hinzufügen, kann es sein, dass Ihre App bestimmte Felder aus der Push-Nutzlast nicht ausfüllt und nicht vollständig wie erwartet funktioniert.
4. Schritt: Push Story-Framework zu Ihrer App hinzufügen
Nachdem Sie den Leitfaden für die Integration des Swift-Paketmanagers befolgt haben, fügen Sie AppboyPushStory zur Notification Content Extension hinzu:


Fügen Sie die folgende Zeile in Ihr Podfile ein:
1
2
3
target 'YourContentExtensionTarget' do
pod 'Appboy-Push-Story'
end
Navigieren Sie nach der Aktualisierung des Podfile in Ihrem Terminal zum Verzeichnis Ihres Xcode-App-Projekts und führen Sie pod install aus.
Laden Sie die neueste Version der AppboyPushStory.zip von der GitHub-Release-Seite herunter, extrahieren Sie sie und fügen Sie der Notification Content Extension Ihres Projekts die folgenden Dateien hinzu:
Resources/ABKPageView.nibAppboyPushStory.xcframework


Stellen Sie sicher, dass unter der Spalte Embed die Option Do Not Embed für AppboyPushStory.xcframework ausgewählt ist.
Fügen Sie unter Build Settings > Other Linker Flags das Flag -ObjC zur Notification Content Extension Ihres Projekts hinzu.
5. Schritt: View-Controller für Benachrichtigungen aktualisieren
Fügen Sie in Ihrer NotificationViewController.h die folgenden Zeilen hinzu, um neue Eigenschaften hinzuzufügen und die Header-Dateien zu importieren:
1
#import <AppboyPushStory/AppboyPushStory.h>
1
2
@property (nonatomic) IBOutlet ABKStoriesView *storiesView;
@property (nonatomic) ABKStoriesViewDataSource *dataSource;
Entfernen Sie in Ihrer NotificationViewController.m die Standardimplementierung und fügen Sie folgenden Code hinzu:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@implementation NotificationViewController
- (void)didReceiveNotification:(UNNotification *)notification {
self.dataSource = [[ABKStoriesViewDataSource alloc] initWithNotification:notification
storiesView:self.storiesView
appGroup:@"YOUR-APP-GROUP-IDENTIFIER"];
}
- (void)didReceiveNotificationResponse:(UNNotificationResponse *)response
completionHandler:(void (^)(UNNotificationContentExtensionResponseOption option))completion {
UNNotificationContentExtensionResponseOption option = [self.dataSource didReceiveNotificationResponse:response];
completion(option);
}
- (void)viewWillDisappear:(BOOL)animated {
[self.dataSource viewWillDisappear];
[super viewWillDisappear:animated];
}
@end
Fügen Sie in Ihrer NotificationViewController.swift die folgende Zeile hinzu, um die Header-Dateien zu importieren:
1
import AppboyPushStory
Entfernen Sie als Nächstes die Standardimplementierung und fügen Sie den folgenden Code hinzu:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class NotificationViewController: UIViewController, UNNotificationContentExtension {
@IBOutlet weak var storiesView: ABKStoriesView!
var dataSource: ABKStoriesViewDataSource?
func didReceive(_ notification: UNNotification) {
dataSource = ABKStoriesViewDataSource(notification: notification, storiesView: storiesView, appGroup: "YOUR-APP-GROUP-IDENTIFIER")
}
func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) {
if dataSource != nil {
let option: UNNotificationContentExtensionResponseOption = dataSource!.didReceive(response)
completion(option)
}
}
override func viewWillDisappear(_ animated: Bool) {
dataSource?.viewWillDisappear()
super.viewWillDisappear(animated)
}
}
6. Schritt: Storyboard der Notification Content Extension festlegen
Öffnen Sie das Storyboard der Notification Content Extension und platzieren Sie eine neue UIView im View-Controller für Benachrichtigungen. Benennen Sie die Klasse in ABKStoriesView um. Legen Sie Breite und Höhe der Ansicht so fest, dass sie automatisch an den Rahmen der Hauptansicht des View-Controllers für Benachrichtigungen angepasst werden.


Verknüpfen Sie als Nächstes das IBOutlet storiesView des View-Controllers für Benachrichtigungen mit der hinzugefügten ABKStoriesView.

7. Schritt: Plist-Datei der Notification Content Extension anpassen
Öffnen Sie die Datei Info.plist der Notification Content Extension und fügen Sie unter NSExtension \ NSExtensionAttributes die folgenden Schlüssel hinzu und ändern Sie sie:
UNNotificationExtensionCategory = ab_cat_push_story_v2 (Typ String)
UNNotificationExtensionDefaultContentHidden = YES (Typ Boolean)
UNNotificationExtensionInitialContentSizeRatio = 0.65 (Typ Number)

8. Schritt: Braze-Integration in Ihrer Hauptanwendung aktualisieren
Option 1: Laufzeit
Fügen Sie in dem Wörterbuch appboyOptions, das zur Konfiguration Ihrer Braze-Instanz verwendet wird, den Eintrag ABKPushStoryAppGroupKey hinzu und legen Sie den Wert auf den API-Bezeichner Ihres Workspace fest.
1
2
3
4
5
6
NSMutableDictionary *appboyOptions = [NSMutableDictionary dictionary];
appboyOptions[ABKPushStoryAppGroupKey] = @"YOUR-APP-GROUP-IDENTIFIER";
[Appboy startWithApiKey:@"YOUR-API-KEY"
inApplication:application
withLaunchOptions:launchOptions
withAppboyOptions:appboyOptions];
1
2
3
4
let appboyOptions: [AnyHashable: Any] = [
ABKPushStoryAppGroupKey : "YOUR-APP-GROUP-IDENTIFIER"
]
Appboy.start(withApiKey: "YOUR-API-KEY", in:application, withLaunchOptions:launchOptions, withAppboyOptions:appboyOptions)
Option 2: Info.plist
Um den Push Story-Workspace über Ihre Datei Info.plist zu konfigurieren, können Sie alternativ ein Wörterbuch mit dem Namen Braze zu Ihrer Datei Info.plist hinzufügen. Fügen Sie im Wörterbuch Braze den String-Untereintrag PushStoryAppGroup hinzu und legen Sie den Wert auf den Bezeichner Ihres Workspace fest. Beachten Sie, dass vor Braze iOS SDK v4.0.2 der Wörterbuchschlüssel Appboy anstelle von Braze verwendet werden muss.
Nächste Schritte
Sehen Sie sich als Nächstes die Schritte zur Integration von Aktions-Buttons an, die erforderlich sind, damit Buttons in einer Push Story-Nachricht angezeigt werden.