Dostosowywanie wiadomości Firebase w aplikacji


Usługa Wiadomości w aplikacji Firebase 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 już ma taki moduł, Firebase In-App Messaging może go używać bez dodatkowej konfiguracji. Jeśli nie masz jeszcze obsługi, możesz użyć Firebase Dynamic Links. Więcej informacji znajdziesz w artykule Tworzenie dynamicznych linków 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.

  1. W konsoli Firebase otwórz DevOps i zaangażowanie > Wiadomości.

  2. Uruchom przepływ pracy, aby skonfigurować nową kampanię:

    • Jeśli to Twoja pierwsza kampania:

      1. Kliknij Utwórz pierwszą kampanię.
      2. Wybierz Wiadomości w aplikacji Firebase i kliknij Utwórz.
    • Jeśli masz już utworzone kampanie:

      1. Na karcie Kampanie kliknij Nowa kampania.
      2. Wybierz Wiadomości w aplikacji.
  3. Aby skonfigurować kampanię, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

  4. Podaj kartę, tekst przycisku i działanie przycisku, działanie obrazu lub działanie banera, gdzie działanie jest odpowiednim linkiem do konkretnej strony.

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 banery u góry stają się interaktywne i po kliknięciu wywołują określoną czynność.

Zmiana wyglądu wiadomości

Firebase In-App Messaging umożliwia dostosowywanie wyświetlania wiadomości, aby zmieniać sposób renderowania przez aplikację 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 wyświetlanie Firebase In-App Messaging lub tworząc od zera własną bibliotekę wyświetlania wiadomości.

Uwaga: ten produkt nie jest dostępny na platformach macOS, Mac Catalyst, App Clip ani watchOS.

Modyfikowanie domyślnych wyświetleń

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

Klonowanie 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 Firebase In-App Messaging typy wiadomości:Card, Modal, Banner i ImageOnly. Każdy typ odpowiada układowi wiadomości w Firebase In-App Messagingprocesie tworzenia kampanii.

Każdy typ ma więc 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

Zmodyfikuj kod renderowania wyświetlania wiadomości

Pamiętaj o ograniczeniach dotyczących typów wiadomości i modyfikuj je w dowolny sposób. Możesz utworzyć baner, który będzie wyświetlany u dołu aplikacji, przenieść przycisk polecenia w oknie modalnym, umieścić wiadomości 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 należy 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: w bibliotece InAppMessaging znajduje się też plik .storyboard, 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 .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, 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 usługa Firebase In-App Messaging wiedziała, że ma używać Twojej biblioteki do renderowania wiadomości:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance