Messages in-app
Découvrez les messages in-app et comment les configurer pour le SDK Braze.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK Web de Braze. Cependant, aucune configuration supplémentaire n’est nécessaire.
Types de messages
Tous les messages in-app héritent de leur prototype InAppMessage, qui définit le comportement et les caractéristiques de base de tous les messages in-app. Les sous-classes prototypiques sont SlideUpMessage, ModalMessage, FullScreenMessage et HtmlMessage.
Chaque type de message in-app est personnalisable en termes de contenu, d’images, d’icônes, d’actions de clic, d’analyse, d’affichage et de réception.
Les messages in-app SlideUp sont ainsi nommés car, sur les plateformes mobiles, ils « glissent vers le haut » ou « glissent vers le bas » depuis le haut ou le bas de l’écran. Dans le SDK Web de Braze, ces messages s’affichent davantage sous la forme d’une notification de type Growl ou Toast, conformément au paradigme dominant du web. Ils couvrent une petite partie de l’écran et offrent une capacité de communication efficace et non intrusive.

Les messages in-app Modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus importantes, ils peuvent être équipés de jusqu’à deux boutons avec actions de clic et suivi analytique.

Les messages in-app Full sont utiles pour maximiser le contenu et l’impact de votre communication utilisateur. Sur les fenêtres de navigateur étroites (par exemple, le web mobile), les messages in-app full occupent l’intégralité de la fenêtre du navigateur. Sur les fenêtres de navigateur plus larges, les messages in-app full s’affichent de manière similaire aux messages in-app modal. La moitié supérieure d’un message in-app full contient une image, et la moitié inférieure permet jusqu’à huit lignes de texte ainsi que jusqu’à deux boutons avec actions de clic et suivi analytique.

Les messages in-app HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le HTML défini par l’utilisateur est affiché dans un iFrame et peut contenir du contenu riche, tel que des images, des polices, des vidéos et des éléments interactifs, permettant un contrôle total sur l’apparence et les fonctionnalités du message. Ces messages prennent en charge une interface JavaScript brazeBridge pour appeler des méthodes du SDK Web de Braze depuis votre HTML. Consultez nos bonnes pratiques pour plus de détails.

Pour activer les messages in-app HTML via le SDK Web, vous devez fournir l’option d’initialisation allowUserSuppliedJavascript à Braze, par exemple braze.initialize('YOUR-API_KEY', {allowUserSuppliedJavascript: true}). Ceci est pour des raisons de sécurité. Les messages in-app HTML peuvent exécuter du JavaScript, c’est pourquoi un responsable du site doit les activer.
L’exemple suivant montre un message in-app HTML paginé :

Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Android de Braze. Il vous sera également nécessaire d’activer les messages in-app.
Types de messages
Braze propose plusieurs types de messages in-app par défaut, chacun personnalisable avec des messages, des images, des icônes Font Awesome, des actions au clic, des analyses, des palettes de couleurs, et bien plus encore.
Leur comportement et leurs caractéristiques de base sont définis par l’interface IInAppMessage, dans une sous-classe appelée InAppMessageBase. IInAppMessage comprend également une sous-interface, IInAppMessageImmersive, qui vous permet d’ajouter des boutons de fermeture, d’action au clic et d’analyse à votre application.

Veuillez noter que les messages in-app contenant des boutons incluront le message clickAction dans le payload final si l’action au clic est ajoutée avant le texte du bouton.
Les messages in-app de type modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus importantes, ils peuvent être équipés de deux boutons avec actions au clic et suivi analytique.
Ce type de message est une sous-classe de InAppMessageImmersiveBase, une classe abstraite qui implémente IInAppMessageImmersive, vous permettant d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type full sont utiles pour maximiser le contenu et l’impact de votre communication utilisateur. La moitié supérieure d’un message in-app full contient une image, et la moitié inférieure affiche du texte ainsi que jusqu’à deux boutons avec actions au clic et suivi analytique.
Ce type de message étend InAppMessageImmersiveBase, vous offrant la possibilité d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu HTML défini par l’utilisateur est affiché dans une WebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total sur l’apparence et la fonctionnalité du message.
Ce type de message implémente IInAppMessageHtml, qui est une sous-classe de IInAppMessage.

Sur Android, les liens configurés avec target="_blank" dans les messages in-app HTML personnalisés s’ouvrent dans le navigateur web par défaut de l’appareil.
Les messages in-app Android prennent en charge une interface JavaScript brazeBridge permettant d’appeler des méthodes du SDK Android de Braze depuis votre HTML. Consultez notre page sur le pont JavaScript pour plus de détails.


Actuellement, nous ne prenons pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.

Vous pouvez également définir des vues personnalisées pour les messages in-app de votre application. Pour une procédure détaillée, consultez Configuration des fabriques personnalisées.
Activation des messages in-app
Étape 1 : S’inscrire BrazeInAppMessageManager
L’affichage des messages in-app est géré par la classe BrazeInAppMessageManager. Chaque activité de votre application doit être enregistrée avec le BrazeInAppMessageManager pour lui permettre d’ajouter des vues de messages in-app à la hiérarchie de vues. Il existe deux manières de le faire :
L’intégration du rappel du cycle de vie de l’activité gère automatiquement l’enregistrement des messages in-app ; aucune intégration supplémentaire n’est nécessaire. Il s’agit de la méthode recommandée pour gérer l’enregistrement des messages in-app.

