Payload sviluppatore

In passato il payload per sviluppatori è stato utilizzato per vari scopi, tra cui la prevenzione di attività fraudolente 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 degli sviluppatori ora sono completamente supportati in altre parti della libreria.

Con questo supporto attivo, abbiamo deprecato il payload degli sviluppatori, a partire dalla versione 2.2 di Libreria Fatturazione Google Play. I metodi associati al payload per gli 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 di Libreria Fatturazione Google Play 2.2 e le note di rilascio di Libreria Fatturazione Google Play 3.0.

Verifica dell'acquisto

Per garantire che gli acquisti siano autentici e non falsificati o rigiocati, Google consiglia di utilizzare il token di acquisto (ottenuto dal metodo getPurchaseToken() nell'oggetto Purchase) insieme alle API per sviluppatori Google Play 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 versione 2.2 di Libreria Fatturazione Google Play, l'app può passare a Google identificatori di account e profilo offuscati quando viene avviata la finestra di dialogo di acquisto e recuperarli quando recupera un acquisto.

Utilizza i parametri setObfuscatedAccountId() e setObfuscatedProfileId() nell'oggetto 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 di 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 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 attuale.

Se il flusso di acquisto viene interrotto prima della chiamata di PurchasesUpdatedListener, la tua app rileverà l'acquisto non appena 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 l'elaborazione dell'acquisto. Tieni presente che il timestamp che hai archiviato inizialmente non corrisponderà esattamente al valore dell'oggetto Purchase getPurchaseTime(), quindi devi confrontarli in modo approssimativo. Ad esempio, puoi controllare se i valori rientrano in un determinato periodo di tempo l'uno dall'altro.