Firebase Remote Config: co to jest, parametry i jak zarządzać zdalnie

Autor: IT Sectr Opublikowano: 2026-04-28 Czas czytania: 15 min

Firebase Remote Config to chmurowy serwis zarządzania parametrami aplikacji mobilnej, umożliwiający zmianę jej zachowania, wyglądu i zawartości bez publikowania nowej wersji w sklepie z aplikacjami. W przeciwieństwie do tradycyjnego podejścia z cyklami wydawniczymi, Remote Config pozwala zmieniać dowolne konfigurowalne parametry w czasie rzeczywistym przez konsolę Firebase lub REST API. Według danych Google Firebase (2026), serwis jest używany w 65% aplikacji na platformie Firebase do testów A/B, personalizacji i operacyjnego zarządzania funkcjami po stronie klienta.

Najważniejsze

  • Remote Config — serwis zdalnego zarządzania parametrami aplikacji poprzez chmurową konsolę Firebase.
  • Zmiany wchodzą w życie bez aktualizacji aplikacji w sklepie — wystarczy restart lub synchronizacja interwałowa.
  • Personalizacja pozwala ustawiać różne wartości parametrów dla różnych grup użytkowników lub warunków.
  • Testy A/B są wbudowane w Remote Config: można porównywać zachowanie grup z różnymi wartościami parametrów.
  • Buforowanie po stronie klienta zmniejsza obciążenie serwera: dane są przechowywane lokalnie domyślnie do 12 godzin.

Co to jest Firebase Remote Config i jak działa

Firebase Remote Config to serwis, który przechowuje pary klucz-wartość po stronie serwera Firebase i dostarcza je na urządzenia klienckie na żądanie lub zgodnie z harmonogramem. Każdy parametr ma nazwę (ciąg znaków), wartość (ciąg znaków, liczba, boolean lub JSON) i może być powiązany z warunkami — regułami określającymi, jaką wartość otrzymuje konkretny użytkownik. Warunki mogą sprawdzać wersję aplikacji, język urządzenia, region, losowy procent i wiele innych atrybutów.

Architektura Remote Config opiera się na modelu push-pull z priorytetem pull. Klient okresowo żąda aktualnych wartości z serwera (domyślnie co 12 godzin). Deweloper może jednak zainicjować natychmiastową synchronizację w kodzie lub przez konsolę Firebase (przycisk „Publish changes”). Po opublikowaniu zmian serwer wysyła powiadomienie push przez Firebase Cloud Messaging, a aplikacja po jego otrzymaniu może ponownie pobrać parametry.

Darmowy pakiet Firebase Remote Config nie ma ograniczeń co do liczby parametrów ani zapytań, co odróżnia go od innych serwisów Firebase. Jedynym ograniczeniem jest rozmiar odpowiedzi, który nie może przekraczać 800 KB (łącznie dla wszystkich parametrów). To w zupełności wystarcza dla typowego scenariusza: większość projektów używa 10–50 parametrów, a ich całkowity rozmiar rzadko przekracza 100 KB.

Jak Remote Config określa, jaką wartość zwrócić użytkownikowi

Mechanizm wyboru wartości opiera się na priorytecie warunków. Każdy warunek reprezentuje regułę (np. „iOS wersja > 15.0”). Remote Config sprawdza warunki w kolejności ich priorytetu i zwraca wartość pierwszego pasującego warunku. Jeśli żaden warunek nie pasuje, używana jest wartość domyślna (default value). Ten mechanizm pozwala tworzyć hierarchię reguł: od najbardziej szczegółowej do najbardziej ogólnej.

Ważne: kolejność warunków w konsoli Firebase ma znaczenie. Jeśli dwa warunki mogą pasować do jednego użytkownika jednocześnie, wygrywa ten, który znajduje się wyżej na liście. Zaleca się umieszczanie bardziej szczegółowych warunków (np. dla konkretnej wersji aplikacji) powyżej ogólnych (np. „Wszyscy użytkownicy iOS”). Nieprawidłowa kolejność może spowodować, że ukierunkowana zmiana nigdy nie zostanie zastosowana.

Buforowanie i czas życia parametrów