Si vous utilisez le rappel du cycle de vie de l’activité pour l’enregistrement automatique, veuillez ignorer cette étape.
Dans votre Application.onCreate(), veuillez contacter ensureSubscribedToInAppMessageEvents():
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context);
BrazeInAppMessageManager.getInstance().ensureSubscribedToInAppMessageEvents(context)
Dans chaque activité où des messages in-app peuvent être affichés, veuillez appelerregisterInAppMessageManager()dans cette activité onResume():
@Override
public void onResume() {
super.onResume();
// Registers the BrazeInAppMessageManager for the current Activity. This Activity will now listen for
// in-app messages from Braze.
BrazeInAppMessageManager.getInstance().registerInAppMessageManager(activity);
}
public override fun onResume() {
super.onResume()
// Registers the BrazeInAppMessageManager for the current Activity. This Activity will now listen for
// in-app messages from Braze.
BrazeInAppMessageManager.getInstance().registerInAppMessageManager(this)
}
Dans chaque activité oùregisterInAppMessageManager() a été appelé, veuillez appelerunregisterInAppMessageManager() dans le onPause():
@Override
public void onPause() {
super.onPause();
// Unregisters the BrazeInAppMessageManager for the current Activity.
BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(activity);
}
public override fun onPause() {
super.onPause()
// Unregisters the BrazeInAppMessageManager.
BrazeInAppMessageManager.getInstance().unregisterInAppMessageManager(this)
}
Étape 2 : Veuillez mettre à jour la liste de blocage du gestionnaire (facultatif)
Dans votre intégration, vous pouvez exiger que certaines activités de votre application n’affichent pas de messages in-app. L’intégration du rappel du cycle de vie de l’activité offre un moyen simple d’y parvenir.
L’exemple de code suivant ajoute deux activités à la liste de blocage de l’enregistrement des messages in-app, SplashActivity et SettingsActivity:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Set<Class> inAppMessageBlocklist = new HashSet<>();
inAppMessageBlocklist.add(SplashActivity.class);
inAppMessageBlocklist.add(SettingsActivity.class);
registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener(inAppMessageBlocklist));
}
}
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
val inAppMessageBlocklist = HashSet<Class<*>>()
inAppMessageBlocklist.add(SplashActivity::class.java)
inAppMessageBlocklist.add(SettingsActivity::class.java)
registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener(inAppMessageBlocklist))
}
}
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Braze Swift. Vous devrez également activer les messages in-app.
Types de messages
Chaque type de message in-app est hautement personnalisable en termes de contenu, d’images, d’icônes, d’actions de clic, d’analyse, d’affichage et de distribution. Il s’agit de types énumérés de Braze.InAppMessage, qui définit le comportement et les caractéristiques de base de tous les messages in-app. Pour obtenir la liste complète des propriétés et de l’utilisation des messages in-app, consultez la classe InAppMessage.
Voici les types de messages in-app disponibles dans Braze et leur apparence pour les utilisateurs finaux.
Les messages in-app de type Modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app de type Modal Image apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Ces messages sont similaires au type Modal, mais sans en-tête ni texte de message. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app Full sont utiles pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. La moitié supérieure d’un message in-app Full contient une image, et la moitié inférieure affiche du texte et jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app Full Image sont similaires aux messages in-app Full, sauf qu’ils ne comportent pas d’en-tête ni de texte de message. Ce type de message est utile pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. Un message in-app Full Image contient une image qui s’étend sur tout l’écran, avec la possibilité d’afficher jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu des messages in-app HTML complet défini par l’utilisateur est affiché dans un WKWebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total de l’apparence et de la fonctionnalité du message.
Les messages in-app iOS prennent en charge une interface JavaScript brazeBridge pour appeler des méthodes sur le SDK Braze pour le Web depuis votre HTML. Pour plus d’informations, consultez nos meilleures pratiques.
L’exemple suivant montre un message in-app HTML complet paginé :

Notez que nous ne prenons actuellement pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.
Les messages in-app Control ne contiennent pas de composant d’interface utilisateur et sont utilisés principalement à des fins d’analyse. Ce type est utilisé pour vérifier la réception d’un message in-app envoyé à un groupe de contrôle.
Pour plus de détails sur l’optimisation automatique des variantes et les groupes de contrôle, reportez-vous à la section Optimiser avec BrazeAITM.
Activation des messages in-app
Étape 1 : Créez une implémentation de BrazeInAppMessagePresenter
Pour permettre à Braze d’afficher des messages in-app, créez une implémentation du protocole BrazeInAppMessagePresenter et attribuez-la à l’option inAppMessagePresenter de votre instance Braze. Vous pouvez également utiliser le présentateur par défaut de Braze UI en instanciant un objet BrazeInAppMessageUI.
Notez que vous devrez importer la bibliothèque BrazeUI pour accéder à la classe BrazeInAppMessageUI.
AppDelegate.braze?.inAppMessagePresenter = BrazeInAppMessageUI()
AppDelegate.braze.inAppMessagePresenter = [[BrazeInAppMessageUI alloc] init];
Étape 2 : Manipuler aucun déclencheur correspondant
Mettre en œuvre BrazeDelegate.(_:noMatchingTriggerForEvent) dans la classe BrazeDelegate concernée. Lorsque Braze ne parvient pas à trouver un déclencheur correspondant à un événement particulier, il appelle automatiquement cette méthode.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Android de Braze.
À propos de la prise en charge de la télévision et de l’OTT
Le SDK Android Braze prend nativement en charge l’affichage des messages in-app sur les appareils OTT comme Android TV ou Fire Stick. Cependant, il existe des différences essentielles entre les messages natifs Android et les messages in-app OTT. Pour les appareils OTT :
- Les messages in-app qui nécessitent un mode tactile, comme les messages contextuels, sont désactivés sur OTT.
- L’élément actuellement sélectionné ou ciblé, tel qu’un bouton ou un bouton de fermeture, sera mis en surbrillance.
- Les clics sur le corps du message in-app lui-même, c.-à-d., pas sur un bouton, ne sont pas pris en charge.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK Braze Cordova.
Types de messages
Braze propose plusieurs types de messages in-app par défaut, chacun personnalisable avec des messages, des images, des icônes Font Awesome, des actions au clic, des analyses, des palettes de couleurs, et bien plus encore.
Leur comportement et leurs caractéristiques de base sont définis par l’interface IInAppMessage, dans une sous-classe appelée InAppMessageBase. IInAppMessage comprend également une sous-interface, IInAppMessageImmersive, qui vous permet d’ajouter des boutons de fermeture, d’action au clic et d’analyse à votre application.

Veuillez noter que les messages in-app contenant des boutons incluront le message clickAction dans le payload final si l’action au clic est ajoutée avant le texte du bouton.
Les messages in-app de type modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus importantes, ils peuvent être équipés de deux boutons avec actions au clic et suivi analytique.
Ce type de message est une sous-classe de InAppMessageImmersiveBase, une classe abstraite qui implémente IInAppMessageImmersive, vous permettant d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type full sont utiles pour maximiser le contenu et l’impact de votre communication utilisateur. La moitié supérieure d’un message in-app full contient une image, et la moitié inférieure affiche du texte ainsi que jusqu’à deux boutons avec actions au clic et suivi analytique.
Ce type de message étend InAppMessageImmersiveBase, vous offrant la possibilité d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu HTML défini par l’utilisateur est affiché dans une WebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total sur l’apparence et la fonctionnalité du message.
Ce type de message implémente IInAppMessageHtml, qui est une sous-classe de IInAppMessage.

Sur Android, les liens configurés avec target="_blank" dans les messages in-app HTML personnalisés s’ouvrent dans le navigateur web par défaut de l’appareil.
Les messages in-app Android prennent en charge une interface JavaScript brazeBridge permettant d’appeler des méthodes du SDK Android de Braze depuis votre HTML. Consultez notre page sur le pont JavaScript pour plus de détails.


Actuellement, nous ne prenons pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.

