Wymuszanie minimalnej wersji aplikacji za pomocą Zdalnej konfiguracji

Wraz z rozwojem aplikacji nowe wersje mogą wprowadzać istotne zmiany w interfejsach API backendu, usuwać krytyczne luki w zabezpieczeniach lub zastępować wycofane usługi i modele AI. W takich sytuacjach starsze 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 wyświetlać użytkownikom prośby o zaktualizowanie aplikacji lub wymagać od nich aktualizacji bez wdrażania niestandardowej infrastruktury serwera ani publikowania aktualizacji awaryjnej.

Wybieranie strategii aktualizacji

Remote Config dostarcza parametry wersji do oceny na urządzeniu klienta, dzięki czemu możesz skonfigurować interfejs aktualizacji aplikacji w ramach jednej z 2 strategii w zależności od wagi zmiany:

  • Wymuszona aktualizacja (blokowanie): jeśli starsza wersja aplikacji jest niezgodna z backendem lub stwarza zagrożenie dla bezpieczeństwa, możesz zablokować dostęp do aplikacji do czasu, aż użytkownik ją zaktualizuje. Jeśli zainstalowana wersja jest starsza niż wymagane minimum, możesz skonfigurować aplikację tak, aby wyświetlała okno dialogowe, którego nie można zamknąć, i które kieruje użytkownika do sklepu z aplikacjami na platformie w celu zainstalowania najnowszej wersji.
  • Elastyczna (opcjonalna) aktualizacja: jeśli aktualizacja wprowadza nowe funkcje, poprawia wydajność lub usuwa drobne błędy, możesz skonfigurować aplikację tak, aby wyświetlała baner lub prośbę, którą użytkownicy mogą zamknąć. Zachęci ich to do aktualizacji w dogodnym dla nich momencie, a jednocześnie umożliwi dalsze korzystanie z aplikacji.

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 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 działające w wersji wcześniejszej niż ta wartość są blokowane do czasu aktualizacji.
    • latest_version (opcjonalnie): ciąg znaków reprezentujący najnowszą dostępną wersję aplikacji (np. "2.5.1"). Aplikacje działające w wersji między minimum_versionlatest_version mogą wyświetlać opcjonalną rekomendację aktualizacji.
    • update_url (opcjonalnie): adres URL sklepu, w którym użytkownicy mogą pobrać aktualizację (np. informacje o aplikacji w Sklepie Google Play lub Apple App Store).
  4. Opcjonalnie: dodaj warunki dotyczące platformy:
    • Aplikacje na Androida i iOS często mają różne wersje i adresy URL w sklepie, dlatego możesz dodać wartości warunkowe dla każdej platformy w ramach tego samego parametru.
    • Kliknij Dodaj wartość warunku > Utwórz warunek. Nazwij warunek (np. Android App lub iOS App), wybierz Aplikacja jako regułę kierowania i wybierz aplikację.
    • Ustaw odpowiedni ciąg wersji dla każdego warunku platformy i zachowaj wartość domyślną jako rezerwową.
  5. Aby zastosować szablon, kliknij Zapisz, a potem Opublikuj zmiany.

Krok 2. Wdróż sprawdzanie wersji po stronie klienta

Na kliencie sprawdź wersję aplikacji instalowanej w porównaniu z parametrami Remote Config podczas uruchamiania:

  1. Ustaw wartości domyślne w aplikacji: zawsze podawaj bezpieczne wartości domyślne w pakiecie aplikacji (np. ustaw minimum_version na początkową wersję aplikacji, np. "1.0.0"). Ta konfiguracja rezerwowa zapewnia, że aplikacja będzie działać normalnie, jeśli urządzenie jest offline lub początkowe żądanie pobrania się nie powiedzie. Wskazówki dotyczące poszczególnych platform znajdziesz w artykule Pobieranie domyślnych ustawień szablonu Remote Config.
  2. Pobierz i aktywuj Remote Config: pobieraj i aktywuj najnowsze wartości szablonu po uruchomieniu aplikacji.
  3. Porównywanie wersji: pobierz aktywne ciągi znaków minimum_versionlatest_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łej części aplikacji i udostępnij przycisk, który otwiera update_url w sklepie z aplikacjami na platformie.
    • Monit o opcjonalną aktualizację: jeśli current_version jest wcześniejsza niż latest_version, wyświetl okno dialogowe lub powiadomienie z możliwością zamknięcia, informujące użytkowników o dostępności aktualizacji, z opcjami Zaktualizuj teraz lub Później.
    • Zezwól na dostęp: w przeciwnym razie zezwól użytkownikowi na przejście do aplikacji.

Sprawdzone metody

  • Dodaj odbiornik w czasie rzeczywistym: gdy aktualizacje wersji są wymagane z powodu problemów z bezpieczeństwem lub poważnego pogorszenia UX, dodanie do aplikacji odbiornika Remote Config w czasie rzeczywistym może pomóc w zapewnieniu, że zmiany wymagań dotyczących wersji zaczną obowiązywać natychmiast na aktywnych urządzeniach bez czekania na następne zaplanowane pobieranie lub ponowne uruchomienie aplikacji.
  • Testowanie w ograniczonej grupie testerów: zanim zwiększysz minimum_version dla wszystkich użytkowników wersji produkcyjnej, przetestuj warunek w ograniczonej grupie testerów lub kieruj reklamy na testerów wewnętrznych za pomocą niestandardowych właściwości użytkownika. Ten test sprawdza, czy blokujący modal wyświetla się prawidłowo i czy linki do sklepu działają poprawnie.
  • Korzystaj z interfejsów API aktualizacji w aplikacji na platformie: na Androidzie rozważ zintegrowanie aktualizacji w aplikacji w Google PlayRemote Config sprawdzaniem, aby umożliwić użytkownikom pobieranie i instalowanie aktualizacji bez opuszczania aplikacji.
  • Zapoznaj się z listami kontrolnymi dotyczącymi wersji produkcyjnej: przeczytaj listę kontrolną dotyczącą wprowadzenia Firebaselistę kontrolną dotyczącą wersji produkcyjnej AI Logic, aby uzyskać więcej wskazówek na temat przygotowania aplikacji i funkcji AI do wersji produkcyjnej.