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. Usługa In-App Messaging umożliwia 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 korzystać z 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 kolejno 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 polecenia z możliwością dostosowania 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 usłudze 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ści 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 bibliotycznej 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, która implementuje 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 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.

Ustawianie messageDisplayComponent na używanie 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ść 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