Wymuszanie minimalnej wersji aplikacji za pomocą Zdalnej konfiguracji

W miarę rozwoju aplikacji nowe wersje mogą wprowadzać zmiany powodujące niezgodność w interfejsach API backendu, rozwiązywać krytyczne luki w zabezpieczeniach lub zastępować wycofane usługi i modele AI. W takich sytuacjach wcześniejsze wersje aplikacji mogą przestać działać niezawodnie lub bezpiecznie.

Za pomocą Remote Config możesz dynamicznie kontrolować wymagania dotyczące wersji aplikacji z poziomu chmury. Definiując parametry wersji w Remote Config, możesz prosić użytkowników o zaktualizowanie aplikacji lub wymagać od nich aktualizacji bez wdrażania niestandardowej infrastruktury serwera lub wydawania aktualizacji awaryjnej.

Wybieranie strategii aktualizacji

Remote Config dostarcza parametry wersji do oceny na kliencie, co pozwala skonfigurować interfejs aktualizacji aplikacji dla jednej z 2 strategii w zależności od wagi zmiany:

  • Wymuszona (blokująca) aktualizacja: jeśli wcześniejsza wersja aplikacji jest niezgodna z backendem lub stwarza zagrożenie dla bezpieczeństwa, możesz zablokować dostęp do aplikacji, dopóki użytkownik jej nie zaktualizuje. Jeśli zainstalowana wersja jest starsza niż wymagana wersja minimalna, możesz skonfigurować aplikację tak, aby wyświetlała okno dialogowe, którego nie można zamknąć, przekierowujące użytkownika do sklepu z aplikacjami na platformie w celu zainstalowania najnowszej wersji.
  • Elastyczna (opcjonalna) aktualizacja: jeśli aktualizacja wprowadza nowe funkcje, ulepszenia wydajności lub drobne poprawki błędów, możesz skonfigurować aplikację tak, aby wyświetlała baner lub prośbę o aktualizację, którą można zamknąć. Dzięki temu użytkownicy będą mogli zaktualizować aplikację w dogodnym dla siebie momencie, a jednocześnie będą mogli nadal z niej korzystać.

Krok 1. Skonfiguruj parametry w konsoli Firebase

Aby zarządzać wersjami aplikacji, zdefiniuj parametry w szablonie Remote Config:

  1. W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Parametry.
  2. Kliknij Dodaj parametr (lub Utwórz konfigurację, jeśli jest to Twój pierwszy parametr).
  3. Zdefiniuj te parametry:
    • minimum_version: ciąg znaków reprezentujący najwcześniejszą obsługiwaną wersję aplikacji (np. "2.4.0"). Aplikacje w wersji wcześniejszej niż ta wartość są blokowane do momentu aktualizacji.
    • latest_version (opcjonalnie): ciąg znaków reprezentujący najnowszą dostępną wersję aplikacji (np. "2.5.1"). Aplikacje w wersji od minimum_version do latest_version mogą wyświetlać opcjonalne zalecenie aktualizacji.
    • update_url (opcjonalnie): adres URL sklepu, z którego użytkownicy mogą pobrać aktualizację (np. strona aplikacji w Sklepie Google Play lub Apple App Store).
  4. Opcjonalnie: dodaj warunki dotyczące platformy:
    • Aplikacje na Androida i Apple często używają różnych wersji do publikacji i adresów URL w sklepie, dlatego możesz dodać wartości warunkowe dla każdej platformy w ramach tego samego parametru.
    • Kliknij Dodaj wartość dla warunku > Utwórz warunek. Nazwij warunek (np. Android App lub iOS App), wybierz Aplikacja jako regułę kierowania i wybierz aplikację.
    • Ustaw odpowiedni ciąg znaków wersji dla każdego warunku platformy i zachowaj wartość domyślną jako zastępczą.
  5. Aby zastosować szablon, kliknij Zapisz, a następnie Opublikuj zmiany.

Krok 2. Zaimplementuj sprawdzanie wersji po stronie klienta

Na kliencie sprawdź wersję aplikacji instalowanej pod kątem parametrów Remote Config podczas uruchamiania:

  1. Ustaw domyślne wartości w aplikacji: zawsze podawaj bezpieczne domyślne wartości w aplikacji w pakiecie aplikacji (np. ustaw minimum_version na początkową wersję aplikacji, np. "1.0.0"). Ta konfiguracja zastępcza zapewnia normalne działanie aplikacji, gdy urządzenie jest offline lub początkowe żądanie pobrania się nie powiedzie. Wskazówki dotyczące konkretnych platform znajdziesz w artykule Pobieranie domyślnych szablonów Remote Config.
  2. Pobierz i aktywuj Remote Config: pobierz i aktywuj najnowsze wartości szablonu po uruchomieniu aplikacji.
  3. Porównaj wersje: pobierz aktywne ciągi tekstowe minimum_version i latest_version i porównaj je z obecnie zainstalowaną wersją aplikacji.

  4. Podejmowanie działań na podstawie porównania wersji:

    • Wymuś wymaganą aktualizację: jeśli current_version jest wcześniejsza niż minimum_version, wyświetl pełnoekranowy alert modalny, którego nie można zamknąć. Wyłącz nawigację do pozostałych części aplikacji i dodaj przycisk, który otwiera update_url w sklepie z aplikacjami na platformie.
    • Wyświetlaj prośbę o opcjonalną aktualizację: jeśli wersja current_version jest wcześniejsza niż latest_version, wyświetlaj okno lub powiadomienie, które można zamknąć, informujące użytkowników o dostępności aktualizacji, z opcjami Zaktualizuj teraz i Później.
    • Zezwalaj na dostęp: w przeciwnym razie zezwól użytkownikowi na przejście do aplikacji.

Sprawdzone metody

  • Dodaj detektor działający w czasie rzeczywistym: gdy aktualizacje wersji są wymagane ze względu na problemy z bezpieczeństwem lub poważne pogorszenie wrażeń użytkownika, dodanie do aplikacji detektora Remote Config działającego w czasie rzeczywistym może pomóc w natychmiastowym wprowadzeniu zmian wymagań dotyczących wersji na aktywnych urządzeniach bez czekania na następne zaplanowane pobieranie lub ponowne uruchomienie aplikacji.
  • Testowanie z ograniczoną grupą testową: zanim podniesiesz wartość minimum_version dla wszystkich użytkowników wersji produkcyjnej, przetestuj warunek z ograniczoną grupą testową lub skieruj go do testerów wewnętrznych, korzystając z niestandardowych właściwości użytkownika. Dzięki temu sprawdzisz, czy modal blokujący wyświetla się prawidłowo i czy linki do sklepu działają poprawnie.
  • Używaj interfejsów API aktualizacji w aplikacji na platformie: na Androidzie rozważ zintegrowanie aktualizacji w aplikacji w Google Play ze sprawdzaniem Remote Config, aby umożliwić użytkownikom pobieranie i instalowanie aktualizacji bez opuszczania aplikacji.
  • Zapoznaj się z listami kontrolnymi dotyczącymi środowiska produkcyjnego: przeczytaj listę kontrolną dotyczącą uruchamiania Firebase i listę kontrolną dotyczącą środowiska produkcyjnego AI Logic, aby dowiedzieć się więcej o przygotowywaniu aplikacji i funkcji opartych na AI do środowiska produkcyjnego.