Initialisation retardée pour le SDK Braze Swift
Découvrez comment initialiser votre SDK Braze Swift de manière asynchrone tout en veillant à ce que la gestion des notifications push soit préservée. Cela peut être utile lorsque vous devez configurer d’autres services avant d’initialiser le SDK, par exemple pour récupérer des données de configuration sur un serveur ou attendre le consentement de l’utilisateur.
Mise en place de l’initialisation différée
Étape 1 : Préparation du SDK pour une initialisation différée
Par défaut, si un utilisateur final ouvre votre notification push alors que votre application est dans un état terminé, la notification push ne peut pas être traitée avant l’initialisation du SDK.
À partir de la version 10.1.0 du SDK Braze Swift, vous pouvez gérer cela à l’aide de la méthode d’aide statique : Braze.prepareForDelayedInitialization(pushAutomation :). Cette méthode prépare le SDK à une initialisation différée en configurant le système d’automatisation de la poussée.
Avant l’initialisation du SDK, toutes les notifications push provenant de Braze seront capturées et mises en file d’attente. Après l’initialisation du SDK, ces notifications push seront traitées par le SDK. Cette méthode doit être appelée le plus tôt possible dans le cycle de vie de votre application, soit dans ou avant la méthode application(_:didFinishLaunchingWithOptions:)
de votre AppDelegate
.
Le SDK Swift ne capture pas les notifications push autres que celles de Braze : celles-ci continueront d’être gérées par les méthodes de délégation du système.
1
2
3
4
5
6
7
8
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Prepare the SDK for delayed initialization
Braze.prepareForDelayedInitialization()
// ... Additional non-Braze setup code
return true
}
Les applications SwiftUI doivent mettre en œuvre le wrapper de propriété @UIApplicationDelegateAdaptor pour appeler la méthode prepareForDelayedInitialization()
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@main
struct MyApp: App {
@UIApplicationDelegateAdaptor var appDelegate: AppDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
// Prepare the SDK for delayed initialization
Braze.prepareForDelayedInitialization()
// ... Additional non-Braze setup code
return true
}
}
1
2
3
4
5
6
7
8
9
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Prepare the SDK for delayed initialization
[Braze prepareForDelayedInitialization];
// ... Additional non-Braze setup code
return YES;
}
Braze.prepareForDelayedInitialization(pushAutomation :) prend un paramètre facultatif pushAutomation
qui représente la configuration de l’automatisation pour les notifications push. Lorsque Braze.Configuration.Push.Automation est nil
, toutes les fonctionnalités d’automatisation sont activées, à l’exception de la demande d’autorisation au lancement.
Étape 2 : Initialisation du SDK de Braze
Après avoir préparé le SDK pour une initialisation différée, vous pouvez l’initialiser de manière asynchrone à tout moment dans le futur. Ensuite, le SDK traitera tous les événements de notifications push en file d’attente provenant de Braze.
Pour initialiser le SDK de Braze, suivez le processus standard d’initialisation du SDK de Swift.
Considérations
En utilisant Braze.prepareForDelayedInitialization(pushAutomation:)
, vous configurez le SDK pour qu’il utilise automatiquement les fonctionnalités d’automatisation des notifications push. Toutes les méthodes déléguées du système qui gèrent les notifications push ne seront pas appelées pour les notifications push provenant de Braze.
Le SDK ne traitera une notification push de Braze et l’action qui en résulte qu’après l’initialisation du SDK. Par exemple, si un utilisateur tape sur une notification push qui ouvre un lien profond, ce dernier ne s’ouvrira qu’après l’initialisation de l’instance Braze
.
Si vous devez effectuer un traitement supplémentaire sur les notifications push de Braze, consultez la section S’abonner aux mises à jour des notifications push. Gardez à l’esprit que pour recevoir des mises à jour pour les notifications push qui ont été précédemment mises en file d’attente, vous devez mettre en œuvre le gestionnaire d’abonnement directement après l’initialisation du SDK.