Fjärrkonfiguration
Innehållsförteckning
Vad är fjärrkonfiguration?
Remote config (förkortning för "fjärrkonfiguration") är en molnbaserad tjänst som gör det möjligt för utvecklare att dynamiskt ändra beteendet och utseendet hos mobilappar utan att användarna behöver ladda ner och installera uppdateringar av appen. Det möjliggör realtidsändringar av appens funktionalitet, användargränssnitt och funktionstillgänglighet genom konfiguration på serversidan.
Du kan ändra beteendet eller funktionerna i en app kan ändras på distans utan att behöva publicera en appuppdatering. Detta görs genom att ange standardvärden för olika inställningar i appen och sedan hämta värdena för dessa variabler i realtid från en fjärrserver.
Konceptet med fjärrkonfiguration populariserades av Firebase (Firebase Remote Config), en utvecklingsplattform för mobilappar från Google, och har sedan dess börjat användas som en vanlig metod av utvecklare av mobilappar.
Användningsfall för fjärrkonfiguration
Det finns ett antal vanliga användningsområden för fjärrkonfiguration i utvecklingsprocessen för appar:
-
Återställningar
När en Android- eller iOS-app uppdateras måste appen vanligtvis gå igenom App Stores granskningsprocess, vilket kan ta 24-48 timmar, och ännu längre om uppdateringen avvisas. Detta kan vara ett stort problem om buggar eller problem upptäcks i en uppdatering efter att den är live, och det tar dagar att få ut en fix till appens användare.
Med fjärrkonfiguration kan du snabbt göra ändringar i en app som redan är live i App Store och återställa funktioner i en app utan att behöva göra några ändringar i backend-koden, helt enkelt genom att redigera fjärrkonfigurationsparametrar på serversidan. -
Utrullning av funktioner
Eftersom fjärrkonfiguration gör att du kan styra beteendet och utseendet i din app på distans är det ett utmärkt sätt att rulla ut nya funktioner till dina användare på ett kontrollerat sätt. I stället för att skicka nya funktioner till 100 % av användarna med en appuppdatering kan du ställa in villkorliga värden i din app så att endast en del av användarna ser en funktion, och du kan rulla ut nya funktioner i din egen takt när de redan har godkänts. -
A/B-testning
Eftersom du kan använda fjärrkonfiguration för att aktivera och inaktivera funktioner för en delmängd av dina användare kan det också användas för A/B-testning. Med A/B-testning får en del av dina användare en ny upplevelse, medan en kontrollgrupp får den ursprungliga upplevelsen. Sedan kan du använda statistisk analys för att fastställa effekten av en ny funktion och få förtroende för att en ny funktion faktiskt är en förbättring jämfört med den gamla upplevelsen.
Exempel på fjärrkonfiguration
Säg att du är en app-utvecklare som skapar ett mobilapp-spel för Android och iOS. Utvecklingsteamet vill lägga till en ny chattfunktion i spelet, men är oroliga för hur det kan påverka användandet av appen. En utvecklare skapade en fungerande prototyp av funktionen under ett hackathon, men teamet vill testa hur den faktiskt fungerar i verkligheten innan de investerar mycket utvecklingsarbete i den.
Det här skulle vara ett bra användningsfall för fjärrkonfiguration. Funktionen kan läggas till i appen och konfigureras på ett sätt som gör att den bara visas för 10 % av dina användare. De övriga 90 % av användarna får se den ursprungliga upplevelsen, vilket leder till en A/B-testning där du kan mäta effekten av den nya funktionen på appens kärnvärden. Om några buggar eller problem upptäcks kan funktionen enkelt inaktiveras på distans utan att behöva gå igenom den långa granskningsprocessen i App Store.
Du kan också använda olika fjärrkonfigurationsparametrar för att fjärrstyra och testa olika funktioner i chatten, t.ex. meddelandelängd, chattrutans storlek, innehållsfilter osv.
Här är några fler exempel på fjärrkonfiguration.
App för e-handel
- Dynamisk uppdatering av produktpriser och tillgänglighet
- Växla mellan säsongskampanjer och försäljning
- Justera användargränssnittselement för olika segmenteringar av användare
App för nyheter
- Kontrollera synligheten för olika nyhetskategorier
- Justera uppdateringsfrekvensen för innehåll baserat på användarengagemang
- Aktivera/inaktivera kommentarer eller funktioner för social delning
App för träningsuppföljning
- Ändra träningsplaner baserat på användarens framsteg
- Justera målsättningsalgoritmer
- Funktionsväxling för nya hälsospårningsfunktioner
App för sociala medier
- Rulla ut nya reaktionstyper till specifika användargrupper
- Justera algoritmer för innehållsmoderering
- Kontrollera synligheten för experimentella funktioner som ljudrum eller kortformad video
Så här implementerar du fjärrkonfiguration
Fyra steg:
- Konfigurera en server för fjärrkonfiguration eller välj en tjänst från tredje part
- Implementera logik på klientsidan för att hämta och tillämpa fjärrkonfigurationer
- Utveckla en strategi för hantering av konfigurationsuppdateringar och reservmekanismer
- Implementera säkerhetsåtgärder för att skydda ditt system för fjärrkonfiguration
En enkel metod för att implementera fjärrkonfiguration är att använda sig av feature flags och feature variables. En feature flag (även känd som en funktionsväxling) är en villkorlig flagga som kan sättas till på eller av, som kan fjärrkonfigureras via API eller via ett GUI i en plattform för funktionshantering som Optimizely Rollouts.
Nya funktioner och funktionalitet kan paketeras i kod för feature flags och kan enkelt aktiveras eller inaktiveras på distans. Feature flags kan också funktionsväxlas baserat på användarprofilen, så att flaggor kan aktiveras för en specifik delmängd av din användarbas.
Funktionsvariabler är behållare som kan lagra olika värden, som kan ställas in dynamiskt genom att fråga en konfigurationsfil som lagras på en molntjänst via REST API. Dessa fjärrvärden kan konfigureras för att ändra beteendet eller utseendet på din app dynamiskt utan att du behöver publicera ändringar i en App Store.
Fjärrkonfiguration vs. feature flags
Även om fjärrkonfiguration och feature flags är närbesläktade koncept har de några viktiga skillnader:
- Omfattning: Fjärrkonfiguration är bredare och möjliggör ändringar av olika parametrar i appen, medan feature flags vanligtvis fokuserar på att aktivera/inaktivera specifika funktioner.
- Granularitet: Fjärrkonfiguration ger ofta möjlighet till mer finkornig kontroll över appens beteende, medan feature flags vanligtvis är binära (på/av).
- Användningsfall: Fjärrkonfiguration används ofta för A/B-testning och gradvisa utrullningar, medan feature flags vanligtvis används för canary releases och för att skilja utrullning från release.
Begränsningar och överväganden
När du implementerar fjärrkonfiguration bör du tänka på följande potentiella utmaningar:
- Ökad komplexitet i arkitekturen för appen
- Potentiell prestandapåverkan på grund av frekventa konfigurationshämtningar
- Problem med integritet och dataanvändning i samband med segmentering av användare
- Risk för övertro på fjärrkonfigurationer, vilket kan försvåra underhållet av appen
Gratis verktyg för fjärrkonfiguration
I takt med att utvecklingen av mobilappar fortsätter att utvecklas kommer fjärrkonfiguration sannolikt att spela en allt viktigare roll när det gäller att skapa flexibla, responsiva och användarcentrerade applikationer.
Om du vill komma igång med fjärrkonfiguration erbjuder Optimizely en kostnadsfri lösning för fjärrkonfiguration som kallas Optimizely free feature flagging. Optimizely Rollouts tillhandahåller gratis flaggning av funktioner och A/B-testning, så att du kan börja dra nytta av kraften i fjärrkonfiguration i din app-utvecklingsprocess.
Optimizely Rollouts fungerar för de mest populära mobilutvecklingsspråken och SDK: erna inklusive Swift, Java, JavaScript och Objective-C.