Inoltre, sembra che quando un utente esegue il logout, tutte le sottoscrizioni push vengano eliminate. Quindi, se un utente è connesso su più dispositivi (telefono, browser, tablet) ed esegue il logout da uno di essi, impedisce agli altri dispositivi di ricevere notifiche, poiché le loro sottoscrizioni push vengono eliminate.
Lo menziono perché è correlato alla necessità di sapere quale sottoscrizione va sostituita durante il rinnovo e quale va eliminata al logout.
Beh, oggi sono stato appena disconnesso da Meta e, dopo aver effettuato di nuovo l’accesso, ho ricevuto una notifica push per il tuo post… A meno che non riguardi solo il percorso di accesso avviato dall’utente
Quando un utente torna sul forum (o effettua il login), le sottoscrizioni push del browser vengono inviate di nuovo e ricreate. Tuttavia, se hai effettuato il logout, queste vengono eliminate e le notifiche push non verranno consegnate fino a quando quell’utente non accederà al forum da quel dispositivo.
Questo non contraddice quanto hai affermato, dato che sembra tu abbia ricevuto la notifica push dopo aver effettuato il login.
L’API Push dispone effettivamente di una funzione unsubscribe per invalidare l’iscrizione push:
All’uscita, potremmo invocare questa funzione (lato client), rendendo così l’iscrizione sul server non valida senza influenzare eventuali altre iscrizioni.
In effetti, il client ha già una funzione unsubscribePushNotification che esegue questa operazione nelle preferenze “Notifiche in tempo reale”. Forse la soluzione è invocarla all’uscita, lato client, se le Notifiche in tempo reale sono attive. Probabilmente è buona norma revocare le chiavi di iscrizione lato client invece di limitarsi a cancellarle dal server.