La fonctionnalité de messagerie dans l'application Firebase fournit un ensemble utile de comportements et de types de messages préconfigurés avec un aspect par défaut. Toutefois, dans certains cas, vous pouvez souhaiter étendre les comportements et le contenu des messages. La messagerie dans l'application vous permet d'ajouter des actions aux messages et de personnaliser leur apparence.
Ajouter une action à votre message
Grâce aux actions, vous pouvez utiliser vos messages dans l'application pour rediriger les utilisateurs vers un site Web ou un écran spécifique de votre application.
Implémenter un gestionnaire de liens profonds
Firebase In-App Messaging utilise des gestionnaires de liens pour traiter les actions. Le SDK peut utiliser un certain nombre de gestionnaires. Par conséquent, si votre application en possède déjà un, Firebase In-App Messaging peut l'utiliser sans configuration supplémentaire. Si vous ne disposez pas encore d'un gestionnaire, vous pouvez utiliser Firebase Dynamic Links. Pour en savoir plus, consultez Créer des liens dynamiques sur iOS.
Ajouter l'action à votre message à l'aide de la console Firebase
Une fois que votre application dispose d'un gestionnaire de liens, vous pouvez composer une campagne avec une action. Ouvrez la console Firebase dans Messaging, puis créez une campagne ou modifiez-en une. Dans cette campagne, indiquez une fiche, un texte de bouton et une action de bouton, une action d'image ou une action de bannière, où l'action est un lien profond pertinent.
Le format de l'action dépend de la mise en page du message que vous choisissez. Les boîtes de dialogue modales reçoivent des boutons d'action avec un contenu de texte, une couleur de texte et une couleur d'arrière-plan personnalisables. En revanche, les images et les bannières supérieures deviennent interactives et appellent l'action spécifiée lorsqu'elles sont enfoncées.
Modifier l'apparence des messages
Firebase In-App Messaging vous permet de personnaliser l'affichage des messages pour modifier la façon dont votre application affiche la mise en page, les styles de police, les formes de boutons et d'autres détails des messages. Il existe deux façons de modifier l'affichage des messages: modifier les affichages Firebase In-App Messaging par défaut ou créer votre propre bibliothèque d'affichage des messages.
Modifier les affichages par défaut
Le moyen le plus simple de personnaliser vos messages consiste à partir du code d'affichage des messages par défaut de Firebase In-App Messaging.
Cloner le dépôt firebase-ios-sdk
Pour commencer, clonez la dernière version du dépôt firebase-ios-sdk
, puis ouvrez le répertoire InAppMessaging.
Sélectionnez les types de messages à modifier.
Une fois le dépôt cloné, vous pouvez modifier l'un ou tous les types de messages Firebase In-App Messaging : Card
, Modal
, Banner
et ImageOnly
. Chaque type correspond à une mise en page de message dans le flux de création de campagne Firebase In-App Messaging.
Par conséquent, chaque type a accès à un ensemble de données différent, déterminé par les options de personnalisation de la campagne dans la console Firebase:
Type | titleText | bodyText | textColor | backgroundColor | imageData | actionButton | secondaryActionButton |
---|---|---|---|---|---|---|---|
Fiche | |||||||
Modale | |||||||
Bannière | |||||||
ImageOnly |
Modifier le code d'affichage des messages
En tenant compte des limites liées aux types de messages, vous êtes libre de les modifier comme vous le souhaitez. Vous pouvez créer une bannière qui s'affiche en bas de votre application, déplacer le bouton d'action d'une fenêtre modale, intégrer le message intégré à l'application dans le flux d'un utilisateur ou toute autre modification qui rend l'apparence des messages adaptée à votre application.
Lorsque vous modifiez l'affichage des messages, vous devez tenir compte de deux éléments principaux:
- Répertoires de types de messages:chaque type de message dispose d'un répertoire distinct contenant des fichiers qui déterminent la logique de ce type :
- Storyboard:la bibliothèque
InAppMessaging
contient également un fichier.storyboard
qui permet de définir l'UI pour les trois types de messages :
Modifiez les fichiers dans les répertoires de vos types de messages préférés et les sections correspondantes de .storyboard
pour créer vos affichages de messages personnalisés.
Mettre à jour votre fichier Podfile pour utiliser votre code InAppMessaging
modifié
Pour que Firebase In-App Messaging utilise vos affichages de messages modifiés au lieu des affichages par défaut, mettez à jour votre fichier pod pour utiliser votre bibliothèque InAppMessaging
personnalisée:
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'YourProject' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for YourProject pod 'Firebase' # Remove the default InAppMessaging pod: # pod 'Firebase/InAppMessaging' # Overwrite it with a version that points to your local copy: pod `FirebaseInAppMessaging', :path => '~/Path/To/The/Cloned/Repo/' end
Créer votre propre bibliothèque d'affichage des messages
Vous n'êtes pas limité à travailler à partir de la bibliothèque InAppMessaging
pour créer une UI permettant d'afficher des messages. Vous pouvez également écrire votre propre code à partir de zéro.
Créer une classe qui implémente le protocole InAppMessagingDisplay
Firebase In-App Messaging utilise la classe InAppMessaging
pour gérer les communications entre les serveurs Firebase et votre application. Cette classe, à son tour, utilise le protocole InAppMessagingDisplay
pour afficher les messages qu'elle reçoit.
Pour créer votre propre bibliothèque d'affichage, écrivez une classe qui implémente le protocole.
La définition du protocole et la documentation sur la façon de s'y conformer se trouvent dans le fichier FIRInAppMessagingDisplay.h
de la bibliothèque InAppMessaging
.
Définir messageDisplayComponent
pour utiliser votre bibliothèque d'affichage des messages
InAppMessaging
utilise sa propriété messageDisplayComponent
pour déterminer l'objet à utiliser lors de l'affichage des messages. Définissez cette propriété sur un objet de votre classe d'affichage de messages personnalisés afin que Firebase In-App Messaging sache utiliser votre bibliothèque pour afficher les messages:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance