Skip to content


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.

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.h
  • NotificationViewController.m
  • MainInterface.storyboard
  • NotificationViewController.swift
  • MainInterface.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.

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.

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:

Wählen Sie in Xcode unter „Frameworks und Bibliotheken“ das Symbol „+“, um ein Framework hinzuzufü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.nib
  • AppboyPushStory.xcframework

Laden Sie die neueste AppboyPushStory.zip von der GitHub-Release-Seite herunter, extrahieren Sie sie und fügen Sie die folgenden Dateien zur Notification Content Extension Ihres Projekts hinzu.

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.

Ö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 angepasst werden.

Ö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 angepasst werden.

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

Screenshot zu Schritt 6: Storyboard der Notification Content Extension festlegen.

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)

Screenshot zu Schritt 7: Plist-Datei der Notification Content Extension anpassen.

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.

New Stuff!