5

Apple ha un identificativo univoco chiamato Identifier for Vendor (IDFV) discusso in questa guida per sviluppatori. http://possiblemobile.com/2013/04/unique-identifiers/C'è un modo per verificare che un identificatore per fornitore (IDFV) sia valido?

Stavo pensando di poter essere utilizzato con un'API Restful in modo che vengano accettate solo le richieste con IDFV valido. Ma qui è il problema che non conosco alcun modo per verificare l'IDFV. Potrei farlo in modo che quando l'app è installata, si registri con il mio servizio. Ma idealmente ci sarebbe un modo per verificare questo identificatore.

+0

Sembra che Apple dovrebbe avere (nel migliore dei mondi) un modo lato server per determinare se un IDFV particolare appartiene alla tua app. È ciò che intendi? Ti sei avvicinato ad Apple per questo? –

risposta

1

Ho appena avuto una tempesta di cervelli su questo: non è tutto così semplice, ma cosa succede se si dispone di un acquisto in-app per l'app in cui tale IAP è su un piano gratuito. Devo investigare di più, ma penso che tu possa avere un tipo di acquisto Non Consumabile che è gratuito. Il client può quindi inviare la ricevuta di acquisto (che è crittografata, come da iOS7) sul lato server e il lato server può quindi convalidare questa ricevuta-- Apple fa fornire un mezzo RESTful per fare ciò. Pensieri? Naturalmente, puoi anche fare in modo che lo IAP abbia un prezzo> 0. Ciò darebbe allo sviluppatore dell'app i mezzi per aggiungere un meccanismo di pagamento.

1

Non sono sicuro di quale sia il tuo problema. L'app afferra l'identificatoreForVendor e lo invia al tuo server. Cos'altro può succedere? Potresti sicuramente codificare la trasmissione in modo da inviare anche un hash dell'identificatoreForVendor e una stringa segreta (come "il mio segreto 25671566") per verificare che la trasmissione provenisse dalla tua app.

Si dovrebbe anche sapere che 1) l'identificatoreForVendor cambierà se l'app viene cancellata e reinstallata. 2) il portachiavi potrebbe risolvere il problema di # 1 3) L'app ha una ricevuta, tutte le app se hanno acquistato o meno un IAP. La ricevuta è codificata utilizzando l'identificatoreForVendor. È possibile inviare la ricevuta dal dispositivo insieme all'identificatore presuntoForVendor e vedere se può essere decodificato. Ma vedi il paragrafo 1 sopra.

+1

Per me, è una questione di quanta sicurezza vuoi. Qualcuno può potenzialmente scavare un segreto dal tuo binario dell'app. E poi l'IFV è solo una sequenza di personaggi. –

Problemi correlati