Personalizza i messaggi di Messaggistica in-app Firebase


Firebase In-App Messaging fornisce un insieme utile di comportamenti e tipi di messaggi preconfigurati con un aspetto predefinito, ma in alcuni casi potresti voler estendere i comportamenti e i contenuti dei messaggi. In-App Messaging ti consente di aggiungere azioni ai messaggi e di personalizzarne l'aspetto.

Aggiungi un'azione al messaggio

Con le azioni puoi utilizzare i messaggi in-app per indirizzare gli utenti a un sito web o a una schermata specifica della tua app.

Firebase In-App Messaging utilizza i gestori dei 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ò utilizzarlo senza ulteriori configurazioni. Se non hai ancora un gestore, puoi utilizzare Firebase Dynamic Links. Per scoprire di più, consulta Crea Dynamic Links su iOS.

Aggiungi l'azione al messaggio utilizzando la console Firebase

Una volta che l'app ha un gestore di link, puoi creare una campagna con un'azione.

  1. Nella console Firebase, vai a DevOps e coinvolgimento > Messaggistica.

  2. Avvia il workflow per configurare una nuova campagna:

    • Se questa è la tua prima campagna:

      1. Fai clic su Crea la tua prima campagna.
      2. Seleziona Messaggi in-app di Firebase e fai clic su Crea.
    • Se hai già creato campagne:

      1. Nella scheda Campagne, fai clic su Nuova campagna.
      2. Seleziona In-App Messaging.
  3. Segui le istruzioni sullo schermo per configurare la campagna.

  4. Fornisci una scheda, un testo del pulsante e un'azione del pulsante, un'azione dell'immagine o un'azione del banner, dove l'azione è un deep link pertinente.

Il formato dell'azione dipende dal layout del messaggio scelto. Le finestre modali hanno pulsanti di azione con contenuti di testo, colore del testo e colore di sfondo personalizzabili. Le immagini e i banner principali, invece, diventano interattivi e richiamano l'azione specificata quando vengono toccati.

Modifica l'aspetto del messaggio

Firebase In-App Messaging ti consente di personalizzare la visualizzazione dei messaggi per modificare il modo in cui l'app esegue il rendering del layout, degli stili dei caratteri, delle forme dei pulsanti e di altri dettagli dei messaggi. Esistono due modi per modificare i display dei messaggi: modificare i display predefiniti di Firebase In-App Messaging o creare da zero la tua libreria di display dei messaggi.

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

Modifica i display predefiniti

Il modo più semplice per personalizzare i messaggi è basarsi sul codice di visualizzazione dei messaggi predefinito di Firebase In-App Messaging.

Clona il repository firebase-ios-sdk

Per iniziare, clona l'ultima release del repository firebase-ios-sdk e apri la directory InAppMessaging.

Seleziona i tipi di messaggi da modificare

Dopo aver clonato il repository, puoi modificare uno o tutti i tipi di messaggi Firebase In-App Messaging: Card, Modal, Banner e ImageOnly. Ogni tipo corrisponde a un layout del messaggio nel flusso di creazione della campagna Firebase In-App Messaging.

Di conseguenza, ogni tipo ha accesso a un insieme di dati diverso, determinato dalle opzioni di personalizzazione della campagna nella console Firebase:

Tipo titleText bodyText textColor backgroundColor imageData actionButton secondaryActionButton
Scheda
Modale
Banner
ImageOnly

Modifica il codice di rendering della visualizzazione dei messaggi

Tenendo conto delle limitazioni dei tipi di messaggi, puoi modificarli come preferisci. Puoi creare un banner da visualizzare nella parte inferiore dell'app, spostare il pulsante di azione in una finestra modale, incorporare il messaggio in-app nel feed di un utente o apportare qualsiasi altra modifica che renda l'aspetto dei messaggi adatto alla tua app.

Ci sono due aspetti principali a cui prestare attenzione quando si modifica la visualizzazione dei messaggi:

  • Directory dei tipi di messaggi: ogni tipo di messaggio ha una directory separata con file che determinano la logica di quel tipo:
  • Storyboard: la libreria InAppMessaging contiene anche un file .storyboard che aiuta a definire l'UI per tutti e tre i tipi di messaggi:

Modifica i file nelle directory dei tipi di messaggi che preferisci e nelle sezioni corrispondenti di .storyboard per creare le visualizzazioni dei messaggi personalizzati.

Aggiorna il podfile per utilizzare il codice InAppMessaging modificato

Per fare in modo che Firebase In-App Messaging utilizzi le visualizzazioni dei messaggi modificate anziché quelle predefinite, aggiorna il podfile in modo che utilizzi la 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 questo, puoi aggiornare i pod, ricreare l'app e visualizzare i nuovi messaggi personalizzati.

Crea la tua libreria di visualizzazione dei messaggi

Non devi necessariamente utilizzare la libreria InAppMessaging per creare una UI per la visualizzazione dei messaggi. Puoi anche scrivere il tuo codice da zero.

Crea una classe che implementi il protocollo InAppMessagingDisplay

Firebase In-App Messaging utilizza la classe InAppMessaging per gestire le comunicazioni tra i server Firebase e la tua app. Questa 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 implementi il protocollo.

La definizione del protocollo e la documentazione su come conformarsi sono disponibili nel file FIRInAppMessagingDisplay.h della libreria InAppMessaging.

Imposta messageDisplayComponent per utilizzare la libreria di visualizzazione dei messaggi

InAppMessaging utilizza la sua proprietà messageDisplayComponent per determinare quale oggetto utilizzare per la visualizzazione dei messaggi. Imposta questa proprietà su un oggetto della tua classe di visualizzazione dei messaggi personalizzata, in modo che Firebase In-App Messaging sappia di dover utilizzare la tua libreria per eseguire il rendering dei messaggi:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance