Do czego służy Zdalna konfiguracja?

Deweloperzy aplikacji używają Zdalnej konfiguracji na wiele różnych sposobów, aby spełniać swoje unikalne wymagania. Na tej stronie opisujemy przykładowe zastosowania Zdalnej konfiguracji, które ma szerokie zastosowanie w przypadku deweloperów aplikacji mobilnych.

Uruchamiaj nowe funkcje z mechanizmem wdrażania procentowego.

Za pomocą Zdalnej konfiguracji możesz przeprowadzać procentowe wdrażanie, aby stopniowo udostępniać użytkownikom nowe funkcje. W tym przypadku załóżmy, że masz nową funkcję wyszukiwania, która jest włączona i wyłączona przy użyciu parametru Zdalnej konfiguracji o nazwie new_search_feature_flag. Chcesz zacząć od wdrożenia jej u 10% użytkowników zainstalowanych aplikacji.

Aby to osiągnąć, zmień parametr new_search_feature_flag, dodaj nowy warunek i wybierz Użytkownik w losowej wartości procentowej. Za pomocą suwaka ustaw losową wartość procentową od 0 do 10.

Obraz przedstawiający kroki w GUI konsoli Firebase w celu procentowego wdrożenia dotychczasowego parametru
Dodawanie parametru do procentowego wdrażania funkcji

Teraz gdy wartość new_search_feature_flag zostanie pobrana ze Zdalnej konfiguracji, 10% losowo wybranych użytkowników otrzyma wartość true, a pozostałe 90% – false.

Jeśli stabilność funkcji w przypadku 10% użytkowników będzie zadowalająca, możesz ją zwiększyć do 30%, do 50%, a ostatecznie do 100%, gdy uzyskasz w pełni wiarygodne wyniki.

Określ banery promocyjne dla swojej aplikacji dla danej platformy i regionu.

Załóżmy, że zbliża się wyprzedaż e-commerce i chcesz włączyć w swojej aplikacji promocyjną stronę powitalną. Wyobraź sobie też, że chcesz dostosować tę stronę powitalną do regionu, który użytkownik ustawił na swoim urządzeniu. Możesz zdefiniować parametr promo_splash_graphic i ustawić jego wartość na statyczne adresy URL (hostowane w Pamięć Firebase w Firebase lub w innym miejscu), a następnie odwoływać się do nich dynamicznie w swojej aplikacji.

Następnie możesz przypisać różne wartości do Androida i Apple dla regionów, które są najważniejsze w Twojej kampanii marketingowej. Jeśli musisz aktywować promocje w określonym czasie, możesz użyć warunków czasowych Zdalnej konfiguracji lub skorzystać ze Zdalnej konfiguracji w czasie rzeczywistym, aby mieć pewność, że zmiany zostaną wprowadzone wkrótce po opublikowaniu szablonu – wtedy będzie można je w razie potrzeby aktywować w aplikacji.

Animowany obraz przedstawiający kroki w GUI konsoli Firebase w celu zdefiniowania banerów promocyjnych w zależności od platformy i języka
Dodawanie parametru do zlokalizowanych banerów promocyjnych

Możesz też automatycznie aktualizować wartości parametrów za pomocą interfejsów API backendu Zdalnej konfiguracji, a potem uruchamiać te funkcje za pomocą zadania cron.

Zapewnianie użytkownikom spersonalizowanych funkcji dostosowanych do pierwszego użycia aplikacji

Zdalna konfiguracja pozwala oferować użytkownikom niestandardowe funkcje w zależności od daty i godziny pierwszego uruchomienia aplikacji. Obejmuje to m.in. te przypadki użycia:

  • Zapewnij różne procesy wdrażania w miarę dołączania użytkowników do Twojej aplikacji.
  • Zaoferuj nowym użytkownikom zachęty lub funkcje ukryte za flagami funkcji lub przełącznikami po określonej dacie.
  • Zapewniaj niestandardowe funkcje tym użytkownikom, którzy dołączyli w określonym przedziale czasu.

Załóżmy, że chcesz dać nowym użytkownikom prezent w grze, aby zachęcić ich do początkowego zaangażowania i utrzymania, oraz zaoferować inną nagrodę grupie długotrwałych użytkowników. Możesz utworzyć parametr o nazwie extra_coin_splash, który steruje wyskakującym okienkiem, w którym użytkownik oferuje bezpłatną walutę w grze, z możliwością dostosowania komunikatu, liczbą dodatkowych monet i maksymalną liczbą wyświetleń oferty, jeśli użytkownik jej nie zaakceptował. Możesz użyć domyślnej wartości w aplikacji jako parametru domyślnego, a potem utworzyć 2 warunki.

Najpierw dodaj wartość warunkową do parametru Zdalnej konfiguracji extra_coins_splash, który jest kierowany na konkretną aplikację na Androida lub iOS, ustaw w polu Pierwsze uruchomienie datę i godzinę w przyszłości, a następnie ustaw wartość tego parametru na:

{"banner_text": "Welcome! Enjoy some extra coins!", "bonus_coins": 15, "max_display_retries": 2}

Następnie dodaj warunek dla istniejącej grupy użytkowników, którą chcesz nagradzać, np. wszystkich użytkowników, którzy dołączyli w lipcu i nadal korzystają z gry w październiku. Aby to zrobić, dodaj kolejną wartość warunkową do parametru extra_coins_splash z wartością Pierwsze uruchomienie ustawioną między 1 lipca a 1 sierpnia, a następnie ustaw tę wartość na:

{"banner_text": "Thanks for being a loyal user!", "bonus_coins": 30, "max_display_retries": 2}:

Końcowy parametr parametru extra_coins_splash będzie wyglądał tak:

Parametr Zdalnej konfiguracji z wartościami warunkowymi

Gdy opublikujesz konfigurację z tym parametrem, po kolejnym pobraniu obie grupy użytkowników otrzymają skonfigurowane przez Ciebie dodatkowe wartości parametrów monet.

Następnie przeprowadź eksperyment z testami A/B lub przeprowadź personalizację pod kątem parametrów i warunków kierowania, wykorzystując różne banery i kwoty bonusowe.

Przetestuj nowe funkcje w ograniczonej grupie testowej

Zwykle do testowania nowych funkcji w ograniczonej grupie testowej używa się kanału alfa w Google Play lub wersji testowej aplikacji Apple. Te narzędzia idealnie nadają się do testowania nowych funkcji w ramach standardowego cyklu programowania.

Może się jednak zdarzyć, że masz funkcję, którą chcesz przetestować szybciej, a także łatwo ją włączyć lub wyłączyć niezależnie od terminu następnej wersji w zwykłym cyklu programowania. W takich przypadkach bardzo przydaje się Zdalna konfiguracja.

Załóżmy, że chcesz przetestować nową grafikę wśród pracowników w swojej firmie. Jak można to zrobić za pomocą Zdalnej konfiguracji?

Gdy użytkownicy logują się w Twojej aplikacji, sprawdź ich identyfikator e-mail i skonfiguruj właściwość użytkownika is_mydomain_employee=true, która ma zastosowanie tylko wtedy, gdy adres e-mail należy do Twojej domeny. Następnie utwórz warunek, który będzie śledzić tę właściwość użytkownika. Możesz ustawić kierowanie na tę właściwość użytkownika w Zdalnej konfiguracji i włączyć nową funkcję tylko dla tych użytkowników.

Animowany obraz przedstawiający czynności w GUI konsoli Firebase w celu przetestowania nowych funkcji w ograniczonej grupie testowej
Kierowanie grup testowych za pomocą warunku

Konfigurowanie złożonych encji w aplikacji lub grze przy użyciu kodu JSON

Wraz ze wzrostem złożoności aplikacji musisz znaleźć lepsze sposoby dostarczania do niej konfiguracji. Jeśli na przykład chcesz skonfigurować nowy system logowania, możesz utworzyć po 1 parametrze Zdalnej konfiguracji dla każdej wartości dynamicznej, którą chcesz kontrolować. Jednak taka konfiguracja systemu logowania jest uciążliwa oraz jest bardzo trudna do zrozumienia i obsługi.

Lepszym sposobem na zapewnienie konfiguracji takiego systemu logowania jest użycie JSON i zgrupowanie wszystkich tych parametrów w 1 parametrze. Ułatwia to edytowanie i utrzymywanie parametru login.

Konsola Firebase udostępnia walidator JSON i drukarkę „stylem”, których możesz używać podczas edytowania parametrów Zdalnej konfiguracji. Podczas pracy w konsoli kliknij ikonę {}, aby otworzyć edytor.

Animowany obraz przedstawiający kroki w GUI konsoli Firebase w celu skonfigurowania złożonych elementów za pomocą kodu JSON
Używanie edytora JSON do grupowania parametrów

Wyślij wiadomość na Slacku lub e-mailu po opublikowaniu aktualizacji Zdalnej konfiguracji

Jeśli należysz do dużego zespołu, który korzysta ze Zdalnej konfiguracji, możesz mieć trudności ze śledzeniem, kto i kiedy publikuje ją w Twoim zespole.

Aby uprościć współpracę, możesz włączyć alerty w ulubionym mechanizmie (Slack lub E-mail) w czasie zbliżonym do rzeczywistego. Interfejs Zdalnej konfiguracji REST API z aktywatorem Zdalnej konfiguracji w tle w Cloud Functions dla Firebase pozwoli Ci wysyłać powiadomienia po każdej zmianie szablonu Zdalnej konfiguracji.

Serwis eBay niedawno udostępnił swoją implementację na licencji open source, aby pokazać, w jaki sposób wykorzystuje Cloud Functions ze Zdalną konfiguracją do publikowania różnic między poprzednimi i nowymi szablonami Zdalnej konfiguracji w kanale Slack.