Domyślnie Remote Config buforuje wartości otrzymane z serwera na 12 godzin. Oznacza to, że po opublikowaniu zmian w konsoli aplikacja zobaczy je nie wcześniej niż po 12 godzinach (lub po następnym jawnym wywołaniu fetch). Minimalny czas buforowania można ustawić przez FirebaseRemoteConfigSettings(minimumFetchIntervalInSeconds: 3600) — dla produkcji zaleca się co najmniej 1 godzinę, aby uniknąć nadmiernych zapytań do serwera i oszczędzać transfer danych użytkownika.

Do testowania zmian w trakcie rozwoju używaj minimalnego interwału 0 sekund: FirebaseRemoteConfigSettings(minimumFetchIntervalInSeconds: 0). W tym trybie każde wywołanie fetch będzie ładować aktualne wartości z serwera. Ważne, aby nie zapomnieć przywrócić interwału produkcyjnego przed wydaniem, w przeciwnym razie przy każdym uruchomieniu aplikacja będzie łączyć się z serwerem, zwiększając koszty i zużycie baterii.

Parametry, warunki i grupy użytkowników

Parametr Remote Config to nazwana zmienna, która może przyjmować jedną z kilku wartości w zależności od warunków. Typy wartości: string, number (double), boolean, JSON object (serializowany ciąg znaków). Parametry JSON są wygodne do przesyłania danych strukturalnych bez tworzenia wielu oddzielnych parametrów: na przykład obiekt z ustawieniami motywu aplikacji (primaryColor, backgroundColor, fontSize).

Warunki (conditions) to reguły logiczne, które sprawdzają atrybuty użytkownika lub urządzenia: wersję systemu (iOS, Android), wersję aplikacji, kraj, język, grupę użytkownika (właściwość określaną w kodzie), losowy procent (do testów A/B). Warunki można łączyć przez logiczne AND: na przykład „wersja aplikacji >= 5.0” ORAZ „kraj = Rosja”. Każdy parametr może mieć nieograniczoną liczbę warunków, ale w praktyce używa się 2–5.

Do personalizacji używaj właściwości użytkownika (user properties) — atrybutów ustawianych w kodzie aplikacji przez Firebase Analytics. Na przykład analytics.setUserProperty(„subscription_tier”, „premium”). Remote Config może sprawdzać tę właściwość i zwracać wartości specyficzne dla użytkowników premium. Personalizacja przez Remote Config nie wymaga tworzenia warunków po stronie klienta — cała logika jest skoncentrowana w chmurowej konsoli.

Typ warunkuPrzykładScenariusz
Wersja systemuiOS >= 16.0Włączyć nową funkcję tylko dla nowych wersji iOS
Wersja aplikacjiapp_version >= 3.2Wyświetlić baner aktualizacji dla starych wersji
Krajcountry == „JP”Zlokalizować treść dla Japonii
Losowy procent10% użytkownikówTest A/B dla 10% odbiorców
User Propertytier == „premium”Włączyć funkcje premium

Grupy użytkowników i segmentacja

Remote Config obsługuje dwa modele segmentacji: oparty na atrybutach (conditions) i oparty na właściwościach Firebase Analytics (user properties). Pierwszy model jest statyczny: warunek sprawdza stały atrybut, który nie zmienia się w ramach sesji lub wersji aplikacji. Drugi model jest dynamiczny: właściwość może być ustawiona w dowolnym momencie działania aplikacji, co pozwala elastycznie segmentować użytkowników w czasie wykonania.

Ważne: aby używać user properties w Remote Config, konieczna jest integracja Firebase Analytics. To wymaganie wynika z faktu, że Remote Config pobiera dane użytkownika z SDK Analytics. Bez Analytics Remote Config działa tylko z atrybutami urządzenia (wersja systemu, wersja aplikacji, kraj z IP). Personalizacja oparta na zachowaniu użytkownika (np. „dokonał 5 zakupów”) jest dostępna tylko przez Analytics.

Wersjonowanie szablonu

Szablon Remote Config (template) to kompletny zestaw wszystkich parametrów, warunków i ich wartości. Firebase przechowuje historię zmian szablonu i umożliwia przywrócenie dowolnej poprzedniej wersji w ciągu 90 dni. Wersjonowanie jest krytyczne: jeśli po opublikowaniu zmian zostanie wykryty błąd (np. nieprawidłowa wartość parametru psuje UI), można natychmiast przywrócić szablon do poprzedniej działającej wersji przez konsolę Firebase.

Każda zmiana szablonu (publikacja) tworzy nową wersję z unikalnym numerem. W konsoli Firebase dostępny jest dziennik zmian z podaniem czasu, użytkownika i opisu (jeśli wypełniony). Zaleca się zawsze dodawanie opisu do publikacji: „Włączyliśmy nową listę dla iOS 10% grupy testowej”. Bez opisu po miesiącu nie sposób przypomnieć sobie, co dokładnie zostało zmienione w wersji 42.

Jak wdrożyć Remote Config w aplikacji

Wdrożenie Remote Config składa się z trzech kroków: inicjalizacja SDK z ustawieniami (czas buforowania), zdefiniowanie parametrów domyślnych (wartości na wypadek niedostępności serwera) i logika stosowania otrzymanych wartości. Parametry domyślne to zabezpieczenie na wypadek, gdy urządzenie nie może połączyć się z Firebase (brak internetu, serwer niedostępny). Bez default values aplikacja będzie używać null, co może prowadzić do crasha.

Definiowanie default values odbywa się na dwa sposoby: programowo przez wywołanie setDefaultsAsync lub przez plik XML. Sposób programowy jest wygodny dla małych projektów: wszystkie wartości są ustawiane bezpośrednio w kodzie raz przy starcie aplikacji. Sposób plikowy jest preferowany dla projektów z dziesiątkami parametrów: wartości są przechowywane w zasobach i łatwo je edytować bez rekompilacji. Zaleca się łączenie: podstawowe ustawienia w XML, a specyficzne — programowo.

Asynchroniczność to kluczowa cecha Remote Config SDK. Metoda fetchAndActivate() wykonuje żądanie do serwera w tle, nie blokując UI. Po zakończeniu ładowania następuje aktywacja — wartości parametrów są aktualizowane w pamięci aplikacji. Do śledzenia zakończenia używaj słuchaczy lub korutyn (w Android/Kotlin). Użytkownik nie powinien widzieć „szarpania” UI przy aktualizacji parametrów — wszystkie zmiany powinny być stosowane płynnie.

Inicjalizacja z onComplete i słuchaczami

Przy pierwszym uruchomieniu Remote Config SDK nie blokuje inicjalizacji aplikacji. Podczas synchronizacji aplikacja używa wartości domyślnych. Oznacza to, że użytkownik może zobaczyć starą wersję interfejsu przy pierwszym uruchomieniu, a po zakończeniu fetch — nową. Dla krytycznych parametrów (np. serverUrl, od którego zależy działanie), używaj synchronizacji aktywacyjnej z oczekiwaniem na wynik.

Zalecana praktyka: wyświetl ekran ładowania z minimalnym opóźnieniem, jeśli aplikacja krytycznie potrzebuje aktualnych parametrów przed wyświetleniem pierwszego ekranu. Na ekranie ładowania uruchamiany jest fetchAndActivate z timeoutem 5 sekund. Jeśli w ciągu 5 sekund parametry nie zostaną załadowane — aplikacja uruchamia się z default values. Zapobiega to nieskończonemu oczekiwaniu przy braku internetu.

Praca z parametrami JSON

