La messaggistica in-app di Firebase fornisce un utile set di comportamenti e tipi di messaggi preconfigurati con un aspetto predefinito, ma in alcuni casi potresti voler estendere i comportamenti e il contenuto dei messaggi. La messaggistica in-app ti consente di aggiungere azioni ai messaggi e personalizzare l'aspetto dei messaggi.
Aggiungi un'azione al tuo messaggio
Con le azioni puoi utilizzare i tuoi messaggi in-app per indirizzare gli utenti a un sito Web o a una schermata specifica nella tua app.
Implementa un gestore di deep link
La messaggistica in-app di Firebase utilizza i gestori di link per elaborare le azioni. L'SDK è in grado di utilizzare un numero di gestori, quindi se la tua app ne ha già uno, Firebase In-App Messaging può usarlo senza ulteriori configurazioni. Se non hai ancora un gestore, puoi utilizzare Firebase Dynamic Links. Per saperne di più, leggi Creare collegamenti dinamici su iOS .
Aggiungi l'azione al tuo messaggio utilizzando la console Firebase
Una volta che la tua app ha un gestore di link, sei pronto per comporre una campagna con un'azione. Apri la console Firebase in Messaggi e avvia una nuova campagna o modifica una campagna esistente. In quella campagna, fornisci un'azione Card , Button text e Button action , un' Image action o un Banner action , in cui l'azione è un deep link pertinente.
Il formato dell'azione dipende dal layout del messaggio scelto. I modali ottengono pulsanti di azione con contenuto del testo del pulsante personalizzabile, colore del testo e colore di sfondo. Le immagini e i banner principali, invece, diventano interattivi e richiamano l'azione specificata quando vengono toccati.
Modifica l'aspetto del messaggio
La messaggistica in-app di Firebase ti consente di personalizzare la visualizzazione dei messaggi per modificare il modo in cui la tua app visualizza il layout dei messaggi, gli stili dei caratteri, le forme dei pulsanti e altri dettagli. Esistono due modi per modificare le visualizzazioni dei messaggi: modificare le visualizzazioni di messaggistica in-app Firebase predefinite o creare da zero la propria libreria di visualizzazione dei messaggi.
Modifica le visualizzazioni predefinite
Il modo più semplice per personalizzare i tuoi messaggi è creare il codice di visualizzazione dei messaggi predefinito di Firebase In-App Messaging.
Clonare il repository firebase-ios-sdk
Per iniziare, clona l' ultima versione del repository firebase-ios-sdk
e apri la directory InAppMessaging .
Seleziona i tipi di messaggio da modificare
Con il repository clonato, puoi modificare uno o tutti i tipi di messaggio di messaggistica in-app di Firebase: Card
, Modal
, Banner
e ImageOnly
. Ogni tipo corrisponde a un layout di messaggio nel flusso di creazione della campagna di messaggistica in-app Firebase.
Di conseguenza, ogni tipo ha accesso a un diverso set di dati, determinato dalle opzioni di personalizzazione della campagna nella console Firebase:
Tipo | titoloTesto | corpo del testo | colore del testo | colore di sfondo | imageData | actionButton | secondaryActionButton |
---|---|---|---|---|---|---|---|
Carta | |||||||
Modale | |||||||
Bandiera | |||||||
Solo immagine |
Modificare il codice di rendering della visualizzazione del messaggio
Tenendo presenti le limitazioni del tipo di messaggio, sei libero di modificarle come preferisci. Puoi creare un banner che viene visualizzato nella parte inferiore della tua app, spostare il pulsante di azione su un modale, incorporare il messaggio in-app nel feed di un utente o qualsiasi altra modifica che renda l'aspetto dei messaggi adatto alla tua app .
Ci sono due cose principali a cui prestare attenzione quando si modifica la visualizzazione dei messaggi:
- Directory del tipo di messaggio: ogni tipo di messaggio ha una directory separata con file che determinano la logica di quel tipo:
- Storyboard: la libreria
InAppMessaging
ha anche un file.storyboard
che aiuta a definire l'interfaccia utente per tutti e tre i tipi di messaggio:
Modifica i file nelle directory dei tuoi tipi di messaggio preferiti e nelle sezioni corrispondenti dello .storyboard
per creare visualizzazioni di messaggi personalizzate.
Aggiorna il tuo podfile per usare il tuo codice InAppMessaging
modificato
Per fare in modo che la messaggistica in-app di Firebase utilizzi i display dei messaggi modificati anziché i display predefiniti, aggiorna il tuo file pod per utilizzare la tua libreria InAppMessaging
personalizzata:
# 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
Crea la tua libreria di visualizzazione dei messaggi
Non sei limitato a lavorare dalla libreria InAppMessaging
per creare un'interfaccia utente per la visualizzazione dei messaggi. Puoi anche scrivere il tuo codice da zero.
Crea una classe che implementa il protocollo InAppMessagingDisplay
La messaggistica in-app di Firebase utilizza la classe InAppMessaging
per gestire le comunicazioni tra i server Firebase e la tua app. Quella classe, a sua volta, utilizza il protocollo InAppMessagingDisplay
per visualizzare i messaggi che riceve. Per creare la tua libreria di visualizzazione, scrivi una classe che implementa il protocollo.
La definizione del protocollo e la documentazione su come conformarsi ad esso si trovano nel file FIRInAppMessagingDisplay.h
della libreria InAppMessaging
.
Impostare messageDisplayComponent
per utilizzare la libreria di visualizzazione dei messaggi
InAppMessaging
utilizza la relativa proprietà messageDisplayComponent
per determinare quale oggetto utilizzare durante la visualizzazione dei messaggi. Imposta tale proprietà su un oggetto della tua classe di visualizzazione dei messaggi personalizzata, in modo che la messaggistica in-app di Firebase sappia utilizzare la tua libreria per il rendering dei messaggi:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance