5

Esistono diversi metodi per identificare un dispositivo: IMEI/IMSI/ESN, GoogleID, GUID crittografato, salvato nell'archivio privato, ecc. Ma finché gli utenti passano i loro dispositivi ogni 3-6 mesi è importante identificare non il dispositivo ma esattamente l'utente.Come ottenere di sicuro l'ID UTENTE di Google (non l'ID del dispositivo)?

Sappiamo che Google utilizza ID univoco per identificare un utente (un'email) per consentire l'acquisto su Google Play e così via. Sappiamo anche che Google ha negato agli sviluppatori di accedere a questo ID, salvarlo e utilizzarlo per lo spam, ad esempio. In realtà, ora possiamo averlo usando Account Manager, almeno uno di questi. Almeno non so come distinguere quale account è attivo e viene utilizzato per acquistare la mia app.

In Widows Phone vedo un approccio saggio: il sistema fornisce allo sviluppatore un hash dall'ID account/email dell'utente. Quindi non puoi farci nulla se non per identificare il tuo utente. Esattamente quello che voglio fare! Anche se qualcuno ha rubato questo ID, non può usarlo come email o altro.

Così cerco qualcosa allo stesso modo. Ancora non ho trovato informazioni univoche su come identificare in modo sicuro un utente. Ci sono molti post, molte opinioni, ma ancora nessun modo chiaro e comprensibile.

Nello schema di protezione IAP finora penso di ottenere tutti gli account google sul dispositivo e ricordare il doppio-md5 di essi sul mio o server di Google per acquisto/order_no particolare. Successivamente, quando qualsiasi istanza della mia app richiederà questo acquisto, inviando doppio-md5 del suo proprietario google-id, il server confronterà se almeno uno degli account che ricorda per questo particolare acquisto/order_no è uguale a tale id, e quindi risponderà in modo appropriato.

Ma forse c'è uno schema più chiaro?

+0

può essere questo può aiutare http://android-developers.blogspot.in/2011/03/identifying-app-installations.html – Raghunandan

+0

identificare l'utente per quale scopo? Penso sia meglio identificare il dispositivo piuttosto che l'utente. – Raghunandan

+0

Per la maggior parte delle applicazioni, il requisito è identificare una particolare installazione, non un dispositivo fisico. controlla la parte conclusiva del blog – Raghunandan

risposta

1

Gli sviluppatori Android che hanno implementato l'API di fatturazione in-app avrebbero dovuto aggiungere una semplice funzione che restituiva un hash dell'email dell'account Google attualmente in uso con gli acquisti in-app. L'hash rende praticamente impossibile utilizzarlo per scopi diversi dalla determinazione dell'identità di acquisto univoca. Inoltre, una serie di hash dell'elenco corrente di account di posta elettronica di Google.

Sì, c'è un modo per aggirare il problema ottenendo un elenco di account utilizzando AccountManager, ma ciò richiede autorizzazioni aggiuntive e l'ottenimento degli indirizzi email dell'utente, il che, ai fini degli acquisti in-app, sembra eccessivo e in realtà indesiderato se tutto ciò che si vuole fare è verificare l'identità d'acquisto unica dell'utente.

L'array di hash dell'elenco corrente di account di posta elettronica di Google può essere utilizzato per verificare se uno qualsiasi degli attuali account di posta elettronica di Google sul dispositivo è stato utilizzato nell'acquisto originale dell'articolo di fatturazione in-app.

Problemi correlati