Dostosowywanie wiadomości Firebase w aplikacji


Usługa Firebase In-App Messaging udostępnia przydatny zestaw wstępnie skonfigurowanych zachowań i typów wiadomości z domyślnym wyglądem, ale w niektórych przypadkach możesz chcieć rozszerzyć zachowania i treść wiadomości. Wiadomości w aplikacji umożliwiają dodawanie działań do wiadomości i dostosowywanie ich wyglądu.

Dodawanie działania do wiadomości

Dzięki działaniom możesz używać wiadomości w aplikacji, aby kierować użytkowników do witryny lub na konkretny ekran w aplikacji.

Firebase In-App Messaging używa modułów obsługi linków do przetwarzania działań. Pakiet SDK może używać wielu modułów obsługi, więc jeśli Twoja aplikacja ma już taki moduł, Firebase In-App Messaging może go używać bez dodatkowej konfiguracji. Jeśli nie masz jeszcze uchwytu, możesz użyć Firebase Dynamic Links. Więcej informacji znajdziesz w artykule Tworzenie linków dynamicznych na iOS.

Dodawanie działania do wiadomości za pomocą konsoli Firebase

Gdy aplikacja będzie miała moduł obsługi linków, możesz utworzyć kampanię z działaniem. Otwórz konsolę Firebase, aby przejść do sekcji Wiadomości, i utwórz nową kampanię lub edytuj istniejącą. W tej kampanii podaj kartę, tekst przyciskudziałanie przycisku, działanie obrazu lub działanie banera, gdzie działanie jest odpowiednim precyzyjnym linkiem.

Format działania zależy od wybranego układu wiadomości. Okna modalne mają przyciski działania z dostosowywaną treścią tekstu, kolorem tekstu i kolorem tła. Obrazy i górne banery stają się interaktywne i po kliknięciu wywołują określone działanie.

Modyfikowanie wyglądu wiadomości

Firebase In-App Messaging umożliwia dostosowywanie wyświetlania wiadomości, aby zmieniać sposób renderowania układu wiadomości, stylów czcionek, kształtów przycisków i innych szczegółów. Wyświetlanie wiadomości możesz modyfikować na 2 sposoby: zmieniając domyślne Firebase In-App Messagingwyświetlanie lub tworząc własną bibliotekę wyświetlania wiadomości od podstaw.

Uwaga: ten produkt nie jest dostępny w przypadku platform macOS, Mac Catalyst, App Clip ani watchOS.

Modyfikowanie domyślnych wyświetlaczy

Najprostszym sposobem dostosowania wiadomości jest wykorzystanie domyślnego kodu wyświetlania wiadomości Firebase In-App Messaging.

Sklonuj repozytorium firebase-ios-sdk.

Aby rozpocząć, sklonuj najnowszą wersję repozytorium firebase-ios-sdk i otwórz katalog InAppMessaging.

Wybieranie typów wiadomości do zmodyfikowania

Po sklonowaniu repozytorium możesz zmodyfikować dowolny lub wszystkie typy wiadomości Firebase In-App Messaging: Card, Modal, BannerImageOnly. Każdy typ odpowiada układowi wiadomości w Firebase In-App Messaging procesie tworzenia kampanii.

Każdy typ ma dostęp do innego zestawu danych, który jest określany przez opcje dostosowywania kampanii w konsoli Firebase:

Typ titleText bodyText textColor backgroundColor imageData actionButton secondaryActionButton
Karta
Okno modalne
Baner
ImageOnly

Modyfikowanie kodu renderowania wyświetlania wiadomości

Pamiętaj o ograniczeniach dotyczących typów wiadomości. Możesz je modyfikować w dowolny sposób. Możesz utworzyć baner wyświetlany u dołu aplikacji, przenieść przycisk działania w oknie modalnym, umieścić wiadomość w aplikacji w kanale użytkownika lub wprowadzić inne modyfikacje, które sprawią, że wygląd i działanie wiadomości będą pasować do Twojej aplikacji.

Podczas modyfikowania wyświetlania wiadomości musisz zwrócić uwagę na 2 główne kwestie:

  • Katalogi typów wiadomości: każdy typ wiadomości ma osobny katalog z plikami, które określają logikę tego typu:
  • Storyboard:InAppMessaging bibliotece znajduje się też .storyboard plik, który pomaga zdefiniować interfejs wszystkich 3 typów wiadomości:

Aby utworzyć niestandardowe wyświetlanie wiadomości, zmodyfikuj pliki w katalogach preferowanych typów wiadomości i odpowiednich sekcjach pliku .storyboard.

Zaktualizuj plik Podfile, aby używać zmodyfikowanego kodu InAppMessaging.

Aby Firebase In-App Messaging używał zmodyfikowanych wyświetleń wiadomości zamiast domyślnych wyświetleń, zaktualizuj plik podfile, aby używać dostosowanej biblioteki InAppMessaging:

# 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
Po wykonaniu tych czynności możesz zaktualizować pody, ponownie skompilować aplikację i sprawdzić, czy wyświetlają się nowe, dostosowane do Twoich potrzeb wiadomości.

Tworzenie własnej biblioteki wyświetlania wiadomości

Nie musisz korzystać z InAppMessagingbiblioteki, aby utworzyć interfejs do wyświetlania wiadomości. Możesz też napisać własny kod od podstaw.

Utwórz klasę, która implementuje protokół InAppMessagingDisplay.

Firebase In-App Messaging używa klasy InAppMessaging do obsługi komunikacji między serwerami Firebase a aplikacją. Ta klasa z kolei używa protokołu InAppMessagingDisplay do wyświetlania otrzymywanych wiadomości. Aby utworzyć własną bibliotekę wyświetlania, napisz klasę, która implementuje protokół.

Definicja protokołu i dokumentacja dotycząca jego zgodności znajdują się w pliku FIRInAppMessagingDisplay.h biblioteki InAppMessaging.

Ustaw messageDisplayComponent, aby korzystać z biblioteki wyświetlania wiadomości

InAppMessaging używa właściwości messageDisplayComponent, aby określić, którego obiektu użyć podczas wyświetlania wiadomości. Ustaw tę właściwość na obiekt niestandardowej klasy wyświetlania wiadomości, aby Firebase In-App Messaging wiedział, że do renderowania wiadomości ma używać Twojej biblioteki:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance