Il payload per sviluppatori è stato storicamente utilizzato per vari scopi, tra cui la prevenzione delle frodi e l'attribuzione degli acquisti all'utente corretto. Con la versione 2.2 e successive della Libreria Fatturazione Google Play, i casi d'uso previsti che in precedenza si basavano sul payload per sviluppatori ora sono completamente supportati in altre parti della libreria.
Con questo supporto attivo, abbiamo ritirato il payload per gli sviluppatori a partire dalla versione 2.2 della Libreria Fatturazione Google Play. I metodi associati al payload per sviluppatori sono stati deprecati nella versione 2.2 e sono stati rimossi nella versione 3.0. Tieni presente che la tua app può continuare a recuperare il payload dello sviluppatore per gli acquisti effettuati utilizzando le versioni precedenti della libreria o AIDL.
Per un elenco dettagliato delle modifiche, consulta le note di rilascio 2.2 di Libreria Fatturazione Google Play e le note di rilascio 3.0 di Libreria Fatturazione Google Play.
Verifica acquisti
Per fare in modo che gli acquisti siano autentici e non falsificati o ripetuti, Google consiglia
di utilizzare il token di acquisto (ottenuto dal metodo
getPurchaseToken()
nell'oggetto
Purchase
) insieme alle API Google Play Developer per verificare che gli acquisti siano autentici.
Per ulteriori informazioni, consulta la pagina Contrastare attività fraudolente e abusi.
Attribuzione dell'acquisto
Molte app, in particolare i giochi, devono garantire che un acquisto venga correttamente attribuito al personaggio/avatar o al profilo utente in-app che ha avviato l'acquisto. A partire dalla Libreria Fatturazione Google Play 2.2, l'app può passare a Google identificatori di profilo e account offuscati all'avvio della finestra di dialogo di acquisto e farli restituire quando recuperi 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 gestito. Questi metadati relativi all'acquisto devono essere associati al
token di acquisto ottenuto utilizzando il
metodo
getPurchaseToken
nell'oggetto Purchase
. Questi dati possono essere resi persistenti passando il token di acquisto e i metadati al tuo backend quando il tuo PurchasesUpdatedListener
viene chiamato dopo un acquisto riuscito.
Per garantire che i metadati siano associati in caso di interruzioni del flusso di acquisto, Google consiglia di archiviarli sul server di backend prima di avviare la finestra di dialogo di acquisto e di associarli all'ID account dell'utente, allo SKU acquistato e al timestamp corrente.
Se il flusso di acquisto viene interrotto prima della chiamata del tuo
PurchasesUpdatedListener
, la tua app rileverà l'acquisto quando verrà ripristinata e chiamerà
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, associare i metadati
al token di acquisto e continuare a elaborare l'acquisto. Tieni presente che il timestamp che hai memorizzato inizialmente non corrisponde esattamente al valore di getPurchaseTime()
dell'oggetto Purchase
, quindi devi confrontarlo in modo approssimativo. Ad esempio, puoi verificare se i valori
rientrano tra loro in un determinato periodo di tempo.