2014-05-23 21 views
6

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:

  1. 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.)
  2. 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.

risposta

2

Solo una breve nota, poiché la risposta è di 2 anni. In this blogpost Stati azure:

È importante notare che le registrazioni e le installazioni per impostazione predefinita non scadono più.

Presumo che questo rende confuso il campo di scadenza, ma non è più un problema.

UPDATE

hub di notifica anziani hanno ancora questo problema. È necessario aggiornarli per impostare la scadenza all'infinito, instructions are found in this forum post. I nuovi hub sono automaticamente impostati su infinito.

6

È possibile aggiornare le registrazioni dall'applicazione o dal proprio server. Se lo fai dalla tua applicazione, l'app deve essere avviata dall'utente in modo che la registrazione venga aggiornata.

Pertanto, se si richiede che le registrazioni del dispositivo rimangano attive anche per le app che non sono state avviate per oltre 90 giorni, è necessario aggiornare la registrazione tramite il proprio server e l'esecuzione di un lavoro nel server che aggiornerebbe i token sembra come la tua unica opzione.

Sono d'accordo sul fatto che la decisione dei Hub di notifica di far scadere i token sembra strana. Forse avevano in mente il comportamento dei canali di notifica MPNS (Microsoft Push Notification Service), che scadono più spesso dei token dispositivo APNS o degli ID di registrazione GCM.

+1

Che aspetto avrebbe l'implementazione per un aggiornamento della registrazione sul lato server? Non cercando specifiche, solo una direzione generale. Grazie. –

0

Come da documentazione dell'ultimo hub di notifica, questo limite di 90 giorni è aumentato a vita, il che significa che non è necessario registrare nuovamente il dispositivo dopo 90 giorni.