Envoyer des notifications push à des sous-ensembles d'utilisateurs de votre application

Mis à jour le 29. juillet 2021 par Jan Bunk


Les fonctionnalités décrites sur cette page nécessitent l’extension de notifications push. veuillez-nous contacter si cette extension n'est pas encore activée pour votre application.

La méthode de base pour envoyer des notifications push à un groupe d'utilisateurs de votre application est la suivante :

  1. Votre utilisateur X ouvre votre application (pour cet exemple, nous supposerons qu'il s'agit d'une application de shopping).
  2. X effectue une action qui l'intègre à votre groupe cible, par exemple appuyer sur un bouton pour s'abonner aux notifications de remises sur les ustensiles de cuisine. L'action peut également consister à parcourir la section des ustensiles de cuisine de votre application, ce qui peut signifier que X est intéressé par des produits pour sa cuisine.
  3. Votre site Web appelle la fonction JavaScript  « setNotificationTopicSubscriptionStatus » avec le nom de la rubrique à laquelle vous souhaitez abonner X, par exemple  « cuisine ».
  4. Vous pouvez ensuite envoyer une notification à X et à tous les autres utilisateurs abonnés à cette rubrique. Par exemple, si vous avez un code de réduction sur les articles de cuisine, vous pouvez envoyer une notification à toutes les personnes abonnées à la rubrique « cuisine » pour les informer de la réduction.

Fonctions JavaScript disponibles

Nous vous conseillons de consulter la fonction executeWhenAppReady() de notre script d'aide de l'application. Cela permet de s'assurer que votre site Web n'essaie pas d'interagir avec l'application avant qu'elle ne soit prête ou pendant le chargement de votre site Web à l'aide d'un navigateur ordinaire.

Lorsque vous souhaitez abonner une instance d'application à une rubrique de notification push, il suffit d'appeler la fonction setNotificationTopicSubscriptionStatus avec le nouveau statut d'abonnement (true = abonné, false = désabonné) et le nom de la rubrique souhaitée.


<script>
    try {
        await setNotificationTopicSubscriptionStatus(true, "mytopic");
    }
    catch (e) {
        // Can occur if:
        // - you passed an invalid topic name.
        // - you didn't pass all necessary parameters to setNotificationTopicSubscriptionStatus().
        // - the app couldn't subscribe to the topic, for example because of connection issues. Should be very unlikely.
        // - the app couldn't connect to the native code. Should be very unlikely.
        // - push notifications are not enabled for your app
        console.log(e);
    }
</script>
    

Les éléments à retenir :

  • La rubrique doit correspondre à l'expression rationnelle suivante : [a-zA-Z0-9-_.~%]{1,850}
  • Bien que cela soit peu probable, l'abonnement peut échouer. Veillez donc à détecter les erreurs potentielles.

Par la suite, il se peut que vous souhaitiez également obtenir une liste des rubriques auxquelles l'instance de l'application est abonnée. La valeur de retour est une liste de chaînes.


<script>
    try {
        var topics = (await getSubscribedNotificationTopics())["topics"];
    }
    catch (e) {
        // Can occur if:
        // - the app couldn't connect to the native code. Should be very unlikely.
        // - push notifications are not enabled for your app
        console.log(e);
    }
</script>
    

Envoi d'une notification de rubrique via l'API webtoapp.design

Obtenez votre clé API spécifique à votre application depuis le tableau de bord de votre application.

Envoyez votre clé API sous forme de requête dans l'URL et le corps de la requête au format JSON.