Script d’aide de l’application

Mis à jour le 27. décembre 2022 par Jan Bunk


Nous avons créé un fichier script JavaScript avec quelques fonctions d'aide utiles qui simplifient la communication entre votre site web et votre application.

Utilisation

Vous pouvez soit copier le script (ou des parties de celui-ci) et l'héberger vous-même, soit le charger directement depuis notre site web.

Afficher le script d'aide de l'application

<script src="https://webtoapp.design/static/js/app-helper.js"></script>

Le script est minifié, mais pas obfusqué, vous pouvez donc utiliser un formateur/embellisseur JavaScript si vous voulez jeter un coup d'œil aux implémentations des fonctions.

Fonctions

executeWhenAppReady

Après chaque chargement de page, l'application doit d'abord injecter du JavaScript dans la page chargée. Cela permet à votre site web d'appeler des fonctions JavaScript telles que setNotificationTopicSubscriptionStatus. Malheureusement, ce processus n'est pas instantané, donc si vous essayez d'appeler une fonction JavaScript qui interagit avec l'application très rapidement après le chargement de la page, il se peut que les fonctions ne soient pas encore définies.

Vous pouvez éviter cela en enveloppant le code qui interagit avec votre application et en appelant la fonction executeWhenAppReady.

Lorsque votre site web est chargé à l'aide d'un navigateur, le code contenu dans executeWhenAppReady ne sera pas exécuté. Cela signifie que vous pouvez également utiliser cette fonction pour détecter si votre site web a été chargé par l'application ou un navigateur. D'autres méthodes pour cela sont expliquées ici.


<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");
    });
        
    // remember to make the function async if you use await inside it!
    // getSubscribedNotificationTopics also interacts with the app and returns a result that needs to be awaited
    executeWhenAppReady(async function () {
        var topics = (await getSubscribedNotificationTopics())["topics"];
    });
</script>

getAppPlatform

Vous pouvez utiliser cette fonction pour savoir sur quel système d'exploitation l'utilisateur actuel utilise l'application.

Cette fonction n'a pas besoin d'être enveloppée dans executeWhenAppReady. Elle peut également être utilisée pour vérifier si l'utilisateur actuel utilise l'application (vérifiez que la valeur retournée n'est pas Null). Cela ne garantit pas que l'application est prête pour l'interaction JavaScript. Si vous souhaitez appeler des fonctions JavaScript qui interagissent avec l'application, vous devez toujours les envelopper dans executeWhenAppReady.


<script>
    // possible return values are:
    // "android"
    // "ios"
    // null -> not using app, most likely a regular browser
    var platform = getAppPlatform();
</script>
Cette fonction repose sur la vérification des agents utilisateurs, elle ne fonctionne donc que si vous avez configuré l'application pour ajuster l'agent utilisateur qu'elle utilise. Vous pouvez activer cette option dans les paramètres de navigation de votre application. Ouvrir les paramètres de navigation

isInCustomTab, getCustomTabData, closeCustomTab

Ces fonctions sont utilisées pour gérer des onglets personnalisés.