Vous pouvez également définir des vues personnalisées pour les messages in-app de votre application. Pour une procédure détaillée, consultez Configuration des fabriques personnalisées.
Chaque type de message in-app est hautement personnalisable en termes de contenu, d’images, d’icônes, d’actions de clic, d’analyse, d’affichage et de distribution. Il s’agit de types énumérés de Braze.InAppMessage, qui définit le comportement et les caractéristiques de base de tous les messages in-app. Pour obtenir la liste complète des propriétés et de l’utilisation des messages in-app, consultez la classe InAppMessage.
Voici les types de messages in-app disponibles dans Braze et leur apparence pour les utilisateurs finaux.
Les messages in-app de type Modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app de type Modal Image apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Ces messages sont similaires au type Modal, mais sans en-tête ni texte de message. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app Full sont utiles pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. La moitié supérieure d’un message in-app Full contient une image, et la moitié inférieure affiche du texte et jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app Full Image sont similaires aux messages in-app Full, sauf qu’ils ne comportent pas d’en-tête ni de texte de message. Ce type de message est utile pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. Un message in-app Full Image contient une image qui s’étend sur tout l’écran, avec la possibilité d’afficher jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu des messages in-app HTML complet défini par l’utilisateur est affiché dans un WKWebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total de l’apparence et de la fonctionnalité du message.
Les messages in-app iOS prennent en charge une interface JavaScript brazeBridge pour appeler des méthodes sur le SDK Braze pour le Web depuis votre HTML. Pour plus d’informations, consultez nos meilleures pratiques.
L’exemple suivant montre un message in-app HTML complet paginé :

Notez que nous ne prenons actuellement pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.
Les messages in-app Control ne contiennent pas de composant d’interface utilisateur et sont utilisés principalement à des fins d’analyse. Ce type est utilisé pour vérifier la réception d’un message in-app envoyé à un groupe de contrôle.
Pour plus de détails sur l’optimisation automatique des variantes et les groupes de contrôle, reportez-vous à la section Optimiser avec BrazeAITM.
Prérequis
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Flutter Braze.
Types de messages
Braze propose plusieurs types de messages in-app par défaut, chacun personnalisable avec des messages, des images, des icônes Font Awesome, des actions au clic, des analyses, des palettes de couleurs, et bien plus encore.
Leur comportement et leurs caractéristiques de base sont définis par l’interface IInAppMessage, dans une sous-classe appelée InAppMessageBase. IInAppMessage comprend également une sous-interface, IInAppMessageImmersive, qui vous permet d’ajouter des boutons de fermeture, d’action au clic et d’analyse à votre application.

Veuillez noter que les messages in-app contenant des boutons incluront le message clickAction dans le payload final si l’action au clic est ajoutée avant le texte du bouton.
Les messages in-app de type modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus importantes, ils peuvent être équipés de deux boutons avec actions au clic et suivi analytique.
Ce type de message est une sous-classe de InAppMessageImmersiveBase, une classe abstraite qui implémente IInAppMessageImmersive, vous permettant d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type full sont utiles pour maximiser le contenu et l’impact de votre communication utilisateur. La moitié supérieure d’un message in-app full contient une image, et la moitié inférieure affiche du texte ainsi que jusqu’à deux boutons avec actions au clic et suivi analytique.
Ce type de message étend InAppMessageImmersiveBase, vous offrant la possibilité d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu HTML défini par l’utilisateur est affiché dans une WebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total sur l’apparence et la fonctionnalité du message.
Ce type de message implémente IInAppMessageHtml, qui est une sous-classe de IInAppMessage.

Sur Android, les liens configurés avec target="_blank" dans les messages in-app HTML personnalisés s’ouvrent dans le navigateur web par défaut de l’appareil.
Les messages in-app Android prennent en charge une interface JavaScript brazeBridge permettant d’appeler des méthodes du SDK Android de Braze depuis votre HTML. Consultez notre page sur le pont JavaScript pour plus de détails.


Actuellement, nous ne prenons pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.

Vous pouvez également définir des vues personnalisées pour les messages in-app de votre application. Pour une procédure détaillée, consultez Configuration des fabriques personnalisées.
Chaque type de message in-app est hautement personnalisable en termes de contenu, d’images, d’icônes, d’actions de clic, d’analyse, d’affichage et de distribution. Il s’agit de types énumérés de Braze.InAppMessage, qui définit le comportement et les caractéristiques de base de tous les messages in-app. Pour obtenir la liste complète des propriétés et de l’utilisation des messages in-app, consultez la classe InAppMessage.
Voici les types de messages in-app disponibles dans Braze et leur apparence pour les utilisateurs finaux.
Les messages in-app de type Modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app de type Modal Image apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Ces messages sont similaires au type Modal, mais sans en-tête ni texte de message. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app Full sont utiles pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. La moitié supérieure d’un message in-app Full contient une image, et la moitié inférieure affiche du texte et jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app Full Image sont similaires aux messages in-app Full, sauf qu’ils ne comportent pas d’en-tête ni de texte de message. Ce type de message est utile pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. Un message in-app Full Image contient une image qui s’étend sur tout l’écran, avec la possibilité d’afficher jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu des messages in-app HTML complet défini par l’utilisateur est affiché dans un WKWebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total de l’apparence et de la fonctionnalité du message.
Les messages in-app iOS prennent en charge une interface JavaScript brazeBridge pour appeler des méthodes sur le SDK Braze pour le Web depuis votre HTML. Pour plus d’informations, consultez nos meilleures pratiques.
L’exemple suivant montre un message in-app HTML complet paginé :

Notez que nous ne prenons actuellement pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.
Les messages in-app Control ne contiennent pas de composant d’interface utilisateur et sont utilisés principalement à des fins d’analyse. Ce type est utilisé pour vérifier la réception d’un message in-app envoyé à un groupe de contrôle.
Pour plus de détails sur l’optimisation automatique des variantes et les groupes de contrôle, reportez-vous à la section Optimiser avec BrazeAITM.
Activation des messages in-app
Le SDK Flutter de Braze configure automatiquement le présentateur par défaut des messages in-app sur Android et iOS. Les messages in-app sont affichés et transmis à la couche Dart sans configuration supplémentaire.
Personnalisation du présentateur de messages in-app sur iOS
Pour remplacer le présentateur par défaut des messages in-app sur iOS, utilisez la closure postInitialization dans BrazePlugin.configure(_:postInitialization:). Votre présentateur personnalisé doit appeler BrazePlugin.processInAppMessage(message) pour transmettre les données du message in-app à la couche Dart.
import BrazeUI
BrazePlugin.configure(
{ configuration in
// Set non-API-key configurations here.
},
postInitialization: { braze in
let customPresenter = CustomInAppMessagePresenter()
braze.inAppMessagePresenter = customPresenter
}
)
Dans la classe du présentateur personnalisé, appelez BrazePlugin.processInAppMessage(message) et super.present(message: message) pour transmettre les données à Dart et afficher l’interface par défaut.
class CustomInAppMessagePresenter: BrazeInAppMessageUI {
override func present(message: Braze.InAppMessage) {
BrazePlugin.processInAppMessage(message)
super.present(message: message)
}
}