Parametry JSON Remote Config umożliwiają przesyłanie danych strukturalnych jedną wartością. Na przykład obiekt ze stylami motywu: {„primaryColor”: „#6200EE”, „borderRadius”: 8, „fontFamily”: „Roboto”}. Po stronie klienta JSON jest parsowany i stosowany do UI. Zalety: jeden parametr zamiast trzech, atomowość aktualizacji (wszystkie trzy pola aktualizowane jednocześnie), czysta konsola. Wada: trudność odczytu w konsoli Firebase (JSON wyświetla się jako ciąg znaków).

Zalecenie: używaj parametrów JSON do grup logicznie powiązanych wartości, które są aktualizowane razem (motywy, konfiguracja ekranu, ustawienia sieciowe). Dla niezależnych parametrów (feature toggle, serverUrl) używaj oddzielnych parametrów tekstowych lub logicznych — są łatwiejsze do odczytania w konsoli i łatwiej śledzić zmiany w historii wersji szablonu.

Testy A/B z Remote Config

Testowanie A/B to wbudowana funkcja Firebase Remote Config, która umożliwia podzielenie użytkowników na grupy, ustawienie dla każdej grupy różnych wartości parametrów i zmierzenie wpływu zmian na wybrane metryki. W przeciwieństwie do ręcznego podziału przez warunki z random_percent, integracja z Firebase Analytics automatycznie zbiera statystyki dla każdej grupy eksperymentalnej i pokazuje istotność statystyczną różnic.

Proces testu A/B: deweloper tworzy eksperyment w konsoli Firebase (sekcja A/B Testing), wybiera parametr Remote Config, ustawia wartości dla grupy kontrolnej i testowej oraz określa metrykę docelową (np. conversion rate lub revenue). Firebase automatycznie dystrybuuje użytkowników do grup, zbiera dane i po 2–4 tygodniach pokazuje wynik z p-value. Eksperyment można zatrzymać przed czasem, jeśli wynik jest jednoznaczny.

Istotność statystyczna to kluczowe kryterium zatrzymania eksperymentu. Firebase A/B Testing używa podejścia Frequentist i pokazuje p-value dla każdej metryki. Standardowy próg istotności to 0.05 (95% poziom ufności). Po osiągnięciu tego progu na korzyść jednej z grup Firebase zaleca zatrzymanie eksperymentu i zastosowanie zmian dla wszystkich użytkowników. Jeśli po 4 tygodniach istotność nie zostanie osiągnięta — eksperyment uznaje się za nierozstrzygnięty.

Rodzaje eksperymentów

Firebase A/B Testing obsługuje dwa rodzaje eksperymentów: klasyczny A/B (porównanie dwóch wartości jednego parametru) i wielowariantowy A/B/n (porównanie trzech lub więcej wartości). Do testów wielowariantowych potrzeba więcej użytkowników, aby osiągnąć istotność statystyczną. Zaleca się używanie A/B/n tylko dla parametrów z 3–5 wariantami, gdzie każdy wariant znacząco różni się od pozostałych.

Czas trwania eksperymentu zależy od wolumenu ruchu: dla aplikacji z 1000 aktywnych użytkowników dziennie minimalny czas to 2 tygodnie, dla aplikacji ze 100 000 użytkowników — 3–5 dni. Firebase automatycznie oblicza wymagany czas i ostrzega, jeśli bieżący ruch jest niewystarczający do wykrycia istotnych różnic. Ważne: nie zatrzymuj eksperymentu przed planowanym terminem, nawet jeśli wydaje się, że wynik jest oczywisty — to klasyczny błąd „peeking”.

Metryki dla testów A/B

Metryki docelowe w Firebase A/B Testing są definiowane na podstawie zdarzeń Firebase Analytics. Dostępne są standardowe metryki: daily active users, revenue, conversion rate, retention, user engagement. Można również utworzyć niestandardową metrykę na podstawie dowolnego zdarzenia Analytics z dodatkowymi parametrami. Na przykład metryka „Procent użytkowników, którzy dotarli do ekranu płatności” jest tworzona ze zdarzenia screen_view z parametrem screen_name = „payment”.

Zaleca się wybranie jednej metryki podstawowej (primary metric), na podstawie której podejmowana jest decyzja o sukcesie eksperymentu, oraz 2–3 metryk wtórnych do dodatkowej analizy. Wybór kilku metryk podstawowych zwiększa ryzyko wyniku fałszywie pozytywnego (multiple comparison problem). Jeśli wybrana metryka podstawowa nie wykazuje statystycznie istotnej poprawy, eksperyment uznaje się za nieudany, nawet jeśli metryki wtórne uległy poprawie.

Przykłady kodu dla Remote Config w Kotlinie

Omówimy integrację Remote Config w aplikacji Android w Kotlinie. Przykłady obejmują inicjalizację SDK z niestandardowym czasem buforowania, pobieranie parametrów różnych typów, implementację warunku A/B po stronie klienta i obsługę błędów przy niedostępności serwera. Cały kod jest wykonywany w głównej activity lub klasie Application, aby parametry były dostępne od samego startu aplikacji.

Przed użyciem dodaj zależność: implementation(„com.google.firebase:firebase-config”) przez Firebase BOM. Upewnij się, że Firebase Analytics jest również podłączony, ponieważ Remote Config używa Analytics do przesyłania właściwości użytkownika.

Inicjalizacja i pobieranie parametrów

Pierwszy przykład — podstawowa konfiguracja Remote Config z minimalnym interwałem fetch 1 godzina dla produkcji. SDK jest inicjalizowane w metodzie onCreate klasy Application. Po fetchAndActivate sprawdzana jest wartość parametru welcome_message, który może być zmieniony zdalnie dla ekranu powitalnego.

kotlin
class MainApp : Application() {

    override fun onCreate() {
        super.onCreate()
        val remoteConfig = Firebase.remoteConfig
        val settings = FirebaseRemoteConfigSettings.Builder()
            .setMinimumFetchIntervalInSeconds(3600)
            .build()

        remoteConfig.setConfigSettingsAsync(settings)
        remoteConfig.setDefaultsAsync(
            R.xml.remote_config_defaults
        )

        remoteConfig.fetchAndActivate()
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    val welcomeMsg = remoteConfig
                        .getString("welcome_message")
                    Log.d("RemoteConfig", welcomeMsg)
                }
            }
    }
}

