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 produits ponctuels groupés afin d'inciter les utilisateurs à les acheter.
Remarques
Lorsque vous créez des offres groupées de produits ponctuels, tenez compte des points suivants :
- Vous ne pouvez pas inclure d'abonnements dans une offre groupée de produits ponctuels.
- Vous ne pouvez pas combiner du contenu numérique et un service dans la même offre groupée de produits ponctuels.
- Les produits ponctuels groupés doivent être disponibles en téléchargement immédiat. Par exemple, une offre groupée de produits ponctuels ne peut pas inclure d'achat en précommande, car elle n'est pas disponible en téléchargement immédiat.
- La fonctionnalité multiproduit pour les produits ponctuels n'est pas compatible avec l'option d'achat en location .
Intégrer la bibliothèque Play Billing
Cette section part du principe que vous connaissez les étapes d'intégration initiale de la bibliothèque Play Billing, telles que l'ajout de la dépendance de la bibliothèque à votre application, l'initialisation de BillingClient, et la connexion à Google Play. Elle se concentre sur les aspects d'intégration de la bibliothèque Play Billing qui sont spécifiques aux achats multiproduits ponctuels.
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
BillingClient.queryProductDetailsAsyncméthode.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
ProductDetailspour chaque produit ponctuel.Spécifiez les détails du produit ponctuel dans la
BillingFlowParams.Builder.setProductDetailsParamsListméthode. LaBillingFlowParamsclasse spécifie les détails d'un parcours d'achat.L'exemple suivant montre comment lancer le flux de facturation pour un achat multiproduit ponctuel :
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 multiproduits ponctuels 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 un droit d'accès pour tous les
produits au lieu d'un seul pour les achats multiproduits ponctuels afin que l'
utilisateur puisse recevoir plusieurs droits d'accès avec un seul achat.
Un achat multiproduit ponctuel renvoie plusieurs articles 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 les notifications en temps réel pour les développeurs pour les achats multiproduits ponctuels.
Les achats multiproduits ponctuels représentent plusieurs produits. Par conséquent, vous pouvez utiliser les API Play Developer pour obtenir les données d'achat et afficher tous les articles qu'elles contiennent.
Remboursements
Lors d'un achat multiproduit ponctuel, les utilisateurs ne peuvent pas demander le remboursement d'articles individuels, et vous ne pouvez pas non plus émettre de remboursement pour des articles individuels. Toutefois, vous pouvez demander et émettre des remboursements pour l'intégralité de l'achat multiproduit ponctuel. Si vous annulez un achat multiproduit ponctuel pour un utilisateur, tous les droits d'accès associés à l'achat sont annulés.
Rapports et rapprochements financiers
Utilisez le rapport sur les revenus pour rapprocher vos achats multiproduits ponctuels actifs des paiements et transactions Google sur Play. Chaque ligne de transaction comporte un ID de commande. Pour un achat multiproduit ponctuel, les rapports sur les revenus et les ventes estimées incluront des lignes distinctes (avec le même ID de commande) pour chaque transaction, telles que 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 multiproduits ponctuels et affiche des listes détaillées des articles achetés. À partir de la gestion des commandes, vous pouvez révoquer, annuler ou rembourser intégralement l'achat d'un utilisateur.