Payload sviluppatore

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.