Ora sto utilizzando la libreria PushSharp per inviare notifiche push Apple (tramite APNS), ma voglio migrare agli hub di notifica per robustezza e scalabilità.Tempo di registrazione degli hub di notifica di Azure (limite di 90 giorni)
Sto pianificando di implementare la notifica di invio tramite gli hub di notifica di Azure utilizzando la registrazione di backend come descritto in this article. Quindi:
- C'è un metodo di API di back-end che un client iOS chiama quando ha il token di push aggiornato. In questo metodo faccio la registrazione taggandola con id utente. (In precedenza, ho memorizzato il token push nel link utente nel DB.)
- Quando ho qualche notifica da inviare per un utente specifico, lo invio utilizzando il tag (id utente). (In precedenza, ho usato APNS gettone dispositivo da DB.)
Sembra una soluzione di lavoro, ma in Notification Hubs documentation si dice:
E 'importante notare che le registrazioni sono transitori. Simile alle maniglie di PNS che contengono, le registrazioni scadono. È possibile impostare l'ora di vita per una registrazione sull'hub di notifica, fino a un massimo di 90 giorni. Questo limite significa che devono essere periodicamente aggiornati, e anche che non dovrebbero essere l'unico negozio per informazioni importanti. Questa scadenza automatica semplifica anche la pulizia quando viene disinstallata l'applicazione mobile.
E questo è il problema. A volte devo inviare una notifica ai dispositivi che non hanno aggiornato il token per 90 giorni e così via la registrazione. Pertanto, il token APNS sarà ancora attivo, ma la registrazione dell'hub di notifica verrà invalidata. Quindi ho perso il canale di comunicazione per l'utente.
Come gestirlo?
Ovviamente, posso ancora memorizzare i token nel DB e creare un lavoro che aggiorna periodicamente le registrazioni. Ma non è quello che ti aspetti da una soluzione di notifica push come Notification Hub.
Che aspetto avrebbe l'implementazione per un aggiornamento della registrazione sul lato server? Non cercando specifiche, solo una direzione generale. Grazie. –