È un problema molto ricercato tra coloro che implementano la fatturazione in-app in Android, ovvero il modo in cui vengono gestiti più account. Se un utente ha più account configurati, quale sarà utilizzato per la fatturazione in-app (in quanto non è possibile consentire all'utente di selezionare un account)? Dopo aver scavato un sacco, paragrafo seguente here sembra spiegarlo ..Informazioni sull'account associate all'installazione di un'applicazione
Nota: Per effettuare acquisti di prova, l'account di prova licenza deve essere sul dispositivo Android dell'utente. Se il dispositivo ha più di un account, l'acquisto verrà effettuato con l'account che ha scaricato l'app. Se nessuno degli account ha scaricato l'app, l'acquisto viene effettuato con il primo account. Gli utenti possono confermare l'account che sta effettuando un acquisto espandendo la finestra di dialogo dell'acquisto.
Creo un payload sviluppatore utilizzando l'account coinvolto nella fatturazione delle app, in modo che possa essere ripristinato correttamente in un secondo momento o su un altro dispositivo. Ma dal momento che Honeycomb, non esiste una cosa come account principale. Un utente può eliminare qualsiasi account, potrebbe essere quello con cui è stata acquistata l'app, nel qual caso verrà utilizzato per la fatturazione il primo account dall'elenco degli account. Ora, se so quale account è stato utilizzato e se si verifica che non è "l'account con cui è stata installata l'app", posso almeno informare l'utente che i seguenti acquisti non verranno ripristinati in seguito.
Quindi, la mia domanda è ..
C'è un modo per trovare quale account è stato utilizzato per scaricare l'applicazione?
Google Play sembra utilizzare queste informazioni. In ogni caso, possiamo interagire con Google Play fino a questo livello?
nota: PackageManager non sembra occuparsi di questo.
interessati alla stessa cosa – Greg
si può registrare l'account che è stato utilizzato prima per fare la primo acquisto o prima aperto? (Non è sicuramente la stessa precisione del Play Store) – Edison