Catch up on highlights from Firebase at Google I/O 2023. Learn more

Personalizza i tuoi messaggi di messaggistica in-app Firebase

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.

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.

Nota: questo prodotto non è disponibile su target macOS, Mac Catalyst, App Clip o watchOS.

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
Fatto ciò, puoi aggiornare i tuoi pod, ricostruire la tua app e vedere i tuoi nuovi display di messaggi personalizzati.

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