
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.
Réception/distribution de messages in-app
Types de déclencheurs
Notre produit de messages in-app vous permet de déclencher l’affichage d’un message in-app en réponse à plusieurs types d’événements différents : Any Purchase, Specific Purchase, Session Start, Custom Event et Push Click. De plus, les déclencheurs Specific Purchase et Custom Event contiennent des filtres de propriétés robustes.

Les messages in-app déclenchés fonctionnent uniquement avec les événements personnalisés enregistrés via le SDK Braze. Les messages in-app ne peuvent pas être déclenchés via l’API ou par des événements d’API (tels que les événements d’achat). Si vous travaillez avec iOS, consultez notre article sur le suivi des événements personnalisés pour en savoir plus.
Sémantique de distribution
Tous les messages in-app auxquels un utilisateur est éligible sont distribués sur l’appareil de l’utilisateur au démarrage de la session. Si deux messages in-app sont déclenchés par un même événement, le message in-app ayant la priorité la plus élevée sera affiché. Pour plus d’informations sur la sémantique de démarrage de session du SDK, consultez notre documentation sur le cycle de vie des sessions. Lors de la distribution, le SDK précharge les ressources afin qu’elles soient disponibles immédiatement au moment du déclenchement, minimisant ainsi la latence d’affichage.
Lorsqu’un événement déclencheur est associé à plusieurs messages in-app éligibles, seul le message in-app ayant la priorité la plus élevée sera distribué.
Il peut y avoir une certaine latence pour les messages in-app qui s’affichent immédiatement à la distribution (démarrage de session, clic sur une notification push) en raison du fait que les ressources n’ont pas été préchargées.
Intervalle de temps minimum entre les déclencheurs
Par défaut, nous limitons le débit des messages in-app à une fois toutes les 30 secondes afin de garantir une expérience utilisateur de qualité.
Vous pouvez remplacer cette valeur via ABKMinimumTriggerTimeIntervalKey dans le paramètre appboyOptions passé à startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:. Définissez ABKMinimumTriggerTimeIntervalKey sur la valeur entière souhaitée comme intervalle minimum en secondes entre les messages in-app :
1
2
3
4
5
// Sets the minimum trigger time interval to 5 seconds
[Appboy startWithApiKey:@"YOUR-API-KEY"
inApplication:application
withLaunchOptions:options
withAppboyOptions:@{ ABKMinimumTriggerTimeIntervalKey : @(5) }];
1
Appboy.start(withApiKey: "YOUR-API-KEY", in:application, withLaunchOptions:launchOptions, withAppboyOptions:[ABKMinimumTriggerTimeIntervalKey : 5])
Échec de la recherche d’un déclencheur correspondant
Lorsque Braze ne parvient pas à trouver un déclencheur correspondant pour un événement particulier, la méthode noMatchingTriggerForEvent:name: du ABKInAppMessageControllerDelegate est appelée. Implémentez cette méthode dans votre classe adoptant le protocole délégué pour gérer ce scénario.
Distribution locale des messages in-app
La pile de messages in-app
Afficher les messages in-app
Lorsqu’un utilisateur est éligible pour recevoir un message in-app, le ABKInAppMessageController se voit proposer le dernier message in-app en haut de la pile de messages in-app. La pile ne conserve les messages in-app stockés qu’en mémoire et est vidée entre les lancements de l’application depuis le mode suspendu.

N’affichez pas de messages in-app lorsque le clavier est affiché à l’écran, car le rendu n’est pas défini dans cette situation.
Ajouter des messages in-app à la pile
Les utilisateurs sont éligibles pour recevoir un message in-app dans les situations suivantes :
- Un événement déclencheur de message in-app est déclenché
- Événement de début de session
- L’application est ouverte depuis une notification push
Les messages in-app déclenchés sont placés sur la pile lorsque leur événement déclencheur est déclenché. Si plusieurs messages in-app se trouvent dans la pile et attendent d’être affichés, Braze affichera en premier le message in-app reçu le plus récemment (dernier entré, premier sorti).
Renvoyer des messages in-app dans la pile
Un message in-app déclenché peut être renvoyé dans la pile dans les situations suivantes :
- Le message in-app est déclenché lorsque l’application est en arrière-plan.
- Un autre message in-app est actuellement visible.
- La méthode de délégué d’interface utilisateur obsolète
beforeInAppMessageDisplayed:withKeyboardIsUp:n’a pas été implémentée et le clavier est actuellement affiché. - La méthode de délégué
beforeInAppMessageDisplayed:ou la méthode de délégué d’interface utilisateur obsolètebeforeInAppMessageDisplayed:withKeyboardIsUp:a renvoyéABKDisplayInAppMessageLater.
Supprimer des messages in-app
Un message in-app déclenché sera supprimé dans les situations suivantes :
- La méthode de délégué
beforeInAppMessageDisplayed:ou la méthode de délégué d’interface utilisateur obsolètebeforeInAppMessageDisplayed:withKeyboardIsUp:a renvoyéABKDiscardInAppMessage. - La ressource (image ou fichier ZIP) du message in-app n’a pas pu être téléchargée.
- Le message in-app est prêt à être affiché mais a dépassé la durée d’expiration.
- L’orientation de l’appareil ne correspond pas à l’orientation du message in-app déclenché.
- Le message in-app est un message in-app plein écran mais n’a pas d’image.
- Le message in-app est un message in-app modale avec image uniquement mais n’a pas d’image.
Mettre manuellement en file d’attente l’affichage des messages in-app
Si vous souhaitez afficher un message in-app à d’autres moments dans votre application, vous pouvez afficher manuellement le message in-app le plus haut de la pile en appelant la méthode suivante :
1
[[Appboy sharedInstance].inAppMessageController displayNextInAppMessage];
1
Appboy.sharedInstance()!.inAppMessageController.displayNextInAppMessage()
Création et affichage de messages in-app en temps réel
Les messages in-app peuvent également être créés localement au sein de l’application et affichés via Braze. Cela est particulièrement utile pour afficher des messages que vous souhaitez déclencher dans l’application en temps réel. Braze ne prend pas en charge l’analyse des messages in-app créés localement.
1
2
3
4
5
ABKInAppMessageSlideup *customInAppMessage = [[ABKInAppMessageSlideup alloc] init];
customInAppMessage.message = @"YOUR_CUSTOM_SLIDEUP_MESSAGE";
customInAppMessage.duration = 2.5;
customInAppMessage.extras = @{@"key" : @"value"};
[[Appboy sharedInstance].inAppMessageController addInAppMessage:customInAppMessage];
1
2
3
4
5
let customInAppMessage = ABKInAppMessageSlideup.init()
customInAppMessage.message = "YOUR_CUSTOM_SLIDEUP_MESSAGE"
customInAppMessage.duration = 2.5
customInAppMessage.extras = ["key": "value"]
Appboy.sharedInstance()!.inAppMessageController.add(customInAppMessage)