Invia notifiche push a sottoinsiemi di utenti della tua app

Aggiornato il 17. aprile 2024 da Jan Bunk


Le funzioni descritte in questa pagina richiedono un piano che includa le notifiche push.

Il concetto di base su come puoi inviare notifiche push ad un gruppo di utenti della tua app è il seguente:

  1. Il tuo utente John apre la tua applicazione (per questo esempio ipotizziamo sia un'applicazione per lo shopping).
  2. John compie un'azione che lo rende parte del tuo gruppo target, per esempio premere un pulsante per iscriversi alle notifiche sugli sconti sugli utensili da cucina. L'azione potrebbe anche essere semplicemente navigare nella sezione utensili da cucina della tua app, il che potrebbe significare che John è interessato a prodotti per la sua cucina.
  3. Il tuo sito web chiama la funzione javascript "setNotificationTopicSubscriptionStatus" con il nome dell'argomento a cui vuoi iscrivere John, per esempio "cucina".
  4. In seguito puoi inviare una notifica a John e a tutti gli altri utenti che sono iscritti a questo argomento. Per esempio, se hai un codice di sconto sugli articoli di cucina, potresti inviare una notifica a tutti gli iscritti all'argomento "cucina" per fargli sapere dello sconto.

Funzioni Javascript disponibili

Potresti voler controllare la funzione executeWhenAppReady() del nostro helper script per le app. Assicura che il tuo sito web non cerchi di interagire con l'applicazione prima che sia pronta o quando il sito web viene caricato con un normale browser (ReferenceError, function is not defined).

Quando vuoi registrare un evento dell'applicazione ad un argomento di notifica push, chiama semplicemente la funzione setNotificationTopicSubscriptionStatus con il nuovo stato di iscrizione (true = iscritto, false = non iscritto) e il nome dell'argomento desiderato.


<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 included in your current plan
        console.log(e);
    }
</script>
    

Cose da ricordare:

  • L'argomento deve corrispondere alla seguente regex: [a-zA-Z0-9-_.~%]{1,850}
  • You should re-subscribe users to their desired topics roughly once per month. This ensures that the topic subscriptions keep working even after prolonged inactivity.
  • Anche se improbabile, l'iscrizione potrebbe fallire, quindi assicurati di trovare i potenziali errori.

In seguito potresti anche voler ottenere una lista di argomenti a cui l'evento dell'app è iscritto. Il valore di ritorno è una lista di stringhe.


<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 included in your current plan
        console.log(e);
    }
</script>
    

Potresti anche dare un'occhiata a un esempio di codice più completo. Ecco il codice di un pulsante che iscrive/disiscrive l'utente alla/dalla categoria della pagina corrente su un sito web WordPress.

Screenshot

All'interno delle impostazioni dell'app, c'è anche un modo per consentire ai tuoi utenti di annullare l'iscrizione agli argomenti di notifica.

Uno screenshot del menu delle impostazioni dell'app.
Uno screenshot del menu delle impostazioni dell'app.
Uno screenshot della finestra di dialogo che permette di annullare l'iscrizione agli argomenti delle notifiche push.
Uno screenshot della finestra di dialogo che permette di annullare l'iscrizione agli argomenti delle notifiche push.

Riferimento dell'endpoint API

Now that you have subscribed users to your topic, you can begin sending notifications to your topic through our API.

Ottieni la chiave API specifica della tua app dalla dashboard.

Invia la tua chiave API come query nell'URL e il corpo della richiesta nel formato JSON.

Panoramica delle notifiche push