Payload sviluppatore

Il payload dello sviluppatore è stato storicamente 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 dello 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 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 della Libreria Fatturazione Google Play 2.2. e le note di rilascio della Libreria Fatturazione Google Play 3.0.

Verifica degli acquisti

Per assicurarti che gli acquisti siano autentici e non falsificati o riprodotti, Google consiglia di utilizzare il token di acquisto (ottenuto dal getPurchaseToken() metodo nell' Purchase oggetto) insieme alle API per sviluppatori Google Play per verificare che gli acquisti siano autentici. Per saperne di più, consulta Combattere 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 Google Play 2.2, la tua app può trasmettere a Google gli identificatori di account e profilo offuscati quando avvia la finestra di dialogo di acquisto e farli restituire quando recupera un acquisto.

Utilizza i setObfuscatedAccountId() e i setObfuscatedProfileId() parametri in BillingFlowParams e recuperali utilizzando il getAccountIdentifiers() metodo nell'oggetto Purchase.

Associare i metadati a un acquisto

Google consiglia di archiviare i metadati relativi a un acquisto su un server backend sicuro di cui ti occupi. Questi metadati di acquisto devono essere associati al token di acquisto ottenuto utilizzando il getPurchaseToken metodo nell'Purchase oggetto. Questi dati possono essere mantenuti trasmettendo il token di acquisto e i metadati al backend quando viene chiamato PurchasesUpdatedListener dopo un acquisto andato a buon fine.

Per assicurarti che i metadati siano associati in caso di interruzioni del flusso di acquisto, Google consiglia di archiviarli sul server 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 che venga chiamato PurchasesUpdatedListener, l'app rileverà l'acquisto quando riprende e chiama BillingClient.queryPurchasesAsync(). A questo punto, puoi inviare i valori recuperati dai metodi Purchase getPurchaseTime(), getSku(), e getPurchaseToken() dell'oggetto al server backend per cercare i metadati, associarli al token di acquisto e continuare a elaborare l'acquisto. Tieni presente che il timestamp che hai archiviato inizialmente non corrisponderà esattamente al valore di Purchase dell'oggetto getPurchaseTime(), quindi dovrai confrontarli in modo approssimativo. Ad esempio, puoi verificare se i valori rientrano in un determinato periodo di tempo l'uno dall'altro.