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.

Schritt 1: Aktivieren Sie Push in Ihrer App

Folgen Sie der Integration von Push-Benachrichtigungen, um Push in Ihrer App zu aktivieren.

Schritt 2: Hinzufügen des Ziels Benachrichtigungsinhalt-Erweiterung

Wählen Sie in Ihrem App-Projekt das Menü Datei > Neu > Ziel… 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

Schritt 3: Fähigkeiten aktivieren

Die Funktion Push Story erfordert den Hintergrundmodus im Abschnitt Fähigkeiten des Hauptziels der App. Nachdem Sie die Hintergrundmodi aktiviert haben, wählen Sie Hintergrundabruf und Fernbenachrichtigungen.

Hinzufügen einer App-Gruppe

Sie müssen auch Capability App Groups hinzufügen. Wenn Sie noch keine App-Gruppe in Ihrer App hatten, gehen Sie zur Fähigkeit 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.

Schritt 4: Hinzufügen des Push Story Frameworks zu Ihrer App

Nachdem Sie den Leitfaden für die Integration von Swift-Paketmanager 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 auszuwählen.

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

Fügen Sie unter Build Settings > Other Linker Flags das Flag -ObjC zur Notification Content Extension Ihres Projekts hinzu.

Schritt 5: View-Controller für Benachrichtigungen aktualisieren

Fügen Sie der 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 Ihrem 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 NotificationViewController.swift die folgende Zeile hinzu, um die Header-Dateien zu importieren:

1
import AppboyPushStory

Entfernen Sie als Nächstes die Standard-Implementierung und fügen 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)
  }
}

Schritt 6: Legen Sie das Storyboard für die Erweiterung der Benachrichtigung fest

Öffnen Sie das Storyboard 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.

Schritt 7: Plist-Datei der Erweiterung für Benachrichtigungsinhalte 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 (String type) UNNotificationExtensionDefaultContentHidden = YES (Boolean type) UNNotificationExtensionInitialContentSizeRatio = 0.65 (Number type)

Schritt 8: Aktualisieren der Braze-Integration in Ihrer Hauptanwendung

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-Arbeitsbereich von Ihrer Datei Info.plist aus zu konfigurieren, können Sie auch 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

Als Nächstes sehen Sie sich die Schritte zur Integration von Aktionsschaltflächen an, die erforderlich sind, damit Schaltflächen in einer Push-Story-Nachricht angezeigt werden können.

New Stuff!