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.
Hinweise
Beachten Sie beim Erstellen von Einmalkaufprodukt-Bundles Folgendes:
- Einmalkaufprodukt-Bundles können keine Abos enthalten.
- Digitale Inhalte und Dienste können nicht im selben Einmalkaufprodukt-Bundle enthalten sein.
- Die gebündelten Einmalkaufprodukte müssen sofort heruntergeladen werden können. Ein Einmalkaufprodukt-Bundle kann beispielsweise keinen Vorbestellungskauf 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 geht es um die PBL-Einbindungsaspekte, die speziell für den Kauf von mehreren Einmalkaufprodukten gelten.
Kaufvorgang starten
So starten Sie einen Kaufvorgang für mehrere Einmalkaufprodukte:
Erstellen Sie mit der QueryProductDetailsParams.Builder.setProductList Methode eine Produktliste mit allen Einmalkaufprodukten.
Rufen Sie alle Ihre Einmalkaufprodukte mit der
BillingClient.queryProductDetailsAsyncMethode 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()) { // … } } } }); Legen Sie das
ProductDetails-Objekt für jedes Einmalkaufprodukt fest.Geben Sie die Details des Einmalkaufprodukts in der
BillingFlowParams.Builder.setProductDetailsParamsListMethode an. Die KlasseBillingFlowParamsgibt die Details eines Kaufvorgangs an.Im folgenden Beispiel wird gezeigt, wie Sie den Abrechnungsvorgang für einen 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 Käufe von mehreren Einmalkaufprodukten Berechtigungen für alle
Produkte gewähren müssen, anstatt nur für eines, damit der
Nutzer mit einem einzigen Kauf mehrere Berechtigungen erhalten kann.
Bei einem 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 den Bericht „Abrechnungen“, um Ihre aktiven Käufe von mehreren Einmalkaufprodukten mit Google-Auszahlungen und ‑Transaktionen bei Google Play abzugleichen. Jede Transaktionsposition hat eine Bestell-ID. Bei einem Kauf von mehreren Einmalkaufprodukten enthalten die Berichte „Abrechnungen“ 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 spiegelt Käufe von mehreren Einmalkaufprodukten wider und zeigt detaillierte Listen der gekauften Artikel. Über die Bestellverwaltung können Sie den Kauf eines Nutzers widerrufen, stornieren oder vollständig erstatten.