Wiele produktów kupowanych raz

Z tego dokumentu dowiesz się, jak zintegrować aplikację z funkcją obsługi wielu produktów w Bibliotece płatności w Play.

Funkcja obsługi wielu produktów kupowanych raz (OTP) umożliwia łączenie kilku produktów kupowanych raz w jedną jednostkę. Takie połączone produkty można kupować, rozliczać i zarządzać nimi zbiorczo. Możesz też tworzyć oferty rabatowe na te połączone produkty kupowane raz, aby zachęcać do ich zakupu.

Uwagi

Tworząc pakiety produktów kupowanych raz, pamiętaj o tych kwestiach:

  • W pakiecie produktów kupowanych raz nie możesz mieć subskrypcji.
  • W tym samym pakiecie produktów kupowanych raz nie możesz mieć połączenia treści cyfrowych i usług.
  • Połączone produkty kupowane raz muszą być dostępne do natychmiastowego pobrania. Na przykład pakiet produktów kupowanych raz nie może zawierać zakupu w przedsprzedaży, ponieważ nie jest on dostępny do natychmiastowego pobrania.
  • Funkcja obsługi wielu produktów kupowanych raz nie obsługuje opcji zakupu na wypożyczenie .

Integracja z Biblioteką płatności w Play

W tej sekcji zakładamy, że znasz wstępne kroki integracji z Biblioteką płatności w Play, takie jak dodanie zależności Biblioteki płatności w Play do aplikacji, zainicjowanie BillingClient, i połączenie z Google Play. Ta sekcja skupia się na aspektach integracji z Biblioteką płatności w Play, które są specyficzne dla zakupów wielu produktów kupowanych raz.

Uruchamianie procesu zakupu

Aby uruchomić proces zakupu wielu produktów kupowanych raz, wykonaj te czynności:

  1. Utwórz listę produktów zawierającą wszystkie produkty kupowane raz, używając metody QueryProductDetailsParams.Builder.setProductList.

  2. Pobierz wszystkie produkty kupowane raz za pomocą metody BillingClient.queryProductDetailsAsync.

    Poniższy przykład pokazuje, jak pobrać wszystkie produkty kupowane raz:

    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. Ustaw obiekt ProductDetails dla każdego produktu kupowanego raz.

  4. Określ szczegóły produktu kupowanego raz w metodzie BillingFlowParams.Builder.setProductDetailsParamsList. Klasa BillingFlowParams określa szczegóły procesu zakupu.

    Poniższy przykład pokazuje, jak uruchomić proces płatności w przypadku zakupu wielu produktów kupowanych raz:

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

Przetwarzanie zakupów

Przetwarzanie zakupów wielu produktów kupowanych raz jest takie samo jak w przypadku dotychczasowych zakupów pojedynczych produktów, zgodnie z opisem w artykule Integrowanie Biblioteki płatności w Google Play z aplikacją. Jedyna różnica polega na tym, że w przypadku zakupów wielu produktów kupowanych raz musisz przyznać uprawnienia do wszystkich produktów, a nie tylko do jednego, aby użytkownik mógł otrzymać wiele uprawnień w ramach jednego zakupu. Zakup wielu produktów kupowanych raz zwraca wiele produktów, które można pobrać za pomocą Purchase.getProducts() w Bibliotece płatności w Google Play, a następnie listy lineItems w purchases.products.get w interfejsie Google Play Developer API.

Powiadomienia w czasie rzeczywistym dla deweloperów

W przypadku zakupów wielu produktów kupowanych raz pole sku nie jest podawane w powiadomieniach w czasie rzeczywistym dla deweloperów. Zakupy wielu produktów kupowanych raz obejmują więcej niż 1 produkt. Dlatego możesz użyć interfejsów Play Developer API, aby uzyskać dane zakupu i zobaczyć wszystkie produkty w nim zawarte.

Zwroty środków

W przypadku zakupu wielu produktów kupowanych raz użytkownicy nie mogą prosić o zwrot środków za poszczególne produkty, a Ty nie możesz przyznawać zwrotów środków za poszczególne produkty. Możesz jednak prosić o zwrot środków za cały zakup wielu produktów kupowanych raz i przyznawać takie zwroty. Jeśli anulujesz zakup wielu produktów kupowanych raz dla użytkownika, wszystkie uprawnienia powiązane z tym zakupem zostaną anulowane.

Raportowanie finansowe i uzgadnianie

Użyj raportu Zarobki, aby uzgodnić aktywne zakupy wielu produktów kupowanych raz z wypłatami i transakcjami w Google Play. Każda pozycja transakcji ma identyfikator zamówienia. W przypadku zakupu wielu produktów kupowanych raz, raporty Zarobki i Szacunkowa sprzedaż będą zawierać osobne wiersze (z tym samym identyfikatorem zamówienia) dla każdej transakcji, takiej jak obciążenie, opłata, podatek i zwrot środków, dla każdego produktu.

W przypadku paneli w Konsoli Play:

  • Statystyki przychodów prezentowane w sekcji Raportowanie finansowe w Konsoli są podzielone według poszczególnych produktów.

  • Zarządzanie zamówieniami odzwierciedla zakupy wielu produktów kupowanych raz i wyświetla listy zakupionych produktów. W sekcji Zarządzanie zamówieniami możesz cofnąć, anulować lub w pełni zwrócić środki za zakup użytkownika.