Cette étape concerne uniquement iOS. La configuration par défaut pour les messages in-app est déjà en place sur Android.
Pour configurer le présentateur par défaut des messages in-app sur iOS, créez une implémentation du protocole BrazeInAppMessagePresenter et affectez-la à la propriété facultative inAppMessagePresenter de votre instance Braze. Vous pouvez également utiliser le présentateur par défaut de Braze UI en instanciant un objet BrazeInAppMessageUI.
Vous devez importer la bibliothèque BrazeUI pour accéder à la classe BrazeInAppMessageUI.
import BrazeUI
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
...
let braze = BrazePlugin.initBraze(configuration)
braze.inAppMessagePresenter = BrazeInAppMessageUI()
AppDelegate.braze = braze
return true
}
@import BrazeUI;
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
Braze *braze = [BrazePlugin initBraze:configuration];
braze.inAppMessagePresenter = [[BrazeInAppMessageUI alloc] init];
AppDelegate.braze = braze;
[self.window makeKeyAndVisible];
return YES;
}
Pour en savoir plus sur l’accès aux données des messages in-app, consultez la section Enregistrement des données des messages in-app.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK React Native de Braze.
Types de messages
Braze propose plusieurs types de messages in-app par défaut, chacun personnalisable avec des messages, des images, des icônes Font Awesome, des actions au clic, des analyses, des palettes de couleurs, et bien plus encore.
Leur comportement et leurs caractéristiques de base sont définis par l’interface IInAppMessage, dans une sous-classe appelée InAppMessageBase. IInAppMessage comprend également une sous-interface, IInAppMessageImmersive, qui vous permet d’ajouter des boutons de fermeture, d’action au clic et d’analyse à votre application.

Veuillez noter que les messages in-app contenant des boutons incluront le message clickAction dans le payload final si l’action au clic est ajoutée avant le texte du bouton.
Les messages in-app de type modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus importantes, ils peuvent être équipés de deux boutons avec actions au clic et suivi analytique.
Ce type de message est une sous-classe de InAppMessageImmersiveBase, une classe abstraite qui implémente IInAppMessageImmersive, vous permettant d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type full sont utiles pour maximiser le contenu et l’impact de votre communication utilisateur. La moitié supérieure d’un message in-app full contient une image, et la moitié inférieure affiche du texte ainsi que jusqu’à deux boutons avec actions au clic et suivi analytique.
Ce type de message étend InAppMessageImmersiveBase, vous offrant la possibilité d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu HTML défini par l’utilisateur est affiché dans une WebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total sur l’apparence et la fonctionnalité du message.
Ce type de message implémente IInAppMessageHtml, qui est une sous-classe de IInAppMessage.

Sur Android, les liens configurés avec target="_blank" dans les messages in-app HTML personnalisés s’ouvrent dans le navigateur web par défaut de l’appareil.
Les messages in-app Android prennent en charge une interface JavaScript brazeBridge permettant d’appeler des méthodes du SDK Android de Braze depuis votre HTML. Consultez notre page sur le pont JavaScript pour plus de détails.


Actuellement, nous ne prenons pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.

Vous pouvez également définir des vues personnalisées pour les messages in-app de votre application. Pour une procédure détaillée, consultez Configuration des fabriques personnalisées.
Chaque type de message in-app est hautement personnalisable en termes de contenu, d’images, d’icônes, d’actions de clic, d’analyse, d’affichage et de distribution. Il s’agit de types énumérés de Braze.InAppMessage, qui définit le comportement et les caractéristiques de base de tous les messages in-app. Pour obtenir la liste complète des propriétés et de l’utilisation des messages in-app, consultez la classe InAppMessage.
Voici les types de messages in-app disponibles dans Braze et leur apparence pour les utilisateurs finaux.
Les messages in-app de type Modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app de type Modal Image apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Ces messages sont similaires au type Modal, mais sans en-tête ni texte de message. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app Full sont utiles pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. La moitié supérieure d’un message in-app Full contient une image, et la moitié inférieure affiche du texte et jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app Full Image sont similaires aux messages in-app Full, sauf qu’ils ne comportent pas d’en-tête ni de texte de message. Ce type de message est utile pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. Un message in-app Full Image contient une image qui s’étend sur tout l’écran, avec la possibilité d’afficher jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu des messages in-app HTML complet défini par l’utilisateur est affiché dans un WKWebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total de l’apparence et de la fonctionnalité du message.
Les messages in-app iOS prennent en charge une interface JavaScript brazeBridge pour appeler des méthodes sur le SDK Braze pour le Web depuis votre HTML. Pour plus d’informations, consultez nos meilleures pratiques.
L’exemple suivant montre un message in-app HTML complet paginé :

Notez que nous ne prenons actuellement pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.
Les messages in-app Control ne contiennent pas de composant d’interface utilisateur et sont utilisés principalement à des fins d’analyse. Ce type est utilisé pour vérifier la réception d’un message in-app envoyé à un groupe de contrôle.
Pour plus de détails sur l’optimisation automatique des variantes et les groupes de contrôle, reportez-vous à la section Optimiser avec BrazeAITM.
Modèle de données
Le modèle de message in-app est disponible dans le SDK React Native. Braze propose quatre types de messages in-app qui partagent le même modèle de données : contextuel, fenêtre modale, complet et HTML complet.
Messages
Le modèle de message in-app constitue la base de tous les messages in-app.
| Propriété | Description |
|---|---|
inAppMessageJsonString |
La représentation JSON du message. |
message |
Le texte du message. |
header |
L’en-tête du message. |
uri |
L’URI associé à l’action de clic sur le bouton. |
imageUrl |
L’URL de l’image du message. |
zippedAssetsUrl |
Les ressources zippées préparées pour afficher le contenu HTML. |
useWebView |
Indique si l’action de clic sur le bouton doit rediriger via une vue web. |
duration |
La durée d’affichage du message. |
clickAction |
Le type d’action de clic sur le bouton. Les types sont : URI et NONE. |
dismissType |
Le type de fermeture du message. Les deux types sont : SWIPE et AUTO_DISMISS. |
messageType |
Le type de message in-app pris en charge par le SDK. Les quatre types sont : SLIDEUP, MODAL, FULL et HTML_FULL. |
extras |
Le dictionnaire des suppléments du message. Valeur par défaut : [:]. |
buttons |
La liste des boutons du message in-app. |
toString() |
Le message sous forme de chaîne de caractères. |
Pour une référence complète du modèle de message in-app, consultez la documentation Android et iOS.
Boutons
Des boutons peuvent être ajoutés aux messages in-app pour effectuer des actions et enregistrer des données analytiques. Le modèle de bouton constitue la base de tous les boutons de messages in-app.
| Propriété | Description |
|---|---|
text |
Le texte du bouton. |
uri |
L’URI associé à l’action de clic sur le bouton. |
useWebView |
Indique si l’action de clic sur le bouton doit rediriger via une vue web. |
clickAction |
Le type d’action de clic traité lorsque l’utilisateur clique sur le bouton. Les types sont : URI et NONE. |
id |
L’ID du bouton dans le message. |
toString() |
Le bouton sous forme de chaîne de caractères. |
Pour une référence complète du modèle de bouton, consultez la documentation Android et iOS.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Roku de Braze. En outre, les messages in-app ne seront envoyés qu’aux appareils Roku exécutant la version minimale du SDK prise en charge :
Types de messages
Le SDK Roku prend uniquement en charge les messages in-app modaux.
Choisir une méthode d’affichage
Le SDK Roku 2.3.0 et versions ultérieures peut afficher les messages in-app à votre place. Vous pouvez aussi continuer à les afficher avec votre propre interface utilisateur.
| Méthode | Description |
|---|---|
| Interface par défaut | Le SDK affiche les messages in-app modaux et enregistre les impressions et les clics. Cette option est désactivée par défaut. |
| Interface personnalisée | Votre application observe BrazeTask.BrazeInAppMessage, affiche le message et enregistre les impressions et les clics. C’est ainsi que fonctionnent les messages in-app sur les versions antérieures du SDK. |
| Interface par défaut avec remplacements personnalisés | Le SDK affiche les messages in-app modaux, et votre Scene affiche certains messages spécifiques avec sa propre interface. |
Si vous effectuez une mise à niveau et utilisez déjà une interface personnalisée, consultez Mise à niveau vers le SDK Roku 2.3.0. Votre interface personnalisée continue de fonctionner tant que vous n’activez pas l’interface par défaut.
Utilisation de l’interface utilisateur par défaut

