Wiadomości w aplikacji Firebase udostępniają przydatny zestaw wstępnie skonfigurowanych zachowań i typów wiadomości o domyślnym wyglądzie, 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 i charakteru.
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.
Implementowanie modułu obsługi precyzyjnych linków
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ż taki moduł, Firebase In-App Messaging może go używać bez dalszej 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 już mieć moduł obsługi linków, możesz utworzyć kampanię z działaniem.
W konsoli Firebase kliknij DevOps i zaangażowanie > Komunikacja.
Uruchom proces konfiguracji nowej kampanii:
Jeśli to Twoja pierwsza kampania:
- Kliknij Utwórz pierwszą kampanię.
- Wybierz Wiadomości w aplikacji Firebase i kliknij Utwórz.
Jeśli masz już utworzone kampanie:
- Na karcie Kampanie kliknij Nowa kampania.
- Wybierz In-App Messaging.
Aby skonfigurować kampanię, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
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. Modale zawierają przyciski poleceń z możliwością dostosowania tekstu, koloru tekstu i koloru tła. Z kolei obrazy i górne banery stają się interaktywne i po kliknięciu wywołują określone działanie.
Modyfikowanie wyglądu i stylu wiadomości
Firebase In-App Messaging umożliwia dostosowywanie wyświetlania wiadomości, aby zmienić sposób, w jaki aplikacja renderuje układ wiadomości, style czcionek, kształty przycisków i inne szczegóły. Wyświetlanie wiadomości można zmienić na 2 sposoby: modyfikując domyślne wyświetlanie Firebase In-App Messaging lub tworząc od podstaw własną bibliotekę wyświetlania wiadomości.
Modyfikowanie wyświetlaczy domyślnych
Najprostszym sposobem dostosowywania 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ć dowolne 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 związku z tym każdy typ ma 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 |
Zmodyfikowanie kodu renderowania wyświetlania wiadomości
Pamiętając o ograniczeniach dotyczących typów wiadomości, możesz je dowolnie modyfikować. Możesz utworzyć baner, który będzie wyświetlany u dołu aplikacji, przesuwać przycisk polecenia w oknie modalnym, umieścić wiadomość w aplikacji w kanale użytkownika lub wprowadzić dowolną inną modyfikację, która 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:
- Scenorys: biblioteka
InAppMessagingzawiera 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 odpowiednie sekcje pliku .storyboard.
Zaktualizuj plik podfile, aby używać zmodyfikowanego kodu InAppMessaging
Aby usługa Firebase In-App Messaging używała 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
Tworzenie własnej biblioteki wyświetlania wiadomości
Nie musisz ograniczać się do biblioteki InAppMessaging, 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 zgodności z nim znajdują się w pliku FIRInAppMessagingDisplay.h biblioteki InAppMessaging.
Ustawianie messageDisplayComponent na korzystanie 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 do renderowania wiadomości ma używać Twojej biblioteki:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance