Questo documento descrive come integrare la tua app con la funzionalità multi-prodotto della Libreria Fatturazione Play (PBL).
La funzionalità multi-prodotto per i prodotti a pagamento singolo (OTP) ti consente di combinare più prodotti a pagamento singolo in un'unica unità. Questi prodotti in bundle possono essere acquistati, fatturati e gestiti collettivamente. Puoi anche creare offerte di sconto per questi OTP in bundle per incentivare gli acquisti di prodotti.
Considerazioni
Quando crei bundle di prodotti a pagamento singolo, tieni presente le seguenti considerazioni:
- Non puoi avere abbonamenti in un bundle di prodotti a pagamento singolo.
- Non puoi avere una combinazione di contenuti digitali e servizi nello stesso bundle di prodotti a pagamento singolo.
- I prodotti a pagamento singolo in bundle devono essere disponibili per il download immediato. Ad esempio, un bundle di prodotti a pagamento singolo non può avere un acquisto in pre-ordine perché non è disponibile per il download immediato.
- La funzionalità multi-prodotto per i prodotti a pagamento singolo non supporta l'opzione di acquisto Noleggia.
Integrare la Libreria Fatturazione Play
Questa sezione presuppone che tu abbia familiarità con i passaggi di integrazione iniziale della PBL, ad esempio l'aggiunta della dipendenza PBL alla tua app, l'inizializzazione di BillingClient e la connessione a Google Play. Questa sezione si concentra sugli aspetti di integrazione della PBL specifici per gli acquisti di OTP multi-prodotto.
Avviare un flusso di acquisto
Per avviare un flusso di acquisto per prodotti a pagamento singolo multi-prodotto:
Crea un elenco di prodotti contenente tutti i prodotti a pagamento singolo utilizzando il metodo QueryProductDetailsParams.Builder.setProductList.
Recupera tutti i prodotti a pagamento singolo utilizzando il
BillingClient.queryProductDetailsAsyncmetodo.Il seguente esempio mostra come recuperare tutti i prodotti a pagamento singolo:
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
ProductDetailsper ogni prodotto a pagamento singolo.Specifica i dettagli del prodotto a pagamento singolo nel
BillingFlowParams.Builder.setProductDetailsParamsListmetodo. La classeBillingFlowParamsspecifica i dettagli di un flusso di acquisto.Il seguente esempio mostra come avviare il flusso di fatturazione per un acquisto di OTP multi-prodotto:
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 OTP multi-prodotto è la stessa degli acquisti di singoli articoli esistenti
come descritto in
Integrare la Libreria Fatturazione Google Play nella tua app.
L'unica differenza è che devi concedere l'idoneità per tutti i
prodotti anziché solo per uno per gli acquisti di OTP multi-prodotto, in modo che l'
utente possa ricevere più idoneità con un singolo acquisto.
Un acquisto di OTP multi-prodotto restituisce più articoli che possono essere recuperati
utilizzando Purchase.getProducts() nella
Libreria Fatturazione Google Play e poi l'elenco lineItems in
purchases.products.get dell'API Google Play Developer.
Notifiche in tempo reale per lo sviluppatore
Il campo sku non viene fornito nelle notifiche in tempo reale per gli acquisti di OTP multi-prodotto.
Gli acquisti di OTP multi-prodotto rappresentano più di un prodotto. Pertanto, puoi utilizzare le API Play Developer per ottenere i dati di acquisto e visualizzare tutti gli articoli.
Rimborsi
In un acquisto di OTP multi-prodotto, gli utenti non possono richiedere rimborsi per i singoli articoli e nemmeno tu puoi emettere rimborsi per i singoli articoli. Tuttavia, è consentito richiedere ed emettere rimborsi per l'intero acquisto di OTP multi-prodotto. Se annulli un acquisto di OTP multi-prodotto per un utente, vengono annullate tutte le idoneità associate all'acquisto.
Report finanziari e riconciliazione
Utilizza il report sugli utili per riconciliare gli acquisti di OTP multi-prodotto attivi con i pagamenti e le transazioni di Google su Play. Ogni riga di transazione ha un ID ordine. Per un acquisto di OTP multi-prodotto, i report sulle entrate e sulle vendite stimate includeranno righe separate (con lo stesso ID ordine) per ogni transazione, ad esempio addebito, commissione, imposta e rimborso, per ogni articolo coinvolto.
Per le dashboard in Play Console:
Le statistiche sulle entrate presentate nella sezione Report finanziari della console sono suddivise per singoli prodotti.
La gestione degli ordini riflette gli acquisti di OTP multi-prodotto e mostra elenchi dettagliati di ciò che è stato acquistato. Dalla gestione degli ordini, puoi revocare, annullare o rimborsare completamente l'acquisto di un utente.