L’interface utilisateur par défaut nécessite le sdk Roku 2.3.0 ou une version ultérieure.
Étape 1 : Ajouter les fichiers de l’interface utilisateur par défaut
Ajoutez les fichiers suivants du répertoire sdk_files/components du dépôt du SDK Braze pour Roku au répertoire components de votre application :
BrazeDefaultInAppMessage.brsBrazeDefaultInAppMessage.xmlBrazeDefaultInAppMessageStyles.brs
Si ces fichiers sont absents, le SDK enregistre le message BrazeDefaultInAppMessage component not found dans les journaux et n’affiche pas le message.
Étape 2 : Activer l’interface utilisateur par défaut
Dans main.brs, définissez automatic_iam_display sur true dans votre configuration Braze :
config[config_fields.AUTOMATIC_IAM_DISPLAY] = true
globalNode.addFields({brazeConfig: config})
Étape 3 : Initialiser Braze depuis votre Scene
Appelez getBrazeInstance() depuis votre composant Scene, par exemple dans init() :
sub init()
m.BrazeTask = CreateObject("roSGNode", "BrazeTask")
m.Braze = getBrazeInstance(m.BrazeTask)
end sub

Si vous appelez getBrazeInstance() depuis un autre composant, le SDK ne peut pas rattacher la superposition à la Scene, et le message est perdu.
Vous n’avez pas besoin d’observer BrazeTask.BrazeInAppMessage ni de créer une interface utilisateur pour les messages par défaut.
Fonctionnement de l’interface utilisateur par défaut
Messages pris en charge
L’interface utilisateur par défaut affiche uniquement les messages in-app MODAL. Le SDK ignore les autres types et consigne une erreur.
L’interface utilisateur par défaut utilise les champs suivants et ignore tous les autres.
| Champ | Utilisation par l’interface utilisateur par défaut |
|---|---|
image_url |
Image en haut du message. |
header |
Texte de l’en-tête. |
message |
Texte du corps. |
text_align |
Alignement de l’en-tête et du corps : "START", "CENTER" ou "END". |
bg_color |
Couleur d’arrière-plan du message. |
frame_color |
Couleur de la superposition plein écran derrière le message. |
header_text_color |
Couleur du texte de l’en-tête. |
message_text_color |
Couleur du texte du corps. |
close_button_color |
Couleur du bouton de fermeture ×. |
buttons |
Jusqu’à deux boutons. Chaque bouton utilise ses propriétés text, bg_color et text_color. |
Affichage et fermeture
Pour chaque message modal, le SDK effectue les opérations suivantes :
- Il attend
display_delaysecondes, si ce paramètre est défini. - Il ajoute une superposition plein écran
BrazeDefaultInAppMessageà votre Scene et lui donne le focus. - Il enregistre l’impression.
- Il efface
BrazeTask.BrazeInAppMessage. - Lorsque le message se ferme, il supprime la superposition et restaure le focus.
Si dismiss_type est défini sur AUTO_DISMISS, le message se ferme après duration millisecondes et aucun clic n’est enregistré. Sinon, le message reste affiché jusqu’à ce que l’utilisateur le ferme.
Le SDK affiche un seul message à la fois et ne place pas les messages en file d’attente :
- Un message plus récent annule un message qui attend encore la fin de son
display_delay. - Un message plus récent remplace le message à l’écran au moment où il s’affiche, après son propre
display_delay. - Les messages ignorés (qui ne sont pas de type
MODALou qui n’ont pas de valeurmessage) n’annulent ni ne remplacent rien.
Télécommande
| Touche | Résultat |
|---|---|
| Gauche et Droite | Permet de passer d’un bouton à l’autre (jusqu’à deux). |
| Haut et Bas | Permet d’accéder au bouton de fermeture × et d’en revenir. |
| OK sur un bouton | Enregistre un clic sur le bouton, ferme le message et appelle brazeHandleInAppMessageClick. |
| OK sans bouton | Enregistre un clic sur le corps, ferme le message et appelle brazeHandleInAppMessageClick. |
| OK sur le bouton de fermeture × | Ferme le message. Aucun clic n’est enregistré et brazeHandleInAppMessageClick n’est pas appelé. |
| Retour | Ferme le message. Aucun clic n’est enregistré et brazeHandleInAppMessageClick n’est pas appelé. |
| Toute autre touche | Ignorée. La superposition capture tous les événements de touche. |
Focus
Si votre application appelle setFocus pendant que la superposition est affichée (par exemple lors du chargement de contenu, d’un changement d’écran ou de la lecture d’une vidéo), la superposition reprend le focus. Lorsque le message se ferme, le focus revient au dernier nœud sur lequel votre application l’avait placé.
Si votre application ouvre un dialog de Scene pendant que la superposition est affichée, la boîte de dialogue conserve le focus jusqu’à sa fermeture.
Gestion des clics et des deep links
Le SDK n’ouvre jamais d’URI. Pour gérer les valeurs click_action et uri d’un message, implémentez brazeHandleInAppMessageClick(event) dans votre Scene et déclarez-la dans l’<interface> de la Scene. Si elle n’est pas déclarée, le SDK ne l’appelle pas.
<component name="MainScene" extends="Scene">
<interface>
<function name="brazeHandleInAppMessageClick" />
</interface>
...
</component>
Le paramètre event présente la structure suivante :
{
in_app_message: <message AA>,
button: <button AA, or invalid for a body click>,
button_index: <0 or 1, or -1 for a body click>
}
Gardez les points suivants à l’esprit :
- Le SDK appelle cette fonction après avoir retiré la superposition et restauré le focus. Vous pouvez donc ouvrir un nouvel écran depuis cette fonction.
- Les boutons dont la valeur
click_actionest"NONE"appellent également cette fonction. Vérifiezclick_actionavant d’agir. - Le SDK ignore la valeur renvoyée.
- Le SDK n’appelle pas cette fonction lorsque l’utilisateur ferme le message avec le bouton de fermeture ×, la touche Retour ou
AUTO_DISMISS. - Le SDK n’appelle pas cette fonction pour les messages que vous affichez avec
brazeHandleCustomInAppMessage.
Exemple : Rediriger un deep link
- Dans le tableau de bord de Braze, définissez le comportement au clic du message ou du bouton sur un deep link dont l’URI est comprise par votre application, par exemple
myapp://details/123. Le SDK le transmet avecclick_action = "URI", l’URI se trouvant dansuri. - Dans
brazeHandleInAppMessageClick, analysez l’URI et redirigez vers l’écran correspondant :
function brazeHandleInAppMessageClick(event as object) as boolean
target = event.button
if target = invalid then target = event.in_app_message
if target.click_action <> "URI" then return false
if target.uri = invalid then return false
uri = target.uri.ToStr()
prefix = "myapp://details/"
if Left(uri, Len(prefix)) = prefix
' ShowDetailsScreen is a function in your app.
ShowDetailsScreen(Mid(uri, Len(prefix) + 1))
return true
end if
return false
end function

