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 oraz 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 określony ekran w aplikacji.

Firebase In-App Messaging używa obsługi linków do przetwarzania działań. Pakiet SDK może używać wielu obsługi, więc jeśli Twoja aplikacja ma już taką obsługę, Firebase In-App Messaging może jej 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 linków dynamicznych na iOS.

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

Gdy Twoja aplikacja będzie miała obsługę linków, możesz utworzyć kampanię z działaniem.

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

  2. Uruchom proces konfigurowania nowej kampanii:

    • 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. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby skonfigurować kampanię.

  4. Podaj kartę, tekst przycisku i dział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 możliwością dostosowania treści tekstu przycisku, koloru tekstu i koloru tła. Obrazy i banery u góry 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żna modyfikować na 2 sposoby: modyfikować domyślne Firebase In-App Messaging wyświetlanie lub utworzyć własną bibliotekę wyświetlania wiadomości od podstaw.

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

Modyfikowanie domyślnych wyświetlaczy

Najprostszym sposobem dostosowania wiadomości jest oparcie się na domyślnym kodzie wyświetlania wiadomości w aplikacji 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 modyfikacji

Po sklonowaniu 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.

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

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

Modyfikowanie kodu renderowania wyświetlania wiadomości

Pamiętając 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 pliku danych użytkownika lub wprowadzić inne modyfikacje, które sprawią, że wygląd wiadomości będzie 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: biblioteka InAppMessaging ma też plik .storyboard, który pomaga zdefiniować interfejs użytkownika dla wszystkich 3 typów wiadomości:

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

Aktualizowanie pliku podfile, aby używać zmodyfikowanego kodu InAppMessaging

Aby usługa Firebase In-App Messaging używała zmodyfikowanego wyświetlania wiadomości zamiast domyślnego wyświetlania, 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
Gdy to zrobisz, możesz zaktualizować pody, ponownie skompilować aplikację i zobaczyć nowe, dostosowane wyświetlanie wiadomości.

Tworzenie własnej biblioteki wyświetlania wiadomości

Aby utworzyć interfejs użytkownika do wyświetlania wiadomości, nie musisz korzystać z biblioteki InAppMessaging. Możesz też napisać własny kod od podstaw.

Tworzenie klasy implementującej 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 InAppMessagingDisplay protokołu do wyświetlania otrzymywanych wiadomości. Aby utworzyć własną bibliotekę wyświetlania, napisz klasę implementującą protokół.

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

Ustawianie messageDisplayComponent na używanie biblioteki wyświetlania wiadomości

InAppMessaging używa swojej messageDisplayComponent właściwości, aby określić, którego obiektu używać 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