Uppdaterad den 27. december 2022 av Jan Bunk
Vi har skapat en JavaScript-skriptfil med ett par användbara hjälpfunktioner som förenklar kommunikationen mellan din webbplats och din app.
Du kan antingen kopiera skriptet (eller delar av det) och lägga upp det själv eller ladda det direkt från vår webbplats.
Visa skriptet för apphjälpen
<script src="https://webtoapp.design/static/js/app-helper.js"></script>
Skriptet är minifierat, men inte forvrängt eller dolt, så du kan använda en javascriptformater/beautifierare om du vill titta på funktionernas implementering.
executeWhenAppReady
Efter varje sidladdning måste appen först injicera javascript i den laddade sidan. Detta för att webbplatsen ska kunna anropa javascriptfunktioner som t.ex.
setNotificationTopicSubscriptionStatus
. Tyvärr är detta inte omedelbart, så om du försöker anropa en javascript-funktion som interagerar med appen väldigt snabbt efter att sidan laddats kanske de inte är definierade ännu.
Du kan undvika detta genom att omsluta koden som interagerar med din app med ett anrop till executeWhenAppReady
.
När din webbplats laddas med en webbläsare kommer koden i executeWhenAppReady
inte att exekveras. Det betyder att du också kan använda den här funktionen för att upptäcka om din webbplats laddades av appen eller en webbläsare. En alternativ metod för detta är att kontrollera användaragenten, vilket förklaras i vår
en guide om hur du filtrerar bort appanvändare i din webbplatsanalys.
<script>
// setNotificationTopicSubscriptionStatus interacts with the app, so it won't immediately be available after a new page was loaded
executeWhenAppReady(function () {
console.log("Website was loaded by the app and the app is ready for interaction");
// by running inside a executeWhenAppReady call, we avoid potentially calling it while still undefined
setNotificationTopicSubscriptionStatus(true, "new-games");
});
</script>
getAppPlatform
Du kan använda den här funktionen för att ta reda på vilket operativsystem den aktuella användaren använder appen på.
Den här funktionen behöver inte vara inbakad i executeWhenAppReady
. Den kan också användas för att kontrollera om den aktuella användaren använder appen (kontrollera att det returnerade värdet inte är noll). Detta garanterar dock inte att appen är redo för JavaScript-interaktion ännu. Om du vill anropa JavaScript-funktioner som interagerar med appen bör du fortfarande paketera dem i executeWhenAppReady
.
<script>
// possible return values are:
// "android"
// "ios"
// null -> not using app, most likely a regular browser
var platform = getAppPlatform();
</script>
isInCustomTab, getCustomTabData, closeCustomTab
Dessa funktioner används för att hantera anpassade flikar.