Questo documento descrive come integrare la tua app con la funzionalità multi-prodotto della Libreria Fatturazione Play (PBL).
La funzionalità multi-prodotto per prodotti a pagamento singolo (OTP) ti consente di combinare più prodotti a pagamento singolo in un'unica unità. Questi prodotti in bundle possono quindi essere acquistati, fatturati e gestiti collettivamente. Puoi anche creare offerte con sconti per questi OTP in bundle per incentivare gli acquisti di prodotti.
Considerazioni
Quando crei bundle di prodotti a pagamento singolo, tieni presente quanto segue:
- Non puoi includere abbonamenti in un bundle di prodotti a pagamento singolo.
- Non puoi combinare contenuti digitali e servizi nello stesso pacchetto di prodotti a pagamento singolo.
- I prodotti a pagamento singolo inclusi nel bundle devono essere disponibili per il download immediato. Ad esempio, un pacchetto di prodotti una tantum non può essere acquistato in pre-ordine perché non è disponibile per il download immediato.
- Il multi-prodotto per i prodotti a pagamento singolo non supporta l'opzione di acquisto del noleggio.
Integrare la Libreria Fatturazione Play
Questa sezione presuppone che tu abbia familiarità con i passaggi iniziali di integrazione della Libreria Fatturazione Play, ad esempio l'aggiunta della dipendenza della Libreria Fatturazione Play alla tua app, l'inizializzazione di BillingClient e la connessione a Google Play. Questa sezione si concentra sugli aspetti dell'integrazione di PBL specifici per gli acquisti OTP di più prodotti.
Avviare un flusso di acquisto
Per avviare un flusso di acquisto per prodotti a pagamento singolo multiprodotto, segui questi passaggi:
Crea un elenco di prodotti con tutti i prodotti a pagamento singolo utilizzando il metodo QueryProductDetailsParams.Builder.setProductList.
Recupera tutti i tuoi prodotti a pagamento singolo utilizzando il metodo
BillingClient.queryProductDetailsAsync
.L'esempio seguente mostra come recuperare tutti i tuoi prodotti una tantum:
Java
billingClient.queryProductDetailsAsync( queryProductDetailsParams, new ProductDetailsResponseListener() { public void onProductDetailsResponse( BillingResult billingResult, QueryProductDetailsResult productDetailsResult) { // check billingResult // … // process productDetailsList returned by QueryProductDetailsResult ImmutableList
productDetailsList = productDetailsResult.getProductDetailsList(); for (ProductDetails productDetails : productDetailsList) { for (OneTimePurchaseOfferDetails oneTimePurchaseOfferDetails : productDetails.getOneTimePurchaseOfferDetailsList()) { // … } } } }); Imposta l'oggetto
ProductDetails
per ogni prodotto a pagamento singolo.Specifica i dettagli del prodotto a pagamento singolo nel metodo
BillingFlowParams.Builder.setProductDetailsParamsList
. La classeBillingFlowParams
specifica i dettagli di un flusso di acquisto.Il seguente esempio mostra come avviare il flusso di fatturazione per un acquisto OTP di più prodotti:
Java
BillingClient billingClient = BillingClient.newBuilder() // set other options .build(); // ProductDetails obtained from queryProductDetailsAsync(). ProductDetails productDetails1 = ...; ProductDetails productDetails2 = ...; ArrayList
productDetailsList = new ArrayList<>(); productDetailsList.add(productDetails1); productDetailsList.add(productDetails2); BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsList) .build(); billingClient.launchBillingFlow(billingFlowParams);
Elaborare gli acquisti
L'elaborazione degli acquisti di abbonamenti con più prodotti è uguale a quella degli acquisti di un singolo articolo esistenti, come descritto in Integrare la Libreria Fatturazione Google Play nella tua app. L'unica differenza è che devi concedere il diritto per tutti i prodotti anziché solo per uno per gli acquisti di abbonamenti con più prodotti, in modo che l'utente possa ricevere più diritti con un unico acquisto.
Un acquisto OTP di più prodotti restituisce più elementi che possono essere recuperati
utilizzando Purchase.getProducts()
nella
libreria Fatturazione Google Play, quindi l'elenco lineItems
in
purchases.products.get
dell'API Google Play Developer.
Notifiche in tempo reale per lo sviluppatore
Il campo sku
non è fornito in RTDN per gli acquisti OTP multiprodotto.
Gli acquisti OTP di più prodotti rappresentano più di un prodotto. Pertanto, puoi utilizzare le API Play Developer per ottenere i dati sugli acquisti e visualizzare tutti gli articoli al loro interno.
Rimborsi
In un acquisto OTP multi-prodotto, gli utenti non possono richiedere rimborsi per singoli articoli e nemmeno tu puoi emettere rimborsi per singoli articoli. Tuttavia, è consentito richiedere ed emettere rimborsi per l'intero acquisto di OTP multi-prodotto. Se annulli l'acquisto di un OTP multi-prodotto per un utente, vengono annullati tutti i diritti associati all'acquisto.
Report finanziari e riconciliazione
Utilizza il report sugli utili per riconciliare gli acquisti di offerte multi-prodotto attive con i pagamenti e le transazioni di Google Play. Ogni riga della transazione ha un ID ordine. Per un acquisto OTP di più prodotti, i report Entrate e Vendite stimate includeranno righe separate (con lo stesso ID ordine) per ogni transazione, ad esempio addebito, tariffa, imposta e rimborso, per ogni articolo coinvolto.
Per le dashboard in Play Console:
Le statistiche sulle entrate presentate nella sezione Report finanziari di Play Console sono suddivise per singoli prodotti.
La gestione degli ordini riflette gli acquisti OTP di più prodotti e mostra elenchi dettagliati di ciò che è stato acquistato. Dalla gestione degli ordini, puoi revocare, annullare o rimborsare completamente l'acquisto di un utente.