In passato, il payload dello sviluppatore è stato utilizzato per vari scopi, tra cui la prevenzione delle frodi e l'attribuzione degli acquisti all'utente corretto. Con le versioni 2.2 e successive della Libreria Fatturazione Google Play, i casi d'uso previsti che in precedenza si basavano sul payload dello sviluppatore sono ora completamente supportati in altre parti della libreria.
Con questo supporto, abbiamo ritirato il payload dello sviluppatore, a partire dalla versione 2.2 della Libreria Fatturazione Google Play. I metodi associati al payload sviluppatore sono stati ritirati nella versione 2.2 e rimossi nella versione 3.0. Tieni presente che la tua app può continuare a recuperare il payload sviluppatore per gli acquisti effettuati utilizzando le versioni precedenti della libreria o AIDL.
Per un elenco dettagliato delle modifiche, consulta le note di rilascio della Libreria Fatturazione Google Play 2.2 e le note di rilascio della Libreria Fatturazione Google Play 3.0.
Verifica acquisti
Per garantire che gli acquisti siano autentici e non contraffatti o riprodotti, Google consiglia di utilizzare il token di acquisto (ottenuto dal metodo getPurchaseToken()
nell'oggetto Purchase
) insieme alle API Google Play per sviluppatori per verificare l'autenticità degli acquisti.
Per ulteriori informazioni, consulta la sezione Contrastare frodi e abusi.
Attribuzione degli acquisti
Molte app, in particolare i giochi, devono assicurarsi che un acquisto sia attribuito correttamente al personaggio/avatar in-game o al profilo utente in-app che ha avviato l'acquisto. A partire dalla Libreria Fatturazione Play 2.2, la tua app può passare a Google identificatori di account e profilo offuscati quando avvia la finestra di dialogo di acquisto e richiederne il ritorno al recupero di un acquisto.
Utilizza i parametri
setObfuscatedAccountId()
e
setObfuscatedProfileId()
in
BillingFlowParams
e recuperali utilizzando il
metodo
getAccountIdentifiers()
nell'oggetto
Purchase
.
Associare i metadati a un acquisto
Google consiglia di archiviare i metadati relativi a un acquisto su un server di backend sicuro di tua proprietà. Questi metadati di acquisto devono essere associati al token di acquisto ottenuto utilizzando il metodo getPurchaseToken
nell'oggetto Purchase
. Questi dati possono essere mantenuti passando il token di acquisto e i metadati al tuo backend quando viene chiamato PurchasesUpdatedListener
dopo un acquisto riuscito.
Per assicurarti che i metadati vengano associati in caso di interruzioni del flusso di acquisto, Google consiglia di memorizzarli sul server di backend prima di avviare la finestra di dialogo di acquisto e associarli all'ID account dell'utente, allo SKU acquistato e al timestamp corrente.
Se il flusso di acquisto viene interrotto prima che venga chiamato
PurchasesUpdatedListener
, la tua app rileverà l'acquisto quando riprende e chiama
BillingClient.queryPurchasesAsync()
.
Puoi quindi inviare i valori recuperati dai metodi getPurchaseTime()
,
getSku()
e getPurchaseToken()
dell'oggetto Purchase
al tuo server di backend per cercare i metadati, associarli al token di acquisto e continuare a elaborare l'acquisto. Tieni presente che il timestamp memorizzato inizialmente non corrisponde esattamente al valore di getPurchaseTime()
dell'oggetto Purchase
, pertanto dovrai confrontarli in modo approssimativo. Ad esempio, puoi controllare
se i valori si trovano entro un determinato periodo di tempo.