
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 à la suite de 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 ne fonctionnent qu’avec des événements personnalisés enregistrés via le SDK de Braze. Les messages in-app ne peuvent pas être déclenchés via l’API ou par des événements 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émantiques de réception/distribution
Tous les messages in-app auxquels un utilisateur est éligible sont envoyé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 doté de 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. Dès la réception, le SDK précharge les ressources pour qu’elles soient immédiatement disponibles au moment du déclenchement, réduisant ainsi la latence d’affichage.
Lorsqu’un événement déclencheur comporte plus d’un message in-app éligible associé, seul le message in-app avec 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 réception (démarrage de session, clic sur une notification push) en raison de ressources n’ayant 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 favoriser une expérience utilisateur de qualité.
Vous pouvez remplacer cette valeur via la clé ABKMinimumTriggerTimeIntervalKey dans le paramètre appboyOptions transmis à startWithApiKey:inApplication:withLaunchOptions:withAppboyOptions:. Définissez ABKMinimumTriggerTimeIntervalKey sur la valeur entière souhaitée comme durée minimale 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])
Absence de déclencheur correspondant
Lorsque Braze ne trouve pas de déclencheur correspondant à un événement particulier, il appelle la méthode noMatchingTriggerForEvent:name: du ABKInAppMessageControllerDelegate. Implémentez cette méthode dans votre classe en adoptant le protocole de délégation pour gérer ce scénario.
Réception/distribution locale de messages in-app
La pile de messages in-app
Affichage des messages in-app
Lorsqu’un utilisateur est éligible à la réception d’un message in-app, le ABKInAppMessageController recevra le dernier message in-app de la pile de messages in-app. La pile ne conserve que les messages in-app stockés en mémoire et est effacée entre les lancements de l’application depuis le mode suspendu.

N’affichez pas les messages in-app lorsque le clavier est affiché à l’écran, car le rendu n’est pas défini dans ce cas.
Ajout de messages in-app à la pile
Les utilisateurs peuvent 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émarrage de session
- L’application est ouverte à partir d’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 sont dans la pile et en attente d’être affichés, Braze affichera le message in-app le plus récemment reçu (dernier entré, premier sorti).
Retour des messages in-app à la pile
Un message in-app déclenché peut être renvoyé à 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égation de l’IU obsolète
beforeInAppMessageDisplayed:withKeyboardIsUp:n’a pas été implémentée et le clavier est actuellement affiché. - La méthode de délégation
beforeInAppMessageDisplayed:ou la méthode de délégation de l’IU obsolètebeforeInAppMessageDisplayed:withKeyboardIsUp:a renvoyéABKDisplayInAppMessageLater.
Écarter les messages in-app
Un message in-app déclenché sera écarté dans les situations suivantes :
- La méthode de délégation
beforeInAppMessageDisplayed:ou la méthode de délégation de l’IU obsolètebeforeInAppMessageDisplayed:withKeyboardIsUp:a renvoyéABKDiscardInAppMessage. - La ressource (fichier image ou 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é le délai 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 modal composé uniquement d’une image, 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 sur 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 dans l’application et affichés via Braze. Ceci est particulièrement utile pour afficher les 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)