Questo documento contiene le note di rilascio per la libreria Fatturazione Google Play.
Rilascio della libreria Fatturazione Google Play 8.1.0 (06/11/2025)
Sono ora disponibili la versione 8.1.0 della libreria Google Play Billing Library e le estensioni Kotlin.
Riepilogo delle modifiche
Abbonamenti sospesi
È stato aggiunto un nuovo parametro al metodo
BillingClient.queryPurchasesAsync()per includere gli abbonamenti sospesi durante l'esecuzione di query sugli abbonamenti. Gli abbonamenti sospesi vengono comunque attribuiti all'utente, ma non sono attivi, perché l'utente ha messo in pausa l'abbonamento o il metodo di pagamento per il rinnovo è stato rifiutato.L'oggetto
Purchaserestituito nel listener restituiràisSuspended() = trueper tutti gli abbonamenti sospesi. In questo caso, non devi concedere l'accesso all'abbonamento acquistato e devi invece indirizzare l'utente al centro abbonamenti dove può gestire i metodi di pagamento o lo stato di pausa per riattivare l'abbonamento.Aggiornamenti agli abbonamenti:
L'oggetto
BillingFlowParams.ProductDetailsParamsora ha il metodosetSubscriptionProductReplacementParams()in cui puoi specificare le informazioni di sostituzione a livello di prodotto.L'oggetto
SubscriptionProductReplacementParamsha due metodi setter:setOldProductId: Il vecchio prodotto che deve essere sostituito dal prodotto nell'attualeProductDetails.setReplacementMode: Questa è la modalità di sostituzione a livello di articolo. Le modalità sono essenzialmente le stesse di SubscriptionUpdateParams, ma la mappatura dei valori è stata aggiornata. È stata introdotta una nuova modalità di sostituzioneKEEP_EXISTINGche ti consente di mantenere invariato il programma di pagamento esistente per un articolo.
SubscriptionUpdateParams setSubscriptionReplacementMode verrà ritirato. Dovresti usare invece
SubscriptionProductReplacementParams.setReplacementMode.
Aggiornamento di
minSdkVersionalla versione 23.Sono state abilitate le API per la prenotazione per i prodotti a pagamento singolo
L'API
ProductDetails.oneTimePurchaseOfferDetails.getPreorderDetails()che recupera i dettagli della prenotazione è ora disponibile per l'utilizzo.La libreria Fatturazione Google Play ora supporta Kotlin versione 2.2.0.
Rilascio della libreria Fatturazione Google Play 8.0.0 (30/06/2025)
Sono ora disponibili la versione 8.0.0 della Libreria Fatturazione Google Play e le estensioni Kotlin.
Riepilogo delle modifiche
Gli articoli in-app ora verranno chiamati prodotti a pagamento singolo.
Più opzioni di acquisto e offerte per i prodotti a pagamento singolo.
Ora puoi avere più opzioni di acquisto e offerte per i tuoi prodotti a pagamento singolo. In questo modo hai flessibilità nella vendita dei tuoi prodotti e riduci la complessità della loro gestione.
È stato migliorato il metodo
queryProductDetailsAsync().Prima di PBL 8.0.0, il metodo
queryProductDetailsAsync()non restituiva i prodotti che non potevano essere recuperati. Ciò potrebbe essere dovuto a motivi quali il prodotto non è stato trovato o non sono disponibili offerte per l'utente. Con PBL 8.0.0, i prodotti non recuperati vengono restituiti con un nuovo codice di stato a livello di prodotto che fornisce informazioni sui prodotti non recuperati. Tieni presente che è stata modificata la firma diProductDetailsResponseListener.onProductDetailsResponse(), il che richiede modifiche alla tua app. Per ulteriori informazioni, consulta Elaborare il risultato.Riconnessione automatica del servizio.
Il nuovo parametro
BillingClient.Builder.enableAutoServiceReconnection()builder consente agli sviluppatori di attivare la riconnessione automatica del servizio, che semplifica la gestione delle connessioni gestendo automaticamente le riconnessioni al servizio di fatturazione Google Play ed eliminando la necessità di chiamare manualmentestartConnection()in caso di disconnessione del servizio. Per saperne di più, vedi Ristabilire automaticamente una connessione.Codici di risposta secondari per il metodo
launchBillingFlow().Il valore BillingResult restituito da
launchBillingFlow()ora include un campo del codice di risposta secondario. Questo campo verrà compilato solo in alcuni casi per fornire un motivo più specifico del mancato caricamento. Con PBL 8.0.0, viene restituito un codice secondario PAYMENT_DECLINED_DUE_TO_INSUFFICIENT_FUNDS nel caso in cui i fondi dell'utente siano inferiori al prezzo dell'articolo che sta tentando di acquistare.È stato rimosso il metodo
queryPurchaseHistory().Il metodo
queryPurchaseHistory()precedentemente contrassegnato come obsoleto è stato rimosso. Consulta Query Purchase History per informazioni dettagliate sulle API alternative da utilizzare.È stato rimosso il metodo
querySkuDetailsAsync().Il metodo
querySkuDetailsAsync()precedentemente contrassegnato come deprecato è stato rimosso. Devi utilizzare invece queryProductDetailsAsync.È stato rimosso il metodo
BillingClient.Builder.enablePendingPurchases().Il metodo
enablePendingPurchases()senza parametri precedentemente contrassegnato come deprecato è stato rimosso. Dovresti usareenablePendingPurchases(PendingPurchaseParams params). Tieni presente che il valoreenablePendingPurchases()deprecato è funzionalmente equivalente aenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).È stato rimosso il metodo
queryPurchasesAsync()sovraccarico che accetta un skuType.Il metodo
queryPurchasesAsync(String skuType, PurchasesResponseListener listener)precedentemente contrassegnato come obsoleto è stato rimosso. In alternativa, utilizzaqueryPurchasesAsync(QueryPurchasesParams queryPurchasesParams, PurchasesResponseListener listener).
Rilascio della libreria Fatturazione Google Play 7.1.1 (3/10/2024)
Le versioni 7.1.1 della Libreria Fatturazione Google Play e delle estensioni Kotlin sono ora disponibili.
Correzioni di bug
- È stato corretto un bug nella Libreria Fatturazione Play 7.1.0 relativo ai codici di risposta
BillingResultdei test.
Rilascio della libreria Fatturazione Google Play 7.1.0 (19/09/2024)
Sono ora disponibili la versione 7.1.0 della Libreria Fatturazione Google Play e le estensioni Kotlin.
Riepilogo delle modifiche
- Maggiore sicurezza dei thread relativa allo stato e alla gestione della connessione.
- Sono state introdotte modifiche parziali per i codici di risposta [
BillingResult][billing-result] per i test, che verranno rilasciati completamente nella Libreria Fatturazione Play 7.1.1. Per testare l'integrazione utilizzando questa funzionalità, devi eseguire l'upgrade alla Libreria Fatturazione Play 7.1.1. Esiste un bug che influisce solo sulle applicazioni con [test di override della fatturazione abilitato][enable-billing-overrides-testing] e non influisce sull'utilizzo normale. Per maggiori informazioni, consulta Testa i codici di rispostaBillingResult. [billing-result]: /reference/com/android/billingclient/api/BillingResult [enable-billing-overrides-testing]: /google/play/billing/test-response-codes#enable-billing-overrides-testing
Rilascio della libreria Fatturazione Google Play 7.0.0 (14/05/2024)
La versione 7.0.0 della Libreria Fatturazione Google Play e le estensioni Kotlin sono ora disponibili.
Riepilogo delle modifiche
Sono state aggiunte API per supportare gli abbonamenti a rate.
- È stato aggiunto [
ProductDetails.InstallmentPlanDetails][installment-details] per i piani base a rate che gli utenti possono acquistare. Questa API aiuta la tua app a identificare il piano rateale e la sua configurazione dell'impegno per fornire informazioni correlate all'utente. Per saperne di più, consulta la nostra [guida alle rate degli abbonamenti][installments]. [installment-details]: /reference/com/android/billingclient/api/ProductDetails.InstallmentPlanDetails [installments]: /google/play/billing/subscriptions#installments
- È stato aggiunto [
Sono stati aggiunti
PendingPurchasesParamseBillingClient.Builder.enablePendingPurchases(PendingPurchaseParams)in sostituzione diBillingClient.Builder.enablePendingPurchases(), che è stato ritirato in questa release.enablePendingPurchases()deprecato è funzionalmente equivalente aenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
Sono state aggiunte API per supportare le transazioni in sospeso per i piani prepagati in abbonamento:
- Utilizza
PendingPurchasesParams.Builder.enablePrepaidPlans()insieme aBillingClient.Builder.enablePendingPurchases(PendingPurchaseParams)per attivare le transazioni in attesa per i piani prepagati in abbonamento. Quando aggiungi l'assistenza, assicurati che la tua app gestisca correttamente anche i cicli di vita degli abbonamenti. Per saperne di più, consulta la nostra guida agli acquisti in attesa. - Sono stati aggiunti
Purchase.PendingPurchaseUpdateePurchase.getPendingPurchaseUpdate()per recuperare la ricarica, l'upgrade o il downgrade in attesa a un abbonamento esistente.
- Utilizza
Rimossi
BillingClient.Builder.enableAlternativeBilling(),AlternativeBillingListenereAlternativeChoiceDetails.- Gli sviluppatori devono utilizzare
BillingClient.Builder.enableUserChoiceBilling()conUserChoiceBillingListenereUserChoiceDetailsnel callback del listener invece.
- Gli sviluppatori devono utilizzare
BillingFlowParams.ProrationMode,BillingFlowParams.SubscriptionUpdateParams.Builder.setReplaceProrationMode()eBillingFlowParams.SubscriptionUpdateParams.Builder.setReplaceSkusProrationMode()rimossi. - Gli sviluppatori devono utilizzareBillingFlowParams.SubscriptionUpdateParams.ReplacementModeconBillingFlowParams.SubscriptionUpdateParams.Builder#setSubscriptionReplacementMode(int)invece. -BillingFlowParams.SubscriptionUpdateParams.Builder.setReplaceProrationMode(). -BillingFlowParams.SubscriptionUpdateParams.Builder.setReplaceSkusProrationMode().Rimosso
BillingFlowParams.SubscriptionUpdateParams.Builder#setOldSkuPurchaseToken(). - Gli sviluppatori devono utilizzareBillingFlowParams.SubscriptionUpdateParams.Builder#setOldPurchaseToken(java.lang.String)invece.BillingClient.queryPurchaseHistoryAsync()è stato ritirato e verrà rimosso in una release futura. Gli sviluppatori devono utilizzare le seguenti alternative:- Acquisti riconosciuti e in attesa: utilizza
BillingClient.queryPurchasesAsync()per recuperare gli acquisti attivi. - Acquisti consumati: gli sviluppatori devono tenere traccia degli acquisti consumati sui propri server.
- Acquisti annullati: utilizza l'API per sviluppatori voided-purchases.
- Per maggiori dettagli, vedi Query sulla cronologia acquisti.
- Acquisti riconosciuti e in attesa: utilizza
BillingFlowParams.ProductDetailsParams.setOfferToken()ora genera un'eccezione quando gli sviluppatori specificano unofferTokenvuoto.minSdkVersionè stato aggiornato a 21 etargetSdkVersiona 34.
Rilascio della libreria Fatturazione Google Play 6.2.1 (16/04/2024)
Le versioni 6.2.1 della Libreria Fatturazione Google Play e delle estensioni Kotlin sono ora disponibili.
Riepilogo delle modifiche
- È stato corretto un bug in
BillingClient.showAlternativeBillingOnlyInformationDialog()in cuiAlternativeBillingOnlyInformationDialogListenerpotrebbe non essere chiamato in alcuni casi al termine della finestra di dialogo.
Rilascio della libreria Fatturazione Google Play 6.2.0 (6/03/2024)
La versione 6.2.0 della Libreria Fatturazione Google Play e le estensioni Kotlin sono ora disponibili.
Riepilogo delle modifiche
- Sono state aggiunte API per supportare le offerte esterne
- Aggiunta
BillingClient.Builder.enableExternalOffer()per consentire la possibilità di fornire offerte esterne. - È stato aggiunto
BillingClient.isExternalOfferAvailableAsync()per verificare la disponibilità della funzionalità di fornitura di offerte esterne. - Aggiunta
BillingClient.showExternalOfferInformationDialog()per mostrare agli utenti una finestra di dialogo informativa prima di indirizzarli all'esterno dell'app. - Aggiunto
BillingClient.createExternalOfferReportingDetailsAsync()per creare un payload necessario per segnalare le transazioni effettuate tramite offerte esterne.
- Aggiunta
Rilascio della libreria Fatturazione Google Play 6.1.0 (14/11/2023)
Le versioni 6.1.0 della Libreria Fatturazione Google Play e delle estensioni Kotlin sono ora disponibili.
Riepilogo delle modifiche
- Sono state aggiunte API per supportare la fatturazione alternativa solo (ovvero senza scelta dell'utente)
- Aggiunta
BillingClient.Builder.enableAlternativeBillingOnly()per attivare funzionalmente la possibilità di offrire solo la fatturazione alternativa. - Aggiunta
BillingClient.isAlternativeBillingOnlyAvailableAsync()per verificare la disponibilità dell'offerta di fatturazione alternativa. - Aggiunta
BillingClient.showAlternativeBillingOnlyInformationDialog()per mostrare una finestra di dialogo informativa per comunicare agli utenti quando viene utilizzata solo la fatturazione alternativa. - Aggiunta
BillingClient.createAlternativeBillingOnlyReportingDetailsAsync()per creare un payload necessario per segnalare le transazioni effettuate solo tramite fatturazione alternativa.
- Aggiunta
- Aggiornamento delle API di fatturazione scelta dall'utente
- È stato aggiunto
UserChoiceBillingListenerin sostituzione di AlternativeBillingListener che è stato contrassegnato come ritirato. - È stato aggiunto
UserChoiceDetailsper sostituireAlternativeChoiceDetailsche è stato contrassegnato come ritirato. - Aggiunta
BillingClient.Builder.enableUserChoiceBilling()per sostituireBillingClient.Builder.enableAlternativeBilling()che è stato contrassegnato come ritirato.
- È stato aggiunto
- Aggiunto
BillingClient.getBillingConfigAsync()per recuperare il paese di Google Play.
Rilascio della libreria Fatturazione Google Play 6.0.1 (22/06/2023)
Le versioni 6.0.1 di Libreria Fatturazione Google Play e delle estensioni Kotlin sono ora disponibili.
Riepilogo delle modifiche
Aggiorna Libreria Fatturazione Play per renderla compatibile con Android 14.
Rilascio della libreria Fatturazione Google Play 6.0 (10/05/2023)
La versione 6.0.0 della Libreria Fatturazione Google Play e le estensioni Kotlin sono ora disponibili.
Riepilogo delle modifiche
Aggiunta una nuova enumerazione
ReplacementModeper sostituireProrationMode.Tieni presente che
ProrationModeè ancora disponibile per motivi di compatibilità con le versioni precedenti.ID ordine rimosso per gli acquisti di
PENDING.In precedenza, l'ID ordine veniva sempre creato anche se l'acquisto era in attesa. A partire dalla versione 6.0.0, non verrà creato un ID ordine per gli acquisti in attesa e, per questi acquisti, l'ID ordine verrà compilato dopo che l'acquisto sarà passato allo stato
PURCHASED.Sono stati rimossi i metodi
queryPurchaseselaunchPriceConfirmationFlow.I metodi
queryPurchaseselaunchPriceConfirmationFlowprecedentemente contrassegnati come deprecati sono stati rimossi nella libreria Play Billing 6.0.0. Gli sviluppatori devono utilizzarequeryPurchasesAsyncanzichéqueryPurchases. Per le alternative alaunchPriceConfirmationFlow, vedi Variazioni di prezzo.È stato aggiunto un nuovo codice di risposta di errore di rete.
A partire dalla versione 6.0.0 della Libreria Fatturazione Play è stato aggiunto un nuovo codice di risposta di errore di rete,
NETWORK_ERROR. Questo codice viene restituito quando si verifica un errore a causa di un problema di connessione di rete. Questi errori di connessione di rete sono stati segnalati in precedenza comeSERVICE_UNAVAILABLE.Aggiornamento di
SERVICE_UNAVAILABLEeSERVICE_TIMEOUT.A partire dalla versione 6.0.0 di PBL, gli errori dovuti al timeout durante l'elaborazione verranno restituiti come
SERVICE_UNAVAILABLEanziché comeSERVICE_TIMEOUT.Il comportamento non cambia nelle versioni precedenti di PBL.
Rimosso
SERVICE_TIMEOUT.A partire dalla versione 6.0.0 di PBL,
SERVICE_TIMEOUTnon verrà più restituito. Le versioni precedenti della Libreria Fatturazione Play continueranno a restituire questo codice.Aggiunto logging aggiuntivo.
La release della libreria Google Play Billing 6 include la registrazione aggiuntiva, che fornisce informazioni sull'utilizzo dell'API (ad esempio esito positivo e negativo) e sui problemi di connessione al servizio. Queste informazioni verranno utilizzate per migliorare il rendimento della libreria Google Play Billing e fornire un supporto migliore per gli errori.
Rilascio della libreria Fatturazione Google Play 5.2.1 (22/06/2023)
Le versioni 5.2.1 della Libreria Fatturazione Google Play e delle estensioni Kotlin sono ora disponibili.
Riepilogo delle modifiche
Aggiorna Libreria Fatturazione Play per renderla compatibile con Android 14.
Rilascio della libreria Fatturazione Google Play 5.2 (6/04/2023)
Le versioni 5.2.0 della Libreria Fatturazione Google Play e delle estensioni Kotlin sono ora disponibili.
Riepilogo delle modifiche
- Sono state aggiunte classi per supportare flussi di fatturazione alternativi su dispositivi mobili/tablet per gli utenti in Corea del Sud:
- È stato aggiunto il metodo
BillingFlowParams.SubscriptionUpdateParams.Builder.setOriginalExternalTransactionId()per specificare l'ID transazione esterno dell'abbonamento di origine. - Aggiunto il metodo
BillingClient.Builder.enableAlternativeBilling()per consentire agli utenti in Corea del Sud di selezionare un'opzione di fatturazione alternativa.
Rilascio della libreria Fatturazione Google Play 5.1 (31/10/2022)
Sono ora disponibili la versione 5.1.0 della Libreria Fatturazione Google Play e le estensioni Kotlin.
Questa versione contiene le seguenti modifiche.
Riepilogo delle modifiche
- Aggiunto il metodo
ProductDetails.SubscriptionOfferDetails.getOfferId()per recuperare l'ID offerta. - Aggiunto il metodo
ProductDetails.SubscriptionOfferDetails.getBasePlanId()per recuperare l'ID piano base. - Aggiornamento del
targetSdkVersional 31.
Rilascio della libreria Fatturazione Google Play 5.0 (11/05/2022)
La versione 5.0.0 della Libreria Fatturazione Google Play e le estensioni Kotlin sono ora disponibili.
Questa versione contiene le seguenti modifiche.
Riepilogo delle modifiche
- È stato introdotto un nuovo modello per gli abbonamenti, incluse nuove entità che consentono di creare più offerte per un singolo prodotto in abbonamento. Per ulteriori informazioni, consulta la guida alla migrazione.
- Aggiunta di
BillingClient.queryProductDetailsAsync()per sostituireBillingClient.querySkuDetailsAsync(). - Aggiunto il metodo
setIsOfferPersonalized()per i requisiti di divulgazione relativi ai prezzi personalizzati nell'UE. Per scoprire di più su come utilizzare questo metodo, consulta Indicare un prezzo personalizzato. - È stato rimosso
queryPurchases(), precedentemente deprecato e sostituito da queryPurchasesAsync introdotto nella Libreria Fatturazione Google Play 4.0.0. launchPriceChangeFlowè stato deprecato e verrà rimosso in una futura release. Per scoprire di più sulle alternative, consulta Avviare un flusso di conferma della modifica del prezzo.- Rimosso
setVrPurchaseFlow(), che veniva utilizzato in precedenza durante l'istanza di un flusso di acquisto. Nelle versioni precedenti, questo metodo reindirizzava l'utente per completare l'acquisto sul suo dispositivo Android. Una volta rimosso questo metodo, gli utenti completeranno l'acquisto tramite il flusso di acquisto standard.
Rilascio della libreria Fatturazione Google Play 4.1 (23/02/2022)
Sono ora disponibili la versione 4.1.0 della Libreria Fatturazione Google Play e le estensioni Kotlin.
Questa versione contiene le seguenti modifiche.
Riepilogo delle modifiche
- È stato aggiunto
BillingClient.showInAppMessages()per facilitare la gestione dei pagamenti degli abbonamenti rifiutati. Per scoprire di più su come utilizzare la messaggistica in-app per gestire i rifiuti dei pagamenti degli abbonamenti, consulta la sezione Gestire i rifiuti dei pagamenti.
Rilascio della libreria Fatturazione Google Play 4.0 (18/05/2021)
Sono ora disponibili la versione 4.0.0 della Libreria Fatturazione Google Play e le estensioni Kotlin.
Riepilogo delle modifiche
È stato aggiunto
BillingClient.queryPurchasesAsync()in sostituzione diBillingClient.queryPurchases()che verrà rimosso in una release futura.È stata aggiunta una nuova modalità di sostituzione dell'abbonamento
IMMEDIATE_AND_CHARGE_FULL_PRICE.Aggiunto il metodo
BillingClient.getConnectionState()per recuperare lo stato della connessione di Libreria Fatturazione Play.Javadoc e implementazione aggiornati per indicare il thread su cui è possibile chiamare un metodo e il thread in cui vengono pubblicati i risultati.
È stato aggiunto
BillingFlowParams.Builder.setSubscriptionUpdateParams()come nuovo modo per avviare gli aggiornamenti degli abbonamenti. Questo sostituisceBillingFlowParams#getReplaceSkusProrationMode,BillingFlowParams#getOldSkuPurchaseToken,BillingFlowParams#getOldSku,BillingFlowParams.Builder#setReplaceSkusProrationMode,BillingFlowParams.Builder#setOldSkuche sono stati rimossi.Aggiunta di
Purchase.getQuantity()ePurchaseHistoryRecord.getQuantity().Aggiunta di
Purchase#getSkus()ePurchaseHistoryRecord#getSkus(). Questi sostituisconoPurchase#getSkuePurchaseHistoryRecord#getSku, che sono stati rimossi.BillingFlowParams#getSku,BillingFlowParams#getSkuDetailseBillingFlowParams#getSkuTyperimossi.
Rilascio della libreria Fatturazione Google Play 3.0.3 (12/03/2021)
Sono ora disponibili la versione 3.0.3 della Libreria Fatturazione Google Play, l'estensione Kotlin e il plug-in Unity.
Correzioni di bug per Java e Kotlin
- È stata corretta la perdita di memoria quando viene chiamato
endConnection(). - Risolvi il problema quando la Libreria Fatturazione Google Play viene utilizzata da app che utilizzano la modalità di avvio di una singola attività. Verrà attivato un
onPurchasesUpdated()callback quando un'app viene ripristinata dal launcher Android e la finestra di dialogo di fatturazione era visibile prima della sospensione.
Correzioni di bug di Unity
- Esegui l'aggiornamento alla versione 3.0.3 di Java per correggere la perdita di memoria e risolvere il problema che impedisce gli acquisti quando un'app viene ripresa dal launcher Android e la finestra di dialogo di fatturazione era visibile prima della sospensione.
Rilascio della libreria Fatturazione Google Play 3.0.2 (24/11/2020)
Sono ora disponibili la versione 3.0.2 della Libreria Fatturazione Google Play e l'estensione Kotlin.
Correzioni di bug
- È stato corretto un bug nell'estensione Kotlin in cui la coroutine non va a buon fine con l'errore "Already resumed".
- Sono stati corretti i riferimenti non risolti quando l'estensione Kotlin viene utilizzata con la libreria kotlinx.coroutines versione 1.4 o successive.
Rilascio della libreria Fatturazione Google Play 3.0.1 (30/09/2020)
Le versioni 3.0.1 della Libreria Fatturazione Google Play e dell'estensione Kotlin sono ora disponibili.
Correzioni di bug
- È stato corretto un bug per cui, se l'app veniva chiusa e ripristinata durante il flusso di fatturazione,
PurchasesUpdatedListenerpotrebbe non essere chiamato con il risultato dell'acquisto.
Rilascio della Libreria Fatturazione Google Play 3.0 (08/06/2020)
Sono ora disponibili la versione 3.0.0 della Libreria Fatturazione Google Play, l'estensione Kotlin e il plug-in Unity.
Riepilogo delle modifiche
- È stato rimosso il supporto degli SKU con premio.
- Sono stati rimossi i parametri
ChildDirectedeUnderAgeOfConsent. - Sono stati rimossi i metodi di payload per sviluppatori deprecati.
- Sono stati rimossi i metodi deprecati
BillingFlowParams.setAccountId()eBillingFlowParams.setDeveloperId(). - Sono stati rimossi i metodi deprecati
BillingFlowParams.setOldSkus(String oldSku)eBillingFlowParams.addOldSku(String oldSku). - Sono state aggiunte annotazioni di nullabilità.
Correzioni di bug
SkuDetails.getIntroductoryPriceCycles()ora restituisceintanzichéString.- È stato corretto un bug per cui il flusso di fatturazione veniva trattato come se avesse parametri aggiuntivi anche se non erano stati impostati.
Release della libreria Fatturazione Google Play 2.2.1 (20/05/2020)
La versione 2.2.1 della libreria Google Play Billing è ora disponibile.
Correzioni di bug
- È stata aggiornata la versione predefinita della libreria Java Play Billing da cui dipende l'estensione Kotlin.
Rilascio della libreria Google Play Billing 2.2.0 e supporto di Unity (23/03/2020)
La versione 2.2.0 di Google Play Billing fornisce funzionalità che aiutano gli sviluppatori a garantire che gli acquisti siano attribuiti all'utente corretto. Queste modifiche sostituiscono la necessità di creare soluzioni personalizzate basate sul payload dello sviluppatore. Nell'ambito di questo aggiornamento, la funzionalità del payload dello sviluppatore è stata ritirata e verrà rimossa in una versione futura. Per ulteriori informazioni, incluse le alternative consigliate, consulta Payload sviluppatore.
Libreria Fatturazione Google Play 2 per Unity
Oltre alle attuali versioni Java e Kotlin di Libreria Fatturazione Google Play 2, abbiamo rilasciato una versione della libreria da utilizzare con Unity. Gli sviluppatori di giochi che utilizzano l'API per gli acquisti in-app di Unity possono eseguire l'upgrade ora per usufruire di tutte le funzionalità della Libreria Fatturazione Google Play 2 e per semplificare gli upgrade successivi alle versioni future della libreria.
Per saperne di più, consulta Utilizzare Fatturazione Google Play con Unity.
Riepilogo delle modifiche
- Libreria Fatturazione Google Play Java
- In
AcknowledgePurchaseParams, deprecatisetDeveloperPayload()egetDeveloperPayload()metodi. - In
ConsumeParams, deprecatisetDeveloperPayload()egetDeveloperPayload()metodi. - In
BillingFlowParams, è stato rinominatosetAccountId()insetObfuscatedAccountId(), ed è stata documentata la limitazione della lunghezza a 64 caratteri e la limitazione che non consente l'inserimento di informazioni che consentono l'identificazione personale (PII) in questo campo.setAccountId()è stato contrassegnato come obsoleto e verrà rimosso in una futura versione della libreria. - In
BillingFlowParams, è stato aggiuntosetObfuscatedProfileId()che funziona in modo simile asetObfuscatedAccountId(). Per saperne di più, consulta Aggiornamenti e alternative del payload dello sviluppatore. - In
Purchase, è stato aggiunto il metodogetAccountIdentifiers()per restituire gli identificatori dell'account offuscati impostati inBillingFlowParams. - In
BillingClient, il metodoloadRewardedSku()è stato contrassegnato come deprecato nell'ambito del ritiro degli SKU con premio. Puoi trovare maggiori informazioni sul ritiro nel Centro assistenza Play Console.
- In
Rilascio della Libreria Fatturazione Google Play 2.1.0 e dell'estensione Kotlin 2.1.0 (10/12/2019)
Sono ora disponibili la versione 2.1.0 della libreria Fatturazione Google Play e la nuova estensione Kotlin. L'estensione Kotlin della libreria Play Billing Library fornisce alternative idiomatiche alle API per l'utilizzo di Kotlin, con una migliore sicurezza null e coroutine. Per esempi di codice, vedi Utilizzare la Libreria Fatturazione Google Play.
Questa versione contiene le seguenti modifiche.
Riepilogo delle modifiche
- In
BillingFlowParams,setOldSku(String oldSku)è stato ritirato e sostituito consetOldSku(String oldSku, String purchaseToken), per distinguere quando più account sul dispositivo possiedono lo stesso SKU.
Rilascio della libreria Fatturazione Google Play 2.0.3 (05/08/2019)
La versione 2.0.3 della libreria Fatturazione Google Play è ora disponibile.
Correzioni di bug
- È stato corretto un bug per cui
querySkuDetailsAsync()a volte non riusciva a restituire il codiceDEVELOPER_ERRORanziché un risultato positivo.
Release della libreria Fatturazione Google Play 2.0.2 (08/07/2019)
La versione 2.0.2 della libreria Google Play Billing è ora disponibile. Questa release contiene aggiornamenti alla documentazione di riferimento e non modifica la funzionalità della libreria.
Rilascio della libreria Fatturazione Google Play 2.0.1 (06/06/2019)
La versione 2.0.1 della libreria Fatturazione Google Play è ora disponibile. Questa versione contiene le seguenti modifiche.
Correzioni di bug
- È stato corretto un bug per cui in alcuni casi i messaggi di debug venivano restituiti come
null. - È stato risolto un potenziale problema di perdita di memoria.
Rilascio della libreria Fatturazione Google Play 2.0 (7/05/2019)
È ora disponibile la versione 2.0 della libreria Fatturazione Google Play. Questa versione contiene le seguenti modifiche.
Gli acquisti devono essere confermati entro tre giorni
Google Play supporta l'acquisto di prodotti dall'interno dell'app (in-app) o
dall'esterno dell'app (out-of-app). Affinché Google Play possa garantire un'esperienza di acquisto coerente indipendentemente da dove l'utente acquista il tuo prodotto, devi confermare tutti gli acquisti ricevuti tramite la Libreria Fatturazione Google Play il prima possibile dopo aver concesso il diritto all'utente. Se
non confermi un acquisto entro tre giorni, l'utente riceve automaticamente
un rimborso e Google Play revoca l'acquisto. Per le transazioni
in attesa (novità della versione 2.0), il periodo di tre giorni inizia
quando l'acquisto è passato allo stato PURCHASED e non si applica mentre
l'acquisto è nello stato PENDING.
Per gli abbonamenti, devi confermare qualsiasi acquisto che abbia un nuovo token di acquisto. Ciò significa che tutti gli acquisti iniziali, le modifiche al piano e le nuove registrazioni devono essere confermati, ma non è necessario confermare i rinnovi successivi. Per determinare se un acquisto richiede una conferma, puoi controllare il campo di conferma nell'acquisto.
L'oggetto Purchase ora include un metodo
isAcknowledged()
che indica se un acquisto è stato riconosciuto. Inoltre, l'API Google Play Developer include valori booleani di conferma sia per
Purchases.products
che per
Purchases.subscriptions.
Prima di confermare un acquisto, assicurati di utilizzare questi metodi per determinare se
l'acquisto è già stato confermato.
Puoi confermare un acquisto utilizzando uno dei seguenti metodi:
- Per i prodotti di consumo, utilizza
consumeAsync(), che si trova nell'API client. - Per i prodotti non consumati, utilizza
acknowledgePurchase(), disponibile nell'API client. - Nell'API Server è disponibile anche un nuovo metodo
acknowledge().
BillingFlowParams.setSku() è stato rimosso
Il metodo BillingFlowParams#setSku() precedentemente ritirato è stato rimosso
in questa release. Prima di eseguire il rendering dei prodotti in un flusso di acquisto, ora devi chiamare
BillingClient.querySkuDetailsAsync(),
passando l'oggetto
SkuDetails risultante a
BillingFlowParams.Builder.setSkuDetails().
Per esempi di codice, vedi Utilizzare la Libreria Fatturazione Google Play.
Il payload dello sviluppatore è supportato
La versione 2.0 della libreria Google Play Billing aggiunge il supporto per il payload dello sviluppatore, ovvero stringhe arbitrarie che possono essere associate agli acquisti. Puoi allegare un parametro del payload dello sviluppatore a un acquisto, ma solo quando l'acquisto viene riconosciuto o utilizzato. A differenza del payload sviluppatore in AIDL, dove il payload può essere specificato all'avvio del flusso di acquisto. Poiché gli acquisti ora possono essere avviati al di fuori della tua app, questa modifica ti garantisce sempre l'opportunità di aggiungere un payload agli acquisti.
Per accedere al payload nella nuova libreria, gli oggetti Purchase ora includono un metodo
getDeveloperPayload().
Offerte coerenti
Quando offri uno SKU scontato, Google Play ora restituisce il prezzo originale dello SKU in modo che tu possa mostrare agli utenti che stanno ricevendo uno sconto.
SkuDetails contiene due
nuovi metodi per recuperare il prezzo SKU originale:
getOriginalPriceAmountMicros()- restituisce il prezzo originale non formattato dello SKU prima dello sconto.
getOriginalPrice()- restituisce il prezzo originale con la formattazione aggiuntiva della valuta.
Transazioni in sospeso
Con la versione 2.0 della libreria Google Play Billing, devi supportare gli acquisti in cui è richiesta un'azione aggiuntiva prima di concedere il diritto. Ad esempio, un utente potrebbe scegliere di acquistare il tuo prodotto in-app in un negozio fisico utilizzando contanti. Ciò significa che la transazione viene completata al di fuori della tua app. In questo scenario, devi concedere il diritto solo dopo che l'utente ha completato la transazione.
Per attivare gli acquisti in attesa, chiama
enablePendingPurchases()
durante l'inizializzazione dell'app.
Utilizza
Purchase.getPurchaseState()
per determinare se lo stato dell'acquisto è PURCHASED o PENDING. Tieni presente che
devi concedere il diritto solo quando lo stato è PURCHASED. Per
controllare gli aggiornamenti dello stato di Purchase, segui questi passaggi:
- Quando avvii l'app, chiama
BillingClient.queryPurchases()per recuperare l'elenco dei prodotti non consumati associati all'utente. - Chiama
Purchase.getPurchaseState()su ogni oggettoPurchaserestituito. - Implementa il metodo
onPurchasesUpdated()per rispondere alle modifiche agli oggettiPurchase.
Inoltre, l'API Google Play Developer include uno stato PENDING per
Purchases.products.
Le transazioni in attesa non sono supportate per gli abbonamenti.
Questa release introduce anche un nuovo tipo di notifica in tempo reale per lo sviluppatore,
OneTimeProductNotification. Questo tipo di notifica contiene un singolo messaggio
il cui valore è ONE_TIME_PRODUCT_PURCHASED o
ONE_TIME_PRODUCT_CANCELED. Questo tipo di notifica viene inviato solo per gli acquisti
associati a forme di pagamento differite, ad esempio i contanti.
Quando confermi gli acquisti in attesa, assicurati di farlo solo quando lo stato dell'acquisto è PURCHASED e non PENDING.
Modifiche alle API
La versione 2.0 della libreria Google Play Billing contiene diverse modifiche all'API per supportare nuove funzionalità e chiarire quelle esistenti.
consumeAsync
consumeAsync()
ora accetta un
oggetto ConsumeParams
anziché un purchaseToken. ConsumeParams contiene purchaseToken e
un payload facoltativo per gli sviluppatori.
La versione precedente di consumeAsync() è stata rimossa in questa release.
queryPurchaseHistoryAsync
Per ridurre al minimo la confusione,
queryPurchaseHistoryAsync()
ora restituisce un oggetto
PurchaseHistoryRecord
anziché un oggetto Purchase. L'oggetto PurchaseHistoryRecord è uguale a un oggetto Purchase, tranne per il fatto che riflette solo i valori restituiti da queryPurchaseHistoryAsync() e non contiene i campi autoRenewing, orderId e packageName. Tieni presente che i dati restituiti non sono cambiati: queryPurchaseHistoryAsync() restituisce gli stessi dati di prima.
Valori restituiti di BillingResult
Le API che in precedenza restituivano un valore intero BillingResponse ora restituiscono un oggetto
BillingResult. BillingResult contiene l'intero BillingResponse e una
stringa di debug che puoi utilizzare per diagnosticare gli errori. La stringa di debug utilizza le impostazioni
locali en-US e non è destinata agli utenti finali.
Correzioni di bug
SkuDetails.getIntroductoryPriceAmountMicros()ora restituisce unlonganziché unString.
Release della libreria Fatturazione Google Play 1.2.2 (07/03/2019)
È ora disponibile la versione 1.2.2 della libreria Fatturazione Google Play. Questa versione contiene le seguenti modifiche.
Correzioni di bug
- È stato risolto un problema di threading introdotto nella versione 1.2.1. Le chiamate in background non bloccano più il thread principale.
Altre modifiche
- Sebbene l'utilizzo del thread principale sia ancora consigliato, ora puoi creare un'istanza della libreria Google Play Billing da un thread in background.
- L'istanza è stata completamente migrata al thread in background per ridurre la possibilità di causare ANR.
Rilascio della Libreria Fatturazione Play 1.2.1 (04/03/2019)
La versione 1.2.1 della libreria Fatturazione Google Play è ora disponibile. Questa versione contiene le seguenti modifiche.
Modifiche principali
- È stato aggiunto il supporto per i prodotti con premio. Per saperne di più sulle opzioni di monetizzazione, consulta Aggiungere funzionalità specifiche per i prodotti con premio.
Altre modifiche
- Sono stati aggiunti costruttori pubblici per
PurchasesResulteSkuDetailsResultper semplificare i test. - Gli oggetti
SkuDetailspossono utilizzare un nuovo metodo,getOriginalJson(). - Tutte le chiamate di servizio AIDL vengono ora gestite dai thread in background.
Correzioni di bug
- I listener di callback null non vengono più passati alle API pubbliche.
Rilascio della libreria Fatturazione Google Play 1.2 (18/10/2018)
È ora disponibile la versione 1.2 della libreria Fatturazione Google Play. Questa versione contiene le seguenti modifiche.
Riepilogo delle modifiche
- La libreria Google Play Billing è ora concessa in licenza ai sensi del Contratto di licenza del Software development kit Android.
- È stata aggiunta l'API
launchPriceChangeConfirmationFlow, che chiede agli utenti di esaminare una modifica in attesa al prezzo di un abbonamento. - È stato aggiunto il supporto per una nuova modalità di ripartizione proporzionale,
DEFERRED, in caso di upgrade o downgrade dell'abbonamento di un utente. - Nella classe
BillingFlowParams,setSku()è stato sostituito consetSkuDetails(). - Correzioni di bug minori e ottimizzazioni del codice.
Conferma della variazione di prezzo
Ora puoi modificare il prezzo di un abbonamento in Google Play Console e chiedere agli utenti di esaminare e accettare il nuovo prezzo quando accedono alla tua app.
Per utilizzare questa API, crea un oggetto PriceChangeFlowParams utilizzando
skuDetails del prodotto in abbonamento, quindi chiama
launchPriceChangeConfirmationFlow(). Implementa
PriceChangeConfirmationListener per gestire il risultato al termine del flusso di conferma
della modifica del prezzo, come mostrato nello snippet di codice seguente:
Kotlin
val priceChangeFlowParams = PriceChangeFlowParams.newBuilder() .setSkuDetails(skuDetailsOfThePriceChangedSubscription) .build() billingClient.launchPriceChangeConfirmationFlow(activity, priceChangeFlowParams, object : PriceChangeConfirmationListener() { override fun onPriceChangeConfirmationResult(responseCode: Int) { // Handle the result. } })
Java
PriceChangeFlowParams priceChangeFlowParams = PriceChangeFlowParams.newBuilder() .setSkuDetails(skuDetailsOfThePriceChangedSubscription) .build(); billingClient.launchPriceChangeConfirmationFlow(activity, priceChangeFlowParams, new PriceChangeConfirmationListener() { @Override public void onPriceChangeConfirmationResult(int responseCode) { // Handle the result. } });
Il flusso di conferma della variazione di prezzo mostra una finestra di dialogo contenente le nuove informazioni sui prezzi, chiedendo agli utenti di accettare il nuovo prezzo. Questo flusso restituisce un codice di risposta di tipo BillingClient.BillingResponse.
Nuova modalità di ripartizione proporzionale
Quando esegui l'upgrade o il downgrade dell'abbonamento di un utente, puoi utilizzare una nuova modalità di ripartizione proporzionale, DEFERRED. Questa modalità aggiorna l'abbonamento dell'utente al successivo rinnovo.
Per scoprire di più su come impostare questa modalità di ripartizione proporzionale, consulta Impostare la modalità di ripartizione proporzionale.
Nuovo metodo per impostare i dettagli SKU
Nella classe BillingFlowParams, il metodo setSku() è stato ritirato.
Questa modifica serve a ottimizzare il flusso di Fatturazione Google Play.
Quando crei una nuova istanza di BillingFlowParams nel client di fatturazione in-app, ti consigliamo di utilizzare direttamente l'oggetto JSON utilizzando
setSkuDetails(), come mostrato nel seguente snippet di codice:
Nella classe BillingFlowParams Builder, il metodo setSku() è stato
ritirato. Utilizza invece il metodo setSkuDetails(), come mostrato nello snippet di codice seguente. L'oggetto passato nell'oggetto setSkuDetails() proviene dal metodo
querySkuDetailsAsync().
Kotlin
private lateinit var mBillingClient: BillingClient private val mSkuDetailsMap = HashMap<String, SkuDetails>() private fun querySkuDetails() { val skuDetailsParamsBuilder = SkuDetailsParams.newBuilder() mBillingClient.querySkuDetailsAsync(skuDetailsParamsBuilder.build() ) { responseCode, skuDetailsList -> if (responseCode == 0) { for (skuDetails in skuDetailsList) { mSkuDetailsMap[skuDetails.sku] = skuDetails } } } } private fun startPurchase(skuId: String) { val billingFlowParams = BillingFlowParams.newBuilder() .setSkuDetails(mSkuDetailsMap[skuId]) .build() }
Java
private BillingClient mBillingClient; private Map<String, SkuDetails> mSkuDetailsMap = new HashMap<>(); private void querySkuDetails() { SkuDetailsParams.Builder skuDetailsParamsBuilder = SkuDetailsParams.newBuilder(); mBillingClient.querySkuDetailsAsync(skuDetailsParamsBuilder.build(), new SkuDetailsResponseListener() { @Override public void onSkuDetailsResponse(int responseCode, List<SkuDetails> skuDetailsList) { if (responseCode == 0) { for (SkuDetails skuDetails : skuDetailsList) { mSkuDetailsMap.put(skuDetails.getSku(), skuDetails); } } } }); } private void startPurchase(String skuId) { BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setSkuDetails(mSkuDetailsMap.get(skuId)) .build(); }
Release della Libreria Fatturazione Play 1.1 (07/05/2018)
La versione 1.1 della libreria Fatturazione Google Play è ora disponibile. Questa versione contiene le seguenti modifiche.
Riepilogo delle modifiche
- Aggiunto il supporto per specificare una modalità di ripartizione proporzionale in
BillingFlowParamsquando si esegue l'upgrade/il downgrade di un abbonamento esistente. - Il flag booleano
replaceSkusProrationinBillingFlowParamsnon è più supportato. Utilizza invecereplaceSkusProrationMode. launchBillingFlow()ora attiva un callback per le risposte non riuscite.
Modifiche al funzionamento
La versione 1.1 della libreria Fatturazione Google Play contiene le seguenti modifiche al comportamento.
Gli sviluppatori possono impostare replaceSkusProrationMode nella classe BillingFlowParams
Un ProrationMode fornisce ulteriori dettagli sul tipo di ripartizione proporzionale in caso di upgrade o downgrade dell'abbonamento di un utente.
Kotlin
BillingFlowParams.newBuilder() .setSku(skuId) .setType(billingType) .setOldSku(oldSku) .setReplaceSkusProrationMode(replaceSkusProrationMode) .build()
Java
BillingFlowParams.newBuilder() .setSku(skuId) .setType(billingType) .setOldSku(oldSku) .setReplaceSkusProrationMode(replaceSkusProrationMode) .build();
Google Play supporta le seguenti modalità di ripartizione proporzionale:
IMMEDIATE_WITH_TIME_PRORATION |
La sostituzione ha effetto immediato e il nuovo periodo di scadenza verrà ripartito proporzionalmente e accreditato o addebitato all'utente. Questo è il comportamento predefinito attuale. |
IMMEDIATE_AND_CHARGE_PRORATED_PRICE |
La sostituzione ha effetto immediato e il ciclo di fatturazione rimane invariato. Verrà addebitato il prezzo per
il periodo rimanente.
Nota: questa opzione è disponibile solo per l'upgrade dell'abbonamento. |
IMMEDIATE_WITHOUT_PRORATION |
La sostituzione ha effetto immediato e il nuovo prezzo verrà addebitato al successivo rinnovo. Il ciclo di fatturazione rimane invariato. |
replaceSkusProration non è più supportato nella classe BillingFlowParams
In passato, gli sviluppatori potevano impostare un flag booleano per addebitare un importo proporzionale per
una richiesta di upgrade dell'abbonamento. Poiché supportiamo ProrationMode,
che contiene istruzioni di ripartizione più dettagliate, questo flag booleano non è
più supportato.
launchBillingFlow() ora attiva un callback per le risposte non riuscite
La Libreria Fatturazione attiverà sempre il
callback PurhcasesUpdatedListener e restituirà un
BillingResponse in modo asincrono. Viene mantenuto anche il valore restituito sincrono di
BillingResponse.
Correzioni di bug
- Esci correttamente in anticipo nei metodi asincroni quando il servizio è disconnesso.
BuilderGli oggetti dei parametri non modificano più gli oggetti integrati.- Problema 68087141:
launchBillingFlow()ora attiva il callback per le risposte non riuscite.
Rilascio della libreria Fatturazione Google Play 1.0 (19/09/2017, annuncio)
È ora disponibile la versione 1.0 della libreria Google Play Billing. Questa versione contiene le seguenti modifiche.
Modifiche importanti
- Autorizzazione di fatturazione incorporata nel manifest della libreria. Non è più necessario
aggiungere l'autorizzazione
com.android.vending.BILLINGall'interno del manifest Android. - Nuovo builder aggiunto alla classe
BillingClient.Builder. - È stato introdotto il pattern builder per la classe
SkuDetailsParamsda utilizzare nei metodi per eseguire query sugli SKU. - Diversi metodi API sono stati aggiornati per coerenza (stessi nomi e ordine degli argomenti restituiti).
Modifiche al funzionamento
La versione 1.0 della libreria Fatturazione Google Play contiene le seguenti modifiche al comportamento.
Classe BillingClient.Builder
BillingClient.Builder
ora viene inizializzato tramite il nuovo pattern newBuilder:
Kotlin
billingClient = BillingClient.newBuilder(context).setListener(this).build()
Java
billingClient = BillingClient.newBuilder(context).setListener(this).build();
Il metodo launchBillingFlow viene ora chiamato utilizzando una classe BillingFlowParams
Per avviare il flusso di fatturazione per un acquisto o un abbonamento, il metodo
launchBillingFlow() riceve un'istanza
BillingFlowParams
inizializzata con parametri specifici per la richiesta:
Kotlin
BillingFlowParams.newBuilder().setSku(skuId) .setType(billingType) .setOldSku(oldSku) .build() // Then, use the BillingFlowParams to start the purchase flow val responseCode = billingClient.launchBillingFlow(builder.build())
Java
BillingFlowParams.newBuilder().setSku(skuId) .setType(billingType) .setOldSku(oldSku) .build(); // Then, use the BillingFlowParams to start the purchase flow int responseCode = billingClient.launchBillingFlow(builder.build());
Nuovo modo per eseguire query sui prodotti disponibili
Gli argomenti per i metodi
queryPurchaseHistoryAsync() e
querySkuDetailsAsync() sono stati inclusi
in un pattern Builder:
Kotlin
val params = SkuDetailsParams.newBuilder() params.setSkusList(skuList) .setType(itemType) billingClient.querySkuDetailsAsync(params.build(), object : SkuDetailsResponseListener() { ... })
Java
SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder(); params.setSkusList(skuList) .setType(itemType); billingClient.querySkuDetailsAsync(params.build(), new SkuDetailsResponseListener() {...})
Il risultato viene ora restituito tramite il codice risultato e un elenco di oggetti
SkuDetails anziché la precedente classe wrapper per comodità e per garantire la coerenza tra le nostre API:
Kotlin
fun onSkuDetailsResponse(@BillingResponse responseCode: Int, skuDetailsList: List<SkuDetails>)
Java
public void onSkuDetailsResponse(@BillingResponse int responseCode, List<SkuDetails> skuDetailsList)
Ordine dei parametri modificato nel metodo onConsumeResponse()
L'ordine degli argomenti per
onConsumeResponse dall'interfaccia
ConsumeResponseListener
è stato modificato per garantire la coerenza tra le nostre API:
Kotlin
fun onConsumeResponse(@BillingResponse responseCode: Int, outToken: String)
Java
public void onConsumeResponse(@BillingResponse int responseCode, String outToken)
Oggetto PurchaseResult non sottoposto a wrapping
PurchaseResult
è stato estratto per garantire la coerenza della nostra API:
Kotlin
fun onPurchaseHistoryResponse(@BillingResponse responseCode: Int, purchasesList: List<Purchase>)
Java
void onPurchaseHistoryResponse(@BillingResponse int responseCode, List<Purchase> purchasesList)
Correzioni di bug
- Nessun codice di risposta nel bundle PURCHASES_UPDATED
- Correzione dei problemi relativi a ProxyBillingActivity e PurchasesUpdatedListener durante la rotazione del dispositivo
Rilascio dell'anteprima per gli sviluppatori 1 (12/06/2017, annuncio)
È stata lanciata l'anteprima per sviluppatori, con l'obiettivo di semplificare il processo di sviluppo per quanto riguarda la fatturazione, consentendo agli sviluppatori di concentrare i propri sforzi sull'implementazione di una logica specifica per l'app per Android, come l'architettura dell'applicazione e la struttura di navigazione.
La libreria include diverse classi e funzionalità utili da utilizzare quando integri le tue app per Android con l'API Fatturazione Google Play. La libreria fornisce anche un livello di astrazione sopra il servizio Android Interface Definition Language (AIDL), semplificando la definizione dell'interfaccia tra l'app e l'API Google Play Billing per gli sviluppatori.