W przykładzie setDefaultsAsync ładuje default values z pliku XML res/xml/remote_config_defaults.xml. Jeśli fetch zakończy się błędem (brak sieci, serwer niedostępny), aplikacja będzie używać tych wartości. Plik XML zawiera te same nazwy parametrów co w konsoli Firebase: <entry key=„welcome_message”>Witamy!</entry>. Zaleca się zawsze posiadanie default values dla wszystkich parametrów Remote Config.

Feature toggle z Remote Config

Drugi przykład — feature toggle (flaga włączenia funkcji). Parametr new_checkout_enabled ma typ boolean. Jeśli wartość to true — aplikacja pokazuje nowy ekran realizacji zamówienia, jeśli false — stary. Feature toggle to najpopularniejszy scenariusz Remote Config: zmiana dotyczy tylko jednego parametru, nie wymaga modyfikacji logiki i może być natychmiast cofnięta.

kotlin
fun isFeatureEnabled(paramName: String): Boolean {
    return Firebase.remoteConfig
        .getBoolean(paramName)
}

// Użycie w activity
if (isFeatureEnabled("new_checkout_enabled")) {
    navigateToNewCheckout()
} else {
    navigateToLegacyCheckout()
}

Funkcja isFeatureEnabled enkapsuluje dostęp do Remote Config i może być łatwo testowana przez mock. Dla feature toggles zaleca się używanie konwencji nazewnictwa: prefiks feature_, ff_ lub flag_, aby w konsoli Firebase od razu było jasne przeznaczenie parametru. Przykład: feature_new_onboarding, ff_dark_mode, flag_v3_api. Nie używaj parametrów-flag do włączania/wyłączania dłużej niż 3 miesiące — gromadzenie martwych flag utrudnia utrzymanie.

Pobieranie konfiguracji motywu JSON

Trzeci przykład — pobieranie parametru JSON z ustawieniami motywu aplikacji. Parametr app_theme zawiera obiekt JSON z primaryColor, borderRadius i fontFamily. Po stronie klienta JSON jest parsowany za pomocą Gson lub kotlinx.serialization, a wartości są stosowane do UI. Takie podejście pozwala projektantom zmieniać motyw aplikacji bez udziału dewelopera i bez wydania nowej wersji.

kotlin
data class AppTheme(
    val primaryColor: String = "#6200EE",
    val borderRadius: Int = 8,
    val fontFamily: String = "Roboto"
)

fun getAppTheme(): AppTheme {
    val json = Firebase.remoteConfig
        .getString("app_theme")
    return Gson().fromJson(json, AppTheme::class.java)
}

Praca z JSON wymaga ostrożności: jeśli JSON w konsoli Firebase będzie nieprawidłowy (np. brak przecinka), parsowanie zakończy się błędem, a aplikacja otrzyma default values zamiast aktualnego motywu. Zaleca się walidację ciągów JSON przed publikacją przez walidator JSON. Dla produkcji dodaj try-catch podczas parsowania i loguj błędy przez Firebase Crashlytics.

Najlepsze praktyki i ograniczenia

Firebase Remote Config to potężne narzędzie, ale przy nieprawidłowym użyciu może prowadzić do problemów z wydajnością, przewidywalnością zachowania i bezpieczeństwem. Omówimy kluczowe praktyki, które pomogą uniknąć typowych błędów podczas pracy z serwisem, oraz ograniczenia, które należy uwzględnić przy projektowaniu architektury aplikacji.