La valeur uri peut arriver sous forme de nombre, par exemple si la valeur saisie dans le tableau de bord est numérique. Convertissez-la avec ToStr() avant de l’analyser.
Afficher des messages spécifiques avec une interface utilisateur personnalisée
Pour afficher certains messages avec votre propre interface utilisateur et utiliser l’interface par défaut pour les autres, implémentez brazeHandleCustomInAppMessage(in_app_message) dans votre Scene et déclarez-la dans l’<interface> de la Scene.
Le SDK appelle cette fonction pour chaque message MODAL après le display_delay. Renvoyez true si vous avez affiché le message vous-même. Renvoyez false pour l’afficher avec l’interface utilisateur par défaut.
<interface>
<function name="brazeHandleCustomInAppMessage" />
<function name="brazeHandleInAppMessageClick" />
</interface>
function brazeHandleCustomInAppMessage(in_app_message as object) as boolean
if in_app_message.extras <> invalid and in_app_message.extras.msgtype = "sidebyside"
' getDeepestFocusedNode is a helper in the sample app's MainScene.brs.
m.oldFocus = getDeepestFocusedNode(m.top.focusedChild)
m.customMsg = CreateObject("roSGNode", "CustomSideBySideInAppMessage")
m.top.appendChild(m.customMsg)
m.customMsg.BrazeTask = m.BrazeTask
m.customMsg.inappmessage = in_app_message
m.customMsg.setFocus(true)
m.customMsg.ObserveField("isClosed", "reclaimFocus")
return true
end if
return false
end function
sub reclaimFocus()
m.top.removeChild(m.customMsg)
m.customMsg = invalid
if m.oldFocus <> invalid then m.oldFocus.setFocus(true)
end sub
Pour un exemple complet de composant personnalisé, consultez CustomSideBySideInAppMessage dans l’application d’exemple torchietv du dépôt du SDK Roku de Braze.
Gardez les points suivants à l’esprit :
- Le SDK appelle cette fonction uniquement lorsque
automatic_iam_displayvauttrueet que les fichiers de l’interface utilisateur par défaut sont présents dans votre application. - Seuls les messages
MODALatteignent cette fonction. - Votre interface personnalisée doit se charger elle-même d’enregistrer les impressions, les clics et les clics sur les boutons, de supprimer son propre nœud et de restaurer le focus.
- Le SDK efface lui-même
BrazeTask.BrazeInAppMessageet applique ledisplay_delay: vous n’avez donc à gérer ni l’un ni l’autre. - Lorsqu’un message plus récent arrive, le SDK supprime la superposition par défaut avant d’appeler cette fonction. En revanche, il ne peut pas supprimer une mise en page personnalisée que vous avez affichée auparavant : supprimez-la donc dans votre Scene.
Utiliser une interface utilisateur personnalisée pour tous les messages
Si vous ne définissez pas automatic_iam_display, votre application gère chaque message in-app. Votre observateur, votre interface utilisateur et votre journalisation fonctionnent comme avant la version 2.3.0 du SDK Roku, pour tous les types de messages.
Étape 1 : Ajouter un observateur
Pour traiter les messages in-app, vous pouvez ajouter un observateur sur BrazeTask.BrazeInAppMessage :
m.BrazeTask.observeField("BrazeInAppMessage", "onInAppMessageReceived")
Étape 2 : Accéder aux messages déclenchés
Ensuite, dans votre gestionnaire, vous avez accès au message in-app le plus prioritaire déclenché par vos Campaigns :
sub onInAppMessageReceived()
in_app_message = m.BrazeTask.BrazeInAppMessage
...
end sub
Passer au SDK Roku 2.3.0
Le SDK Roku 2.3.0 ajoute l’interface utilisateur par défaut. Elle est désactivée par défaut : la mise à niveau ne modifie donc pas l’affichage de vos messages in-app. Choisissez l’une des options suivantes.
Conserver votre interface utilisateur personnalisée
- Remplacez vos fichiers SDK existants par ceux du répertoire
sdk_filesde la version 2.3.0. - Ne définissez pas
automatic_iam_display.
Votre observateur, votre interface utilisateur et votre journalisation fonctionnent comme avant, pour tous les types de messages. Le SDK n’utilise les fichiers BrazeDefaultInAppMessage que lorsque automatic_iam_display vaut true : vous pouvez donc les copier sans risque avec le reste de sdk_files.
Passer à l’interface utilisateur par défaut
- Remplacez vos fichiers SDK existants par ceux du répertoire
sdk_filesde la version 2.3.0, puis ajoutez les fichiersBrazeDefaultInAppMessage.brs,BrazeDefaultInAppMessage.xmletBrazeDefaultInAppMessageStyles.brsàcomponents. Votre ancien composant d’exempleBrazeInAppMessagen’est pas modifié. Vous pouvez le supprimer une fois la transition effectuée. - Activez l’interface utilisateur par défaut.
- Vérifiez que
getBrazeInstance()est appelé depuis votre Scene. - Supprimez votre gestion actuelle des messages in-app :
- L’observateur :
m.BrazeTask.observeField("BrazeInAppMessage", "onInAppMessageReceived")et son gestionnaire - La création et l’ajout de votre nœud de message in-app
- Les appels à
LogInAppMessageImpression,LogInAppMessageClicketLogInAppMessageButtonClick m.BrazeTask.BrazeInAppMessage = invalid
- L’observateur :
- Déplacez votre gestion des clics et des deep links vers
brazeHandleInAppMessageClick.

