Multiproduit pour les produits ponctuels

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 :

  1. Créez une liste de produits contenant tous les produits ponctuels à l’aide de la méthode QueryProductDetailsParams.Builder.setProductList.

  2. Récupérez tous vos produits ponctuels à l'aide de la BillingClient.queryProductDetailsAsync mé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()) {
                 // …
          }
        }
      }
    });
  3. Définissez l'objet ProductDetails pour chaque produit ponctuel.

  4. Spécifiez les détails du produit ponctuel dans la BillingFlowParams.Builder.setProductDetailsParamsList méthode. La BillingFlowParams classe 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.