Postat den 21. mars 2024 av Jan Bunk
Det finns många fall där det kan vara användbart att skilja mellan en person som tittar på din webbplats i webbläsaren och en person som tittar på den via din app. Kanske vill du se analyser av hur väl din app tas emot av användarna eller så vill du visa olika innehåll för appanvändare.
Precis som det finns flera användningsfall finns det också flera sätt att uppnå detta mål. Låt oss gå igenom dem en efter en.
Användaragenten är en kort sträng som webbläsaren skickar till webbplatser när den laddar en sida. Användaragenten innehåller information om webbläsaren, t.ex. kan en Firefox-webbläsare skicka något i stil med följande användaragent:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0Utifrån detta kan din webbplats upptäcka att användaren använder version 47.0 av webbläsaren Mozilla Firefox. Precis som webbläsare skickar din app också en användaragent som identifierar den.
Appen använder några olika användaragenter:
$version är appens interna version (t.ex. 1.4.8+52) och $operatingSystem är den plattform som appen används på (t.ex. ios eller android).
$regularUserAgent är användaragenten för en mobil webbläsare som kan förväntas av enheten, till exempel Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
Så ett exempel på en användaragent som appen kan använda på iOS skulle vara: Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 App-WebView (ios) 1.4.8+52
Baserat på ovanstående user agent-format kan du upptäcka att din webbplats laddas av appen genom att kontrollera om user agenten innehåller "App-WebView". Om du även vill kontrollera operativsystemet kan du dessutom kontrollera om användaragenten innehåller "(android)" eller "(ios)".
Om du använder WordPress kan du använda pluginet "UserAgent Content Switcher". Namnet på pluginet är ganska beskrivande: det gör att du kan visa olika innehåll för användare baserat på deras användaragent. Här är hur du kan ställa in det (och ett exempel på användningsfall):
Denna text är synlig för alla.
[agentsw ua='app']
Denna text är endast synlig för app-användare!
[/agentsw]
Naturligtvis kan du inte bara kontrollera användaragenten på serversidan (som beskrivs i föregående avsnitt), utan även i JavaScript.
Här är ett exempel på hur du kan använda JavaScript för att upptäcka om användaren använder appen eller en webbläsare:
const isApp = navigator.userAgent.includes("App-WebView");
if (isApp) {
console.log("The user is using the app.");
} else {
console.log("The user is using a browser.");
}
Alternativt kan du använda Appen gör små osynliga ändringar i webbplatsens HTML som är nödvändiga för vissa funktioner i appen. Vi kan också använda dessa ändringar för att se om sidan har laddats av appen.
Eftersom detta är lite knepigt rekommenderar vi att du använder executeWhenAppReady
från apphjälpsskriptet.
Sedan kan du lägga in valfri kod i funktionen executeWhenAppReady
, och den kommer bara att exekveras om sidan laddades av appen.
En liten nackdel med den här metoden är att det tar några millisekunder innan koden exekveras, även om sidan laddades av appen.
På sidan för anpassning av webbplatsen har du möjlighet att lägga till JavaScript eller CSS som appen ska injicera i varje sida som laddas. Möjligheterna är oändliga med detta, men som ett exempel, låt oss göra denna text grön i appen:
<p id="red-text" style="color: red;">This text is red in the browser.</p>
Nu kan vi konfigurera detta JavaScript för att injicera:
document.getElementById("red-text").style.color = "green";
Eller alternativt denna CSS för att injicera:
#red-text {
color: green !important;
}
Så som du kan se fungerar detta också som ett sätt att ha ett annat beteende på webbplatsen än i appen.
Relaterade artiklar
Progressiva webbappar vs. inbyggda appar
Vill du ta din webbplats till nästa nivå? Så här står sig progressiva webbappar mot vanliga native-appar och hur du förvandlar din webbplats till en app.
Konvertera din webbplats till en app
Konvertera din webbplats till en app för att dra nytta av push-notiser, förbättrad varumärkeskännedom och mycket mer. Ingen kod.
Skillnader mellan Android- och iOS-appar
I den här artikeln diskuterar vi fördelarna med Android-appar jämfört med iOS-appar och i vilka fall en iOS-app för din webbplats är det bästa alternativet.
Hej, jag heter Jan! Jag skapade webtoapp.design 2019 när jag studerade datavetenskap på universitetet. Mycket har förändrats sedan dess - inte bara har jag tagit examen, utan det är också inte längre bara jag som driver webtoapp.design. Vi har vuxit till ett globalt, helt fjärrstyrt team och har samlat massor av erfarenhet kring apputveckling och apppublicering. Vi har skapat och publicerat hundratals appar i appbutikerna, där de har laddats ner hundratusentals gånger.