Le SDK ajoute son propre observateur sans remplacer le vôtre. Si vous conservez votre observateur et votre journalisation après avoir activé l’interface utilisateur par défaut, les messages peuvent s’afficher deux fois, et les impressions et les clics sont enregistrés en double.
Conserver certaines de vos mises en page personnalisées
Suivez les étapes de la section Passer à l’interface utilisateur par défaut. Déplacez ensuite le code de rendu de votre ancien gestionnaire vers brazeHandleCustomInAppMessage.
Par rapport à votre ancien gestionnaire :
- Conservez votre journalisation des impressions et des clics.
- Continuez à supprimer votre propre nœud et à restaurer le focus.
- Supprimez
m.BrazeTask.BrazeInAppMessage = invalid. Le SDK s’en charge. - Supprimez votre propre gestion de
display_delay. Le SDK l’applique. - Seuls les messages
MODALparviennent à la fonction. Si vous affichez d’autres types de messages, continuez à utiliser une interface utilisateur personnalisée pour tous les messages.
Champs de message
Ces champs sont disponibles sur in_app_message lorsque vous affichez les messages avec une interface utilisateur personnalisée. L’interface utilisateur par défaut les applique automatiquement.
Gestion
Voici les champs dont vous aurez besoin pour gérer vos messages in-app :
| Champs | Description |
|---|---|
buttons |
Liste des boutons (peut être une liste vide). |
click_action |
"URI" ou "NONE". Utilisez ce champ pour indiquer si le message in-app doit ouvrir un lien URI ou se fermer lors d’un clic. En l’absence de boutons, ce comportement doit se produire lorsque l’utilisateur clique sur « OK » pendant l’affichage du message in-app. |
dismiss_type |
"AUTO_DISMISS" ou "SWIPE". Utilisez ce champ pour indiquer si votre message in-app se fermera automatiquement ou s’il faudra le balayer pour le fermer. |
display_delay |
Délai d’attente (en secondes) avant l’affichage du message in-app. |
duration |
Durée d’affichage du message (en millisecondes) lorsque dismiss_type est défini sur "AUTO_DISMISS". |
extras |
Paires clé-valeur. |
header |
Le texte de l’en-tête. |
id |
L’ID utilisé pour enregistrer les impressions ou les clics. |
image_url |
URL de l’image du message in-app. |
message |
Texte du corps du message. |
uri |
L’URI vers lequel vos utilisateurs seront redirigés en fonction de votre click_action. Ce champ doit être inclus lorsque click_action est "URI". |

Pour les messages in-app contenant des boutons, la valeur click_action du message sera également incluse dans le payload final si l’action de clic est ajoutée avant le texte du bouton.
Style
Vous pouvez également utiliser divers champs de style depuis le tableau de bord :
| Champs | Description |
|---|---|
bg_color |
Couleur d’arrière-plan. |
close_button_color |
Couleur du bouton de fermeture. |
frame_color |
La couleur de la superposition d’arrière-plan de l’écran. |
header_text_color |
Couleur du texte de l’en-tête. |
message_text_color |
Couleur du texte du message. |
text_align |
« START », « CENTER » ou « END ». L’alignement de texte sélectionné. |
Vous pouvez aussi implémenter le message in-app et lui appliquer un style directement dans votre application Roku à l’aide d’une palette standard :
Boutons
| Champs | Description |
|---|---|
click_action |
"URI" ou "NONE". Utilisez ce champ pour indiquer si le message in-app doit ouvrir un lien URI ou se fermer lors d’un clic. |
id |
La valeur de l’ID du bouton lui-même. |
text |
Le texte à afficher sur le bouton. |
uri |
L’URI vers lequel vos utilisateurs seront redirigés en fonction de votre click_action. Ce champ doit être inclus lorsque click_action est "URI". |

Gardez à l’esprit que vous devrez implémenter votre propre interface utilisateur personnalisée, étant donné que l’envoi de messages in-app est pris en charge par une interface utilisateur Headless à l’aide du SDK Swift, qui n’inclut pas d’interface utilisateur ou de vues par défaut pour tvOS.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Braze Swift.
Activation des messages in-app
Étape 1 : Créer une nouvelle application iOS
Dans Braze, sélectionnez Paramètres > Paramètres des applications, puis Ajouter une application. Saisissez un nom pour votre application tvOS, sélectionnez iOS, et non tvOS, puis sélectionnez Ajouter une application.


Si vous cochez la case tvOS, vous ne pourrez pas personnaliser les messages in-app pour tvOS.
Étape 2 : Obtenir la clé API de votre application
Dans les paramètres de votre application, sélectionnez votre nouvelle appli tvOS, puis prenez note de la clé API de votre appli. Vous utiliserez cette clé pour configurer votre application dans Xcode.

Étape 3 : Intégrer BrazeKit
Utilisez la clé API de votre application pour intégrer le SDK Braze Swift à votre projet tvOS dans Xcode. Il vous suffit d’intégrer BrazeKit à partir du SDK Swift de Braze.
Étape 4 : Créez votre interface utilisateur personnalisée
Braze ne proposant pas d’interface utilisateur par défaut pour les messages in-app sur tvOS, vous devrez la personnaliser vous-même. Pour une description complète, consultez notre tutoriel étape par étape : Personnalisation des messages in-app pour tvOS. Pour obtenir un exemple de projet, consultez les exemples du SDK Swift de Braze.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK Unity Braze.
Types de messages
Braze propose plusieurs types de messages in-app par défaut, chacun personnalisable avec des messages, des images, des icônes Font Awesome, des actions au clic, des analyses, des palettes de couleurs, et bien plus encore.
Leur comportement et leurs caractéristiques de base sont définis par l’interface IInAppMessage, dans une sous-classe appelée InAppMessageBase. IInAppMessage comprend également une sous-interface, IInAppMessageImmersive, qui vous permet d’ajouter des boutons de fermeture, d’action au clic et d’analyse à votre application.

Veuillez noter que les messages in-app contenant des boutons incluront le message clickAction dans le payload final si l’action au clic est ajoutée avant le texte du bouton.
Les messages in-app de type modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus importantes, ils peuvent être équipés de deux boutons avec actions au clic et suivi analytique.
Ce type de message est une sous-classe de InAppMessageImmersiveBase, une classe abstraite qui implémente IInAppMessageImmersive, vous permettant d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type full sont utiles pour maximiser le contenu et l’impact de votre communication utilisateur. La moitié supérieure d’un message in-app full contient une image, et la moitié inférieure affiche du texte ainsi que jusqu’à deux boutons avec actions au clic et suivi analytique.
Ce type de message étend InAppMessageImmersiveBase, vous offrant la possibilité d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu HTML défini par l’utilisateur est affiché dans une WebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total sur l’apparence et la fonctionnalité du message.
Ce type de message implémente IInAppMessageHtml, qui est une sous-classe de IInAppMessage.

Sur Android, les liens configurés avec target="_blank" dans les messages in-app HTML personnalisés s’ouvrent dans le navigateur web par défaut de l’appareil.
Les messages in-app Android prennent en charge une interface JavaScript brazeBridge permettant d’appeler des méthodes du SDK Android de Braze depuis votre HTML. Consultez notre page sur le pont JavaScript pour plus de détails.