Unikaj danych wrażliwych — Remote Config nie jest przeznaczony do przechowywania sekretów (kluczy API, tokenów, haseł). Wszystkie wartości parametrów są dostępne w kodzie klienckim i mogą być wyodrębnione z pamięci aplikacji. Do danych poufnych używaj Cloud Functions z weryfikacją serwerową lub Secret Manager. W Remote Config przechowuj tylko publiczne parametry: teksty, flagi, ustawienia UI, URL-e publicznych endpointów.

Testuj każdą zmianę przed opublikowaniem dla wszystkich odbiorców. Użyj testu A/B lub publikacji dla małego procenta (1–5% użytkowników), aby sprawdzić, czy nowa wartość nie powoduje crasha i nie psuje wyświetlania. Remote Config nie ma środowiska stagingowego — wszystkie zmiany są publikowane od razu na produkcję. Jedynym bezpiecznym sposobem publikacji jest stopniowe wdrażanie.

Ograniczenia platformy: maksymalna liczba parametrów — 2000 (dla wszystkich typów), maksymalny rozmiar jednej wartości — 256 KB, całkowity rozmiar odpowiedzi serwera — 800 KB. Liczba właściwości użytkownika (user properties), które można użyć w Remote Config, jest ograniczona do 25. Minimalny interwał fetch — 0 sekund (do debugowania), ale nadużywanie może prowadzić do przekroczenia limitu Cloud Functions (30 000 zapytań na minutę na projekt).

Często zadawane pytania

Czy Remote Config może działać bez internetu?

Tak, przy braku sieci Remote Config używa wartości domyślnych ustawionych w kodzie lub pliku XML. Po przywróceniu połączenia SDK automatycznie wykona fetch przy następnym wywołaniu lub po upływie interwału buforowania. Aplikacja nigdy nie ulegnie awarii z powodu braku Remote Config, jeśli poprawnie ustawiono default values.

Jak szybko zmiany docierają do użytkowników?

Domyślnie — do 12 godzin (interwał buforowania). Aby przyspieszyć, użyj powiadomienia push FCM przez przycisk „Publish changes” w konsoli: aplikacja otrzymuje wiadomość i natychmiast wykonuje fetch. Minimalny interwał fetch do przyspieszenia można ustawić przez minimumFetchIntervalInSeconds.

Ile parametrów można utworzyć za darmo?

Za darmo — do 2000 parametrów na projekt, nieograniczona liczba zapytań w pakiecie Spark. Limit 2000 parametrów jest miękki: Firebase nie blokuje tworzenia nowych, ale wydajność może się zmniejszyć. Dla projektów z tysiącami parametrów zaleca się używanie strukturalnych parametrów JSON.

Czy można używać Remote Config na Flutter?

Tak, Firebase Remote Config ma oficjalną wtyczkę Flutter: firebase_remote_config. API w pełni odpowiada natywnym SDK Android i iOS. Wtyczka obsługuje wszystkie typy parametrów, fetchAndActivate, słuchacze zmian i integrację z Firebase Analytics do testów A/B.

Czym Remote Config różni się od Firebase Feature Flags?

Firebase Feature Flags to oddzielny serwis do zarządzania funkcjami z obsługą grup docelowych i eksperymentów. Remote Config to bardziej ogólny serwis do dowolnych parametrów, w tym feature toggles. Feature Flags oferują dedykowany interfejs i integrację z Cloud Run, ale Remote Config pozostaje głównym narzędziem dla większości scenariuszy.

Podsumowanie

  • Firebase Remote Config — chmurowy serwis do zarządzania parametrami aplikacji bez publikowania aktualizacji.
  • Mechanizm działania — model pull z buforowaniem do 12 godzin i możliwością push przez FCM.
  • Warunki umożliwiają ustawianie różnych wartości dla różnych grup użytkowników na podstawie atrybutów urządzenia.
  • Testy A/B są wbudowane w Remote Config i zintegrowane z Firebase Analytics do obliczania istotności statystycznej.
  • Bezpieczeństwo — Remote Config nie jest przeznaczony do przechowywania sekretów, tylko do publicznych parametrów.
  • Feature toggles — najpopularniejszy scenariusz: włączanie/wyłączanie funkcji przez jeden parametr boolean.
  • Best practice — publikowanie zmian na 1–5% odbiorców przed wdrożeniem dla wszystkich użytkowników.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również