Mehrere Produkte für Einmalkaufprodukte

In diesem Dokument wird beschrieben, wie Sie Ihre App in die Funktion für mehrere Produkte der Play Billing Library (PBL) einbinden können.

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

Wissenswertes

Beachten Sie beim Erstellen von Einmalkaufproduktpaketen Folgendes:

  • Einmalkaufproduktpakete können keine Abos enthalten.
  • In einem Einmalkaufproduktpaket können nicht sowohl digitale Inhalte als auch Dienste enthalten sein.
  • Die gebündelten Einmalkaufprodukte müssen sofort heruntergeladen werden können. Ein Einmalkaufproduktpaket kann beispielsweise keine Vorbestellung enthalten, da es nicht sofort heruntergeladen werden kann.
  • Die Funktion für mehrere Einmalkaufprodukte unterstützt die Kaufoption „Mieten“ nicht.

In die Play Billing Library einbinden

In diesem Abschnitt wird davon ausgegangen, dass Sie mit den ersten Schritten zur PBL-Einbindung vertraut sind, z. B. dem Hinzufügen der PBL-Abhängigkeit zu Ihrer App, dem Initialisieren von BillingClient und dem Herstellen einer Verbindung zu Google Play. In diesem Abschnitt werden die PBL-Einbindungsaspekte behandelt, die speziell für den Kauf von mehreren Einmalkaufprodukten gelten.

Kaufvorgang starten

So starten Sie einen Kaufvorgang für mehrere Einmalkaufprodukte:

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

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

    Im folgenden Beispiel wird gezeigt, 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 Produktdetails des Einmalkaufprodukts in der BillingFlowParams.Builder.setProductDetailsParamsList Methode an. Die Klasse BillingFlowParams gibt die Details eines Kaufvorgangs an.

    Im folgenden Beispiel wird gezeigt, wie Sie den Abrechnungsvorgang für den Kauf von mehreren Einmalkaufprodukten starten:

    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 Käufen von mehreren Einmalkaufprodukten ist dieselbe wie bei bestehenden Käufen einzelner Artikel, wie unter Google Play Billing Library in Ihre App einbinden beschrieben. Der einzige Unterschied besteht darin, dass Sie für alle Produkte eine Berechtigung gewähren müssen, anstatt nur für eines. So kann der Nutzer mit einem einzigen Kauf mehrere Berechtigungen erhalten. Beim Kauf von mehreren Einmalkaufprodukten 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 wird in Entwicklerbenachrichtigungen in Echtzeit für Käufe von mehreren Einmalkaufprodukten nicht angegeben. Käufe von mehreren Einmalkaufprodukten 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 von mehreren Einmalkaufprodukten können Nutzer keine Erstattungen für einzelne Artikel beantragen und Sie können auch keine Erstattungen für einzelne Artikel veranlassen. Es ist jedoch zulässig, Erstattungen für den gesamten Kauf von mehreren Einmalkaufprodukten zu beantragen und zu veranlassen. Wenn Sie einen Kauf von mehreren Einmalkaufprodukten für einen Nutzer stornieren, werden alle mit dem Kauf verknüpften Berechtigungen storniert.

Finanzberichte und ‑abgleich

Verwenden Sie die Abrechnung, um Ihre aktiven Käufe von mehreren Einmalkaufprodukten mit Google-Auszahlungen und ‑Transaktionen bei Google Play abzugleichen. Jede Transaktionszeile hat eine Bestell-ID. Bei einem Kauf von mehreren Einmalkaufprodukten enthalten die Berichte „Einnahmen“ und „Geschätzte Verkäufe“ separate Zeilen (mit derselben Bestell-ID) für jede Transaktion, z. B. Belastung, Gebühr, Steuer und Erstattung, für jeden beteiligten Artikel.

Für Dashboards in der Play Console gilt Folgendes:

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

  • Die Bestellverwaltung berücksichtigt Käufe von mehreren Einmalkaufprodukten und zeigt detaillierte Listen der gekauften Artikel. Über die Bestellverwaltung können Sie den Kauf eines Nutzers widerrufen, stornieren oder vollständig erstatten.