2013-10-22 6 views
16

Ho due applicazioni in un dispositivo. Per iOS 7 entrambe le applicazioni inviano token dispositivo diversi ma per iOS 6 entrambe le app inviano lo stesso token dispositivo.Il token dispositivo iOS 7 è diverso per lo stesso dispositivo

Come per la mia comprensione, il token del dispositivo deve essere lo stesso per tutte le applicazioni in un unico dispositivo. C'è qualcosa di diverso in iOS7 rispetto a iOS 6?

risposta

15

Questo era anche helpful.Please vedi punto 1 di questo articolo: https://support.urbanairship.com/customer/portal/articles/1321513-how-ios-7-handles-push-differently

"Prima di iOS 7, il token del dispositivo era uguale per tutte le installazioni di app su un determinato dispositivo. Diverse app sul telefono, Tap Tap Revenge o USA Today, utilizzerebbero lo stesso indirizzo, ad esempio il token dispositivo, per instradare la notifica push all'utente. Le credenziali di sicurezza abbinate a un messaggio assicurerebbero che siano state aggiunte all'app corretta. Su iOS 7, Apple ha fatto un ulteriore passo in avanti e si è accertato che i token di dispositivo siano ora diversi in ogni singola installazione di app. Questo aiuta a proteggere ulteriormente la privacy degli utenti, eliminando un altro identificatore a livello di telefono ".

+3

In realtà quell'articolo risponde alla domanda, quindi questa risposta dovrebbe essere la risposta accettata Forse dovresti copiare i punti principali dell'articolo a questa risposta, dal momento che le risposte al link non sono incoraggiate qui – Eran

+0

Le risposte di solo collegamento sono scoraggiate per diversi motivi, non ultimo il link rot. Infatti, quanto sopra ar ticle si è spostato su https://support.urbanairship.com/customer/portal/articles/1321513-how-ios-7-handles-push-differently –

+0

ho anche aggiunto il paragrafo di quell'articolo. – Paragon

21

UPDATE:

Credo che ho letto questo uno un po 'troppo in fretta. Si prega di notare le mie revisioni. Se la risposta soddisfa il tuo caso d'uso, ti preghiamo di accettarlo.

Sulla base della descrizione suggerisco che ci sono state modifiche alla generazione di token tra iOS6 e iOS7. Per esaminare più da vicino questo comportamento, ti consiglio di dare un'occhiata allo Local and Push Notifications Programming Guide. All'interno della Guida nella sezione "Pianificazione, registrazione e gestione delle notifiche", si troverà questa affermazione di Apple.

I token dispositivo possono essere modificati. L'app deve essere registrata di nuovo ogni volta che viene avviato in iOS chiamando il metodo registerForRemoteNotificationTypes: di UIApplication e in OS X chiamando il metodo registerForRemoteNotificationTypes: metodo di NSApplication. Il parametro passato a questo metodo specifica i tipi iniziali di notifiche che l'applicazione desidera ricevere. Gli utenti possono modificare i tipi di notifica abilitati in qualsiasi momento, utilizzando Impostazioni di iOS o Preferenze di Sistema in OS X. È possibile interrogare il momento abilitato tipi di notifica utilizzando la proprietà enabledRemoteNotificationTypes del UIApplication o la proprietà di enabledRemoteNotificationTypes NSApplication. Il sistema non contrassegna icone, visualizza messaggi di avviso o riproduce suoni di avviso se uno qualsiasi di questi tipi di notifiche è non abilitato per la tua app, anche se sono specificati nel carico utile della notifica .

Riferimento:

Apple utilizza i token di periferica quando gli utenti accettano di ricevere le notifiche a distanza dal servizio Push di Apple.

Tipicamente il token dispositivo si accede nel metodo seguente:

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 

deviceToken Un token che identifica il dispositivo di APS. Il token è un tipo di dati opachi perché è il modulo che il provider deve inviare ai server APS quando invia una notifica a un dispositivo. I server APS richiedono un formato binario per motivi di prestazioni.

Si noti che il token del dispositivo è diverso dalla proprietà uniqueIdentifier di UIDevice perché, per motivi di sicurezza e privacy, è necessario modificare quando il dispositivo viene cancellato.

Device Tokens Used in the Apple Push Notification Service

ci sono anche cambiamenti significativi nella UIDevice Identifier (Apple ha limitato l'utilizzo). Vorrei suggerire la seguente legge:

2

Anche se questa è la risposta molto tardi, voglio condividere il mio test fatto per i0S 9.2.1. Il token dispositivo è unico per ogni app In un dispositivo verrà generato un nuovo token dispositivo ogni volta che installiamo un'app. Per quanto ne so, Apple ha modificato la sua politica per token dispositivo dopo aver rilasciato iOS7.