Vad är remote config?
Remote config (kort för "remote configuration") är en molnbaserad tjänst som gör det möjligt för utvecklare att dynamiskt ändra beteendet och utseendet hos mobilapplikationer utan att användarna behöver ladda ner och installera appuppdateringar. Det möjliggör ändringar i realtid av appens funktionalitet, användargränssnitt och funktionstillgänglighet genom konfiguration på serversidan.
Du kan ändra beteendet eller funktionerna i en app på distans utan att behöva publicera en appuppdatering. Detta görs genom att ställa in 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 remote config populariserades av Firebase (Firebase Remote Config), en plattform för mobilapputveckling från Google, och har sedan dess börjat anammas som en vanlig praxis bland mobilapputvecklare.
Användningsområden för remote config
Det finns ett antal vanliga användningsområden för remote configuration i apputvecklingsprocessen:
-
Återställningar
Vanligtvis när en Android- eller iOS-app uppdateras måste appen 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 appanvändarna.
Med remote config 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 remote config-parametrar på serversidan. -
Funktionsutrullningar
Eftersom remote config låter dig styra beteendet och utseendet hos 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. Istället för att pusha nya funktioner till 100 % av dina användare med en appuppdatering kan du ställa in villkorsstyrda värden i din app så att bara ett segment av dina användare ser en funktion, och du kan rulla ut nya funktioner i din egen takt när den redan har godkänts. -
A/B-testning
Eftersom du kan använda remote config för att aktivera och inaktivera funktioner för en delmängd av dina användare kan det även användas för A/B-testning. Med A/B-testning visas en del av dina användare en ny upplevelse, medan en kontrollgrupp visas 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å remote config
Säg att du är en apputvecklare som skapar ett mobilspel för Android & iOS. Utvecklingsteamet vill lägga till en ny chattfunktionalitet i spelet, men är oroliga för hur det kan påverka appanvändningsgraden. En utvecklare skapade en fungerande prototyp av funktionaliteten under en hackathon, men teamet vill testa hur den faktiskt beter sig i verkligheten innan de investerar mycket utvecklingsarbete i den.
Detta skulle vara ett bra användningsområde för remote config. Funktionen kan läggas till i appen och konfigureras på ett sätt så att den bara visas för 10 % av din användarbas. De övriga 90 % av användarna visas den ursprungliga upplevelsen, vilket leder till ett A/B-test där du kan mäta effekten av den nya funktionen på dina centrala appmått. Om 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 remote configuration-parametrar för att fjärrstyra och testa olika funktionaliteter i chatten, som meddelandelängd, chatboxstorlek, innehållsfilter med mera.
Här är några fler exempel på remote config.
E-handelsapp
- Uppdatera produktpriser och tillgänglighet dynamiskt
- Växla säsongsbetonade kampanjer och reor
- Anpassa UI-element för olika användarsegment
Nyhetsapp
- Styr synligheten för olika nyhetskategorier
- Justera frekvensen för innehållsuppdateringar baserat på användarengagemang
- Aktivera/inaktivera kommentarer eller funktioner för social delning
Träningsspårningsapp
- Modifiera träningsprogram baserat på användarens framsteg
- Justera målsättningsalgoritmer
- Växla nya hälsospårningsfunktioner
Social medie-app
- Rulla ut nya reaktionstyper till specifika användargrupper
- Justera algoritmer för innehållsmoderering
- Styr synligheten för experimentella funktioner som ljudrum eller kortformatsvideo
Hur man implementerar remote config
Fyra steg:
- Konfigurera en remote config-server eller välj en tredjepartstjänst
- 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 remote config-system
En enkel metod för att implementera remote configuration är genom att använda feature flags och funktionsvariabler. En feature flag (även känd som en funktionsväxling) är en villkorsstyrd flagga som kan ställas in som på eller av, vilket kan konfigureras på distans via API eller genom ett grafiskt gränssnitt i en plattform för funktionshantering som Optimizely Rollouts.
Nya funktioner och ny funktionalitet kan omslutas med feature flag-kod och kan enkelt aktiveras eller inaktiveras på distans. Feature flags kan också villkorsstyrt växlas baserat på användarprofilen, så flaggor kan aktiveras för en specifik delmängd av din användarbas.
Funktionsvariabler är behållare som kan lagra olika värden, vilka kan ställas in dynamiskt genom att fråga en konfigurationsfil lagrad på en molntjänst via REST API. Dessa fjärrvärden kan konfigureras för att ändra beteendet eller utseendet hos din app dynamiskt utan att behöva publicera ändringar i en App Store.
Remote config vs. feature flags
Även om remote config och feature flags är nära besläktade koncept finns det några viktiga skillnader:
- Omfång: Remote config är bredare och möjliggör ändringar av olika appparametrar, medan feature flags vanligtvis fokuserar på att aktivera/inaktivera specifika funktioner.
- Granularitet: Remote config erbjuder ofta mer finkornig kontroll över appbeteende, medan feature flags vanligtvis är binära (på/av).
- Användningsområden: Remote config används ofta för A/B-testning och gradvisa utrullningar, medan feature flags vanligtvis används för kanariefågelsläpp och för att separera driftsättning från lansering.
Begränsningar och överväganden
När du implementerar remote config bör du överväga följande potentiella utmaningar:
- Ökad komplexitet i apparkitekturen
- Potentiella prestandapåverkningar på grund av frekventa konfigurationshämtningar
- Integritets- och dataanvändningsfrågor relaterade till användarsegmentering
- Risk för övertillit till fjärrkonfigurationer, vilket potentiellt kan komplicera appunderhållet
Gratisverktyg för remote config
I takt med att mobilapputveckling fortsätter att utvecklas kommer remote config sannolikt att spela en allt viktigare roll i skapandet av flexibla, responsiva och användarcentrerade applikationer.
Om du vill komma igång med remote configuration erbjuder Optimizely en gratis remote config-lösning som heter Optimizely free feature flagging. Optimizely Rollouts erbjuder gratis feature flags och funktion för A/B-testning, så att du kan börja dra nytta av kraften i remote config i din apputvecklingsprocess.
Optimizely Rollouts fungerar med de populäraste språken och SDK:erna för mobilutveckling, inklusive Swift, Java, JavaScript och Objective-C.