Mehrere Produkte für Einmalkaufprodukte

In diesem Dokument wird beschrieben, wie Sie Ihre App in das Multi-Produkt-Feature der Play Billing Library (PBL) einbinden können.

Mit der Funktion „Mehrere Produkte für Einmalkaufprodukte“ können Sie mehrere Einmalkaufprodukte zu einer Einheit kombinieren. Diese gebündelten Produkte können dann gemeinsam gekauft, abgerechnet und verwaltet werden. Sie können auch Rabattangebote für diese gebündelten Einmalpasswörter erstellen, um Produktkäufe anzuregen.

Wissenswertes

Beachten Sie beim Erstellen von Einmalkauf-Produktpaketen Folgendes:

  • Einmalkauf-Produktpakete dürfen keine Abos enthalten.
  • Sie können nicht digitale Inhalte und Dienste im selben einmaligen Produktpaket kombinieren.
  • Die gebündelten Einmalkaufprodukte müssen sofort heruntergeladen werden können. Ein einmaliges Produktpaket kann beispielsweise nicht vorbestellt werden, da es nicht sofort heruntergeladen werden kann.
  • Die Option „Mehrere Produkte“ für Einmalkaufprodukte unterstützt die Kaufoption „Leihen“ nicht.

Integration mit der Play Billing Library

In diesem Abschnitt wird davon ausgegangen, dass Sie mit den ersten PBL-Integrationsschritten wie dem Hinzufügen der PBL-Abhängigkeit zu Ihrer App, dem Initialisieren des BillingClient und dem Herstellen einer Verbindung zu Google Play vertraut sind. In diesem Abschnitt geht es um die Aspekte der PBL-Integration, die für OTP-Käufe mit mehreren Produkten spezifisch sind.

Kaufvorgang starten

So starten Sie einen Kaufvorgang für Einmalkaufprodukte mit mehreren Produkten:

  1. Erstellen Sie eine Produktliste mit allen Einmalkaufprodukten mithilfe der Methode QueryProductDetailsParams.Builder.setProductList.

  2. Rufen Sie alle Ihre Einmalkaufprodukte mit der Methode BillingClient.queryProductDetailsAsync ab.

    Das folgende Beispiel zeigt, wie Sie alle Ihre Einmalkaufprodukte abrufen:

    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. Legen Sie das ProductDetails-Objekt für jedes Einmalkaufprodukt fest.

  4. Geben Sie die Details zum Einmalkaufprodukt in der Methode BillingFlowParams.Builder.setProductDetailsParamsList an. Die Klasse BillingFlowParams gibt die Details eines Kaufvorgangs an.

    Das folgende Beispiel zeigt, wie der Abrechnungsablauf für einen OTP-Kauf mit mehreren Produkten gestartet wird:

    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);

Käufe verarbeiten

Die Verarbeitung von OTP-Käufen mit mehreren Produkten erfolgt genauso wie bei bestehenden Käufen mit einem einzelnen Artikel, wie unter Google Play Billing Library in Ihre App einbinden beschrieben. Der einzige Unterschied besteht darin, dass Sie für OTP-Käufe mit mehreren Produkten für alle Produkte eine Berechtigung gewähren müssen, damit der Nutzer mit einem einzigen Kauf mehrere Berechtigungen erhalten kann. Bei einem Kauf mit Einmalkaufoption für mehrere Produkte werden mehrere Artikel zurückgegeben, die mit Purchase.getProducts() in der Google Play Billing Library und dann mit der Liste lineItems in purchases.products.get der Google Play Developer API abgerufen werden können.

Entwicklerbenachrichtigungen in Echtzeit

Das Feld sku ist im RTDN für OTP-Käufe mit mehreren Produkten nicht enthalten. Die OTP-Käufe mit mehreren Produkten umfassen mehr als ein Produkt. Daher können Sie die Play Developer APIs verwenden, um die Kaufdaten abzurufen und alle Artikel darin zu sehen.

Erstattungen

Bei einem Kauf mit Einmalpasswort für mehrere Produkte können Nutzer keine Erstattung für einzelne Artikel beantragen und Sie können auch keine Erstattung für einzelne Artikel veranlassen. Die Beantragung und Ausstellung von Erstattungen für den gesamten Kauf mit mehreren Produkten ist jedoch zulässig. Wenn Sie einen Kauf eines einmaligen Produkts mit mehreren Produkten für einen Nutzer stornieren, werden alle mit dem Kauf verknüpften Berechtigungen storniert.

Finanzberichterstattung und Abgleich

Mit dem Abrechnungsbericht können Sie Ihre aktiven OTP-Käufe mit mehreren Produkten mit Google-Auszahlungen und ‑Transaktionen bei Google Play abgleichen. Jede Transaktionszeile hat eine Auftrags-ID. Bei einem Kauf mit mehreren Produkten mit Einmalzahlung werden im Bericht zu Einnahmen und geschätzten Verkäufen separate Zeilen (mit derselben Bestell-ID) für jede Transaktion wie Belastung, Gebühr, Steuer und Erstattung für jeden Artikel angezeigt.

Für Dashboards in der Play Console:

  • Die Umsatzstatistiken im Bereich Finanzberichte der Konsole sind nach einzelnen Produkten aufgeschlüsselt.

  • Die Auftragsverwaltung spiegelt OTP-Käufe mit mehreren Produkten wider und zeigt detaillierte Listen der gekauften Artikel. In der Bestellverwaltung können Sie den Kauf eines Nutzers widerrufen, stornieren oder vollständig erstatten.