Dostosowywanie wiadomości Firebase w aplikacji


Narzędzie Firebase do wysyłania wiadomości w aplikacji udostępnia przydatny zestaw wstępnie skonfigurowanych zachowań i typów wiadomości o domyślnym wyglądzie. W niektórych przypadkach warto jednak rozszerzyć zachowania i treść wiadomości. Wiadomości w aplikacji umożliwiają dodawanie działań do wiadomości oraz dostosowywanie ich wyglądu i działania.

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 konkretnego ekranu w aplikacji.

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

Dodaj działanie do wiadomości za pomocą konsoli Firebase

Gdy aplikacja będzie mieć moduł obsługi linków, możesz utworzyć kampanię z działaniem. Otwórz konsolę Firebase, aby utworzyć nową kampanię Messaging lub edytować istniejącą. W tej kampanii użyj karty, tekstu przyciskudziałania przycisku, działania obrazu lub działania banera, gdzie działaniem jest odpowiedni precyzyjny link.

Format działania zależy od wybranego układu wiadomości. Okna modalne mają przyciski z działaniem, które umożliwiają dostosowanie treści, koloru tekstu i koloru tła. Zdjęcia i banery górne stają się natomiast interaktywne i po kliknięciu wywołują określone działanie.

Zmiana wyglądu i działania wiadomości

Firebase In-App Messaging umożliwia dostosowanie wyświetlania wiadomości, aby zmienić sposób renderowania układu wiadomości, styl czcionki, kształty przycisków i inne szczegóły. Możesz zmienić wyświetlanie wiadomości na 2 sposoby: zmodyfikować domyślne Firebase In-App Messagingwyświetlanie lub utworzyć własną bibliotekę wyświetlania wiadomości od podstaw.

Uwaga: ta usługa nie jest dostępna na platformach macOS, Mac Catalyst, App Clip ani watchOS.

Modyfikowanie wyświetlaczy domyślnych

Najprostszym sposobem dostosowywania wiadomości jest korzystanie z domyślnego kodu wyświetlania wiadomości w 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 skopiowaniu repozytorium możesz zmodyfikować dowolny lub wszystkie typy wiadomości Firebase In-App Messaging: Card, Modal, Banner i ImageOnly. Każdy typ odpowiada układowi wiadomości w procesie tworzenia kampanii Firebase In-App Messaging.

W zależności od tego, jakie opcje dostosowywania kampanii są wybrane w konsoli Firebase, każdy typ ma dostęp do innego zbioru danych:

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

Modyfikowanie kodu renderowania wyświetlania wiadomości

Pamiętając o ograniczeniach dotyczących typu wiadomości, możesz je dowolnie modyfikować. Możesz utworzyć baner wyświetlany u dołu aplikacji, przesunąć przycisk działania w oknie modalnym, osadzić wiadomość w aplikacji w strumieniach 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 należy zwrócić uwagę na 2 główne kwestie:

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

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

Zaktualizuj plik podfile, aby używać zmodyfikowanego kodu InAppMessaging

Aby zamiast domyślnych wyświetleń wiadomości używać zmodyfikowanych wyświetleń wiadomości w Firebase In-App Messaging, zaktualizuj podplik, aby używać dostosowanych bibliotek 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
Następnie możesz zaktualizować swoje komponenty, ponownie skompilować aplikację i zobaczyć nowe, spersonalizowane wyświetlenia wiadomości.

Tworzenie własnej biblioteki wyświetlania wiadomości

Nie musisz tworzyć interfejsu wyświetlania wiadomości tylko w bibliotece InAppMessaging. Możesz też napisać własny kod od podstaw.

Utwórz klasę, która wdraża protokół InAppMessagingDisplay

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

Definicja protokołu i dokumentacja dotycząca 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żywać podczas wyświetlania wiadomości. Ustaw tę właściwość jako obiekt klasy wyświetlania wiadomości niestandardowej, aby Firebase In-App Messaging wiedziała, że ma używać Twojej biblioteki do renderowania wiadomości:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance