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 ma już jeden z nich, Firebase In-App Messaging może go używać bez dodatkowej konfiguracji. Jeśli nie masz jeszcze modułu obsługi, 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.

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

  2. Uruchom proces tworzenia nowej kampanii:

    • Jeśli jest 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 przyciskudziałanie przycisku, działanie obrazu lub działanie banera, gdzie działanie jest odpowiednim linkiem bezpośrednim.

Format działania zależy od wybranego układu wiadomości. Okna modalne mają przyciski polecenia z konfigurowalną 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ść.

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 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

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 polecenia w oknie modalnym, umieścić wiadomość w aplikacji w kanale użytkownika lub wprowadzić inne zmiany, 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, zaktualizuj plik podfile, aby korzystać z 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