
AppboyKit (également connu sous le nom de SDK Objective-C) n’est plus pris en charge et a été remplacé par Swift SDK. Il ne recevra plus de nouvelles fonctionnalités, de corrections de bugs, de mises à jour de sécurité ou d’assistance technique - cependant, la messagerie et l’analyse continueront à fonctionner normalement. Pour en savoir plus, consultez Présentation du nouveau SDK Braze Swift.
Configurer les Push Stories
La fonctionnalité Push Stories nécessite le framework UNNotification et iOS 10. Cette fonctionnalité est uniquement disponible à partir du SDK iOS version 3.2.1.
Étape 1 : Activer les notifications push dans votre application
Suivez l’intégration de la notification push pour activer le push dans votre application.
Étape 2 : Ajouter la cible de l’extension de contenu de notification
Dans votre projet d’application, sélectionnez File > New > Target…, ajoutez une nouvelle cible Notification Content Extension et activez-la.

Xcode devrait générer une nouvelle cible et créer automatiquement des fichiers pour vous, notamment :
NotificationViewController.hNotificationViewController.mMainInterface.storyboard
NotificationViewController.swiftMainInterface.storyboard
Étape 3 : Activer les capacités
La fonctionnalité Push Stories nécessite le mode arrière-plan dans la section Capabilities de la cible principale de l’application. Après avoir activé les modes d’arrière-plan, sélectionnez Background fetch et Remote notifications.

Ajouter un groupe d’applications
Vous devez également ajouter Capability App Groups. Si vous n’avez pas de groupe d’applications dans votre application, sélectionnez la Capability de la cible principale de l’application, activez les App Groups et cliquez sur le bouton +. Utilisez l’identifiant de bundle de votre application pour créer le groupe d’applications. Par exemple, si l’identifiant de bundle de votre application est com.company.appname, vous pouvez nommer votre groupe d’applications group.com.company.appname.xyz. Vous devez activer les App Groups pour les cibles de l’application principale et de l’extension de contenu.

Dans ce contexte, App Groups fait référence aux droits des groupes d’applications d’Apple et non à votre ID d’espace de travail Braze (anciennement groupe d’applications).
Si vous n’ajoutez pas votre application à un groupe d’applications, votre application risque de ne pas remplir certains champs de la charge utile push et ne fonctionnera pas complètement comme prévu.
Étape 4 : Ajouter le framework Push Stories à votre application
Après avoir suivi le guide d’intégration du gestionnaire de paquets Swift, ajoutez AppboyPushStory à votre Notification Content Extension :


Ajoutez la ligne suivante à votre Podfile :
1
2
3
target 'YourContentExtensionTarget' do
pod 'Appboy-Push-Story'
end
Après avoir mis à jour le Podfile, naviguez jusqu’au répertoire de votre projet d’application Xcode dans votre terminal et exécutez pod install.
Téléchargez la dernière version de AppboyPushStory.zip depuis la page de versions GitHub, décompressez-la et ajoutez les fichiers suivants à l’Notification Content Extension de votre projet :
Resources/ABKPageView.nibAppboyPushStory.xcframework


Assurez-vous que Do Not Embed est sélectionné pour AppboyPushStory.xcframework dans la colonne Embed.
Ajoutez l’indicateur -ObjC à l’Notification Content Extension de votre projet dans Build Settings > Other Linker Flags.
Étape 5 : Mettre à jour votre contrôleur de vue de notification
Dans votre NotificationViewController.h, ajoutez les lignes suivantes pour ajouter de nouvelles propriétés et importer les fichiers d’en-tête :
1
#import <AppboyPushStory/AppboyPushStory.h>
1
2
@property (nonatomic) IBOutlet ABKStoriesView *storiesView;
@property (nonatomic) ABKStoriesViewDataSource *dataSource;
Dans votre NotificationViewController.m, supprimez l’implémentation par défaut et ajoutez le code suivant :
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
Dans votre NotificationViewController.swift, ajoutez la ligne suivante pour importer les fichiers d’en-tête :
1
import AppboyPushStory
Ensuite, supprimez l’implémentation par défaut et ajoutez le code suivant :
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)
}
}
Étape 6 : Configurer le storyboard de l’extension de contenu de notification
Ouvrez le storyboard Notification Content Extension et placez un nouveau UIView dans le contrôleur de vue de notification. Renommez la classe en ABKStoriesView. Faites en sorte que la largeur et la hauteur de la vue soient redimensionnables automatiquement pour correspondre au cadre de la vue principale du contrôleur de vue de notification.


Ensuite, liez l’IBOutlet storiesView du contrôleur de vue de notification au ABKStoriesView ajouté.

Étape 7 : Configurer le plist de l’extension de contenu de notification
Ouvrez le fichier Info.plist de Notification Content Extension et ajoutez et modifiez les clés suivantes dans NSExtension \ NSExtensionAttributes :
UNNotificationExtensionCategory = ab_cat_push_story_v2 (type String)
UNNotificationExtensionDefaultContentHidden = YES (type Boolean)
UNNotificationExtensionInitialContentSizeRatio = 0.65 (type Number)

Étape 8 : Mettre à jour l’intégration Braze dans votre application principale
Option 1 : Exécution
Dans le dictionnaire appboyOptions utilisé pour configurer votre instance Braze, ajoutez une entrée ABKPushStoryAppGroupKey et définissez la valeur sur l’identifiant API de votre espace de travail.
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
Alternativement, pour configurer l’espace de travail Push Stories à partir de votre fichier Info.plist, ajoutez un dictionnaire nommé Braze à votre fichier Info.plist. Dans le dictionnaire Braze, ajoutez une sous-entrée PushStoryAppGroup de type chaîne de caractères et définissez la valeur sur l’identifiant de votre espace de travail. Notez qu’avant le SDK Braze pour iOS v4.0.2, la clé du dictionnaire Appboy doit être utilisée à la place de Braze.
Étapes suivantes
Reportez-vous ensuite aux étapes relatives à l’intégration des boutons d’action, qui est nécessaire pour que les boutons s’affichent dans un message Push Stories.