Actuellement, nous ne prenons pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.

Vous pouvez également définir des vues personnalisées pour les messages in-app de votre application. Pour une procédure détaillée, consultez Configuration des fabriques personnalisées.
Chaque type de message in-app est hautement personnalisable en termes de contenu, d’images, d’icônes, d’actions de clic, d’analyse, d’affichage et de distribution. Il s’agit de types énumérés de Braze.InAppMessage, qui définit le comportement et les caractéristiques de base de tous les messages in-app. Pour obtenir la liste complète des propriétés et de l’utilisation des messages in-app, consultez la classe InAppMessage.
Voici les types de messages in-app disponibles dans Braze et leur apparence pour les utilisateurs finaux.
Les messages in-app de type Modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app de type Modal Image apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Ces messages sont similaires au type Modal, mais sans en-tête ni texte de message. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app Full sont utiles pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. La moitié supérieure d’un message in-app Full contient une image, et la moitié inférieure affiche du texte et jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app Full Image sont similaires aux messages in-app Full, sauf qu’ils ne comportent pas d’en-tête ni de texte de message. Ce type de message est utile pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. Un message in-app Full Image contient une image qui s’étend sur tout l’écran, avec la possibilité d’afficher jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu des messages in-app HTML complet défini par l’utilisateur est affiché dans un WKWebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total de l’apparence et de la fonctionnalité du message.
Les messages in-app iOS prennent en charge une interface JavaScript brazeBridge pour appeler des méthodes sur le SDK Braze pour le Web depuis votre HTML. Pour plus d’informations, consultez nos meilleures pratiques.
L’exemple suivant montre un message in-app HTML complet paginé :

Notez que nous ne prenons actuellement pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.
Les messages in-app Control ne contiennent pas de composant d’interface utilisateur et sont utilisés principalement à des fins d’analyse. Ce type est utilisé pour vérifier la réception d’un message in-app envoyé à un groupe de contrôle.
Pour plus de détails sur l’optimisation automatique des variantes et les groupes de contrôle, reportez-vous à la section Optimiser avec BrazeAITM.
Conditions préalables
Avant de pouvoir utiliser cette fonctionnalité, vous devez intégrer le SDK Braze .NET MAUI.
Types de messages
Braze propose plusieurs types de messages in-app par défaut, chacun personnalisable avec des messages, des images, des icônes Font Awesome, des actions au clic, des analyses, des palettes de couleurs, et bien plus encore.
Leur comportement et leurs caractéristiques de base sont définis par l’interface IInAppMessage, dans une sous-classe appelée InAppMessageBase. IInAppMessage comprend également une sous-interface, IInAppMessageImmersive, qui vous permet d’ajouter des boutons de fermeture, d’action au clic et d’analyse à votre application.

Veuillez noter que les messages in-app contenant des boutons incluront le message clickAction dans le payload final si l’action au clic est ajoutée avant le texte du bouton.
Les messages in-app de type modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus importantes, ils peuvent être équipés de deux boutons avec actions au clic et suivi analytique.
Ce type de message est une sous-classe de InAppMessageImmersiveBase, une classe abstraite qui implémente IInAppMessageImmersive, vous permettant d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type full sont utiles pour maximiser le contenu et l’impact de votre communication utilisateur. La moitié supérieure d’un message in-app full contient une image, et la moitié inférieure affiche du texte ainsi que jusqu’à deux boutons avec actions au clic et suivi analytique.
Ce type de message étend InAppMessageImmersiveBase, vous offrant la possibilité d’ajouter des fonctionnalités personnalisées à vos messages in-app générés localement.

Les messages in-app de type HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu HTML défini par l’utilisateur est affiché dans une WebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total sur l’apparence et la fonctionnalité du message.
Ce type de message implémente IInAppMessageHtml, qui est une sous-classe de IInAppMessage.

Sur Android, les liens configurés avec target="_blank" dans les messages in-app HTML personnalisés s’ouvrent dans le navigateur web par défaut de l’appareil.
Les messages in-app Android prennent en charge une interface JavaScript brazeBridge permettant d’appeler des méthodes du SDK Android de Braze depuis votre HTML. Consultez notre page sur le pont JavaScript pour plus de détails.


Actuellement, nous ne prenons pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.

Vous pouvez également définir des vues personnalisées pour les messages in-app de votre application. Pour une procédure détaillée, consultez Configuration des fabriques personnalisées.
Chaque type de message in-app est hautement personnalisable en termes de contenu, d’images, d’icônes, d’actions de clic, d’analyse, d’affichage et de distribution. Il s’agit de types énumérés de Braze.InAppMessage, qui définit le comportement et les caractéristiques de base de tous les messages in-app. Pour obtenir la liste complète des propriétés et de l’utilisation des messages in-app, consultez la classe InAppMessage.
Voici les types de messages in-app disponibles dans Braze et leur apparence pour les utilisateurs finaux.
Les messages in-app de type Modal apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app de type Modal Image apparaissent au centre de l’écran et sont encadrés par un panneau translucide. Ces messages sont similaires au type Modal, mais sans en-tête ni texte de message. Utiles pour les communications plus critiques, ils peuvent être équipés d’un maximum de deux boutons dotés d’une fonction d’analyse.

Les messages in-app Full sont utiles pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. La moitié supérieure d’un message in-app Full contient une image, et la moitié inférieure affiche du texte et jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app Full Image sont similaires aux messages in-app Full, sauf qu’ils ne comportent pas d’en-tête ni de texte de message. Ce type de message est utile pour maximiser le contenu et l’impact de votre communication avec les utilisateurs. Un message in-app Full Image contient une image qui s’étend sur tout l’écran, avec la possibilité d’afficher jusqu’à deux boutons compatibles avec l’analyse.

Les messages in-app HTML sont utiles pour créer un contenu utilisateur entièrement personnalisé. Le contenu des messages in-app HTML complet défini par l’utilisateur est affiché dans un WKWebView et peut éventuellement contenir d’autres contenus enrichis, tels que des images et des polices, permettant un contrôle total de l’apparence et de la fonctionnalité du message.
Les messages in-app iOS prennent en charge une interface JavaScript brazeBridge pour appeler des méthodes sur le SDK Braze pour le Web depuis votre HTML. Pour plus d’informations, consultez nos meilleures pratiques.
L’exemple suivant montre un message in-app HTML complet paginé :

Notez que nous ne prenons actuellement pas en charge l’affichage de messages in-app HTML personnalisés dans un iFrame sur les plateformes iOS et Android.
Les messages in-app Control ne contiennent pas de composant d’interface utilisateur et sont utilisés principalement à des fins d’analyse. Ce type est utilisé pour vérifier la réception d’un message in-app envoyé à un groupe de contrôle.
Pour plus de détails sur l’optimisation automatique des variantes et les groupes de contrôle, reportez-vous à la section Optimiser avec BrazeAITM.
Étapes suivantes
Prêt à aller plus loin ? Consultez ces tutoriels pas à pas :
