Ce document explique comment intégrer votre application à la fonctionnalité multiproduit de la bibliothèque Play Billing (PBL).
La fonctionnalité multiproduit pour les produits ponctuels vous permet de combiner plusieurs produits ponctuels en une seule unité. Ces produits groupés peuvent ensuite être achetés, facturés et gérés collectivement. Vous pouvez également créer des offres de remise pour ces OTP groupés afin d'inciter les utilisateurs à acheter des produits.
Points à prendre en compte
Lorsque vous créez des packs de produits ponctuels, tenez compte des points suivants :
- Vous ne pouvez pas inclure d'abonnements dans un pack de produits ponctuels.
- Vous ne pouvez pas combiner du contenu et un service numériques dans un même pack de produits ponctuels.
- Les produits ponctuels groupés doivent être disponibles au téléchargement immédiat. Par exemple, un pack de produits unique ne peut pas être acheté en précommande, car il n'est pas disponible en téléchargement immédiat.
- Le multiproduit pour les produits ponctuels n'est pas compatible avec l'option d'achat "Location".
Intégrer à la bibliothèque Play Billing
Cette section suppose que vous connaissez les étapes initiales d'intégration de PBL, comme l'ajout de la dépendance PBL à votre application, l'initialisation de BillingClient et la connexion à Google Play. Cette section se concentre sur les aspects de l'intégration PBL spécifiques aux achats OTP multiproduits.
Lancer un parcours d'achat
Pour lancer un parcours d'achat pour des produits ponctuels multiproduits, procédez comme suit :
Créez une liste de produits contenant tous les produits ponctuels à l'aide de la méthode QueryProductDetailsParams.Builder.setProductList.
Récupérez tous vos produits ponctuels à l'aide de la méthode
BillingClient.queryProductDetailsAsync
.L'exemple suivant montre comment récupérer tous vos produits ponctuels :
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()) { // … } } } }); Définissez l'objet
ProductDetails
pour chaque produit ponctuel.Spécifiez les détails du produit ponctuel dans la méthode
BillingFlowParams.Builder.setProductDetailsParamsList
. La classeBillingFlowParams
spécifie les détails d'un parcours d'achat.L'exemple suivant montre comment lancer le flux de facturation pour un achat OTP multiproduit :
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);
Traiter les achats
Le traitement des achats OTP multiproduits est identique à celui des achats d'un seul article existants, comme décrit dans Intégrer la bibliothèque Google Play Billing à votre application. La seule différence est que vous devez accorder des droits d'accès pour tous les produits au lieu d'un seul pour les achats OTP multiproduits, afin que l'utilisateur puisse recevoir plusieurs droits d'accès avec un seul achat.
Un achat OTP multiproduit renvoie plusieurs éléments qui peuvent être récupérés à l'aide de Purchase.getProducts()
dans la bibliothèque Google Play Billing, puis de la liste lineItems
dans purchases.products.get
de l'API Google Play Developer.
Notifications en temps réel pour les développeurs
Le champ sku
n'est pas fourni dans RTDN pour les achats OTP multiproduits.
Les achats OTP multiproduits représentent plusieurs produits. Vous pouvez donc utiliser les API Play Developer pour obtenir les données d'achat et voir tous les éléments qu'elles contiennent.
Remboursements
Dans un achat OTP multiproduit, les utilisateurs ne peuvent pas demander le remboursement d'articles individuels, et vous ne pouvez pas non plus rembourser des articles individuels. Toutefois, vous pouvez demander et émettre des remboursements pour l'intégralité de l'achat OTP multiproduit. Si vous annulez un achat OTP multiproduit pour un utilisateur, tous les droits d'accès associés à l'achat sont annulés.
Rapprochement et rapports financiers
Utilisez le rapport sur les revenus pour rapprocher vos achats actifs d'offres groupées multiproduits avec les paiements et transactions Google Play. Chaque ligne de transaction comporte un ID de commande. Pour un achat OTP multiproduit, les rapports sur les revenus et les ventes estimées incluront des lignes distinctes (avec le même ID de commande) pour chaque transaction (par exemple, les frais, les taxes et les remboursements) pour chaque article concerné.
Pour les tableaux de bord de la Play Console :
Les statistiques sur les revenus présentées dans la section Rapports financiers de la console sont ventilées par produit.
La gestion des commandes reflète les achats OTP multiproduits et affiche des listes détaillées des articles achetés. Dans la gestion des commandes, vous pouvez révoquer, annuler ou rembourser intégralement l'achat d'un utilisateur.