sendPushSubscription send-push-subscription
Il comando sendPushSubscription registra le sottoscrizioni di notifiche push con Adobe Experience Platform. Questo comando gestisce il recupero dei dettagli della sottoscrizione push dal browser e li invia allo stream di dati configurato. È disponibile in Web SDK versione 2.29.0 o successiva.
Prerequisiti prerequisites
Prima di utilizzare sendPushSubscription, assicurati di disporre di:
- Notifiche push configurate: configura la proprietà di configurazione
pushNotificationscon la tua chiave pubblica VAPID - Autorizzazione utente: gli utenti devono aver concesso l'autorizzazione per le notifiche (
Notification.permission === "granted") - Service worker: un service worker registrato deve essere disponibile nel sito
- Supporto di Push Manager: il browser deve supportare le notifiche push e disporre dell'API PushManager
Eseguire il comando sendPushSubscription quando si chiama l'istanza configurata del Web SDK. Assicurarsi di chiamare il comando configure con le notifiche push configurate prima di chiamare il comando sendPushSubscription.
alloy("sendPushSubscription")
.then(() => {
console.log("Push subscription recorded successfully");
})
.catch((error) => {
console.error("Failed to send push subscription:", error);
});
Frequenza di esecuzione consigliata recommended-execution-frequency
Per una funzionalità ottimale di notifica push, Adobe consiglia di eseguire il comando sendPushSubscription una volta al giorno. Questa frequenza assicura che:
- I dettagli dell’abbonamento rimangono correnti in Adobe Experience Platform
- Vengono acquisite eventuali modifiche ai token di push o allo stato dell’abbonamento
- Il profilo dell’utente rimane aggiornato con le preferenze per le notifiche push più recenti
Puoi implementarlo utilizzando un approccio simile a quello riportato di seguito:
// Check if subscription data was sent today
const lastSent = localStorage.getItem("alloy_push_last_sent");
const today = new Date().toDateString();
if (lastSent !== today) {
alloy("sendPushSubscription").then(() => {
localStorage.setItem("alloy_push_last_sent", today);
});
}
Come funziona how-it-works
Il comando sendPushSubscription esegue le azioni seguenti:
- Convalida prerequisiti: verifica che le notifiche push siano configurate e che l'utente disponga delle autorizzazioni necessarie
- Attende l'identità: attende che l'ECID dell'utente sia disponibile
- Recupera la sottoscrizione: ottiene la sottoscrizione push attiva dal service worker utilizzando la chiave VAPID configurata
- Verifica la presenza di modifiche: confronta i dettagli della sottoscrizione corrente con i valori memorizzati nella cache (ECID + dettagli della sottoscrizione). Se i dettagli della sottoscrizione non sono stati modificati, il comando registra un messaggio di informazioni e restituisce senza effettuare una richiesta di rete
- Invia a datastream: se vengono rilevate modifiche, trasmette i dati della sottoscrizione allo stream di dati di Adobe Experience Platform configurato
- Cache aggiornamenti: memorizza i nuovi dettagli della sottoscrizione per il confronto futuro
Gestione degli errori error-handling
Condizioni di errore comuni e relativi messaggi:
"Push notifications module is not configured. No VAPID public key was provided.""Service workers are not supported in this browser.""Push notifications are not supported in this browser.""The user has not given permission to send push notifications."Notification.permission === "granted")"No service worker registration was found.""No VAPID public key was provided."Payload dati data-payload
Il comando invia i dati di notifica push nel seguente formato:
{
pushNotificationDetails: [
{
appID: "example.com", // Current domain
token: "...", // Serialized subscription details + ECID
platform: "web", // Always "web" for Web SDK
denylisted: false, // Always false
identity: {
namespace: {
code: "ECID",
},
id: "12345678901234567890", // User's ECID
},
},
],
}
Registrare l’abbonamento push tramite l’estensione tag Web SDK register-push-subscription-tag-extension
L'estensione tag Web SDK equivalente a questo campo utilizza l'azione Send Push Subscription all'interno di una regola di tag.