Z tego dokumentu dowiesz się, jak zintegrować aplikację z funkcją wielu produktów w Bibliotece płatności w Play (PBL).
Funkcja wielu produktów kupowanych raz (OTP) umożliwia łączenie kilku produktów kupowanych raz w jeden produkt. Takie pakiety usług można kupować, rozliczać i zarządzać nimi zbiorczo. Możesz też tworzyć oferty rabatowe na te pakiety OTP, aby zachęcać do zakupu produktów.
co należy wziąć pod uwagę
Tworząc pakiety produktów kupowanych raz, pamiętaj o tych kwestiach:
- W pakiecie produktów kupowanych raz nie można mieć subskrypcji.
- Nie możesz łączyć treści cyfrowych i usług w tym samym pakiecie produktów kupowanych raz.
- Produkty kupowane raz w pakiecie muszą być dostępne do natychmiastowego pobrania. Na przykład pakiet produktów kupowanych raz nie może być kupiony w przedsprzedaży, ponieważ nie jest dostępny do natychmiastowego pobrania.
- Wieloprodukt w przypadku produktów kupowanych raz nie obsługuje opcji zakupu z możliwością wypożyczenia.
Integracja z Biblioteką płatności w Play
W tej sekcji zakładamy, że znasz już początkowe kroki integracji Biblioteki płatności w Google Play, takie jak dodanie zależności Biblioteki płatności w Google Play do aplikacji, zainicjowanie BillingClient i połączenie z Google Play. Ta sekcja skupia się na aspektach integracji PBL, które są specyficzne dla zakupów OTP wielu produktów.
Uruchamianie procesu zakupu
Aby uruchomić proces zakupu produktów kupowanych raz, wykonaj te czynności:
Utwórz listę produktów kupowanych raz, korzystając z metody QueryProductDetailsParams.Builder.setProductList.
Pobierz wszystkie produkty kupowane raz za pomocą metody
BillingClient.queryProductDetailsAsync.Poniższy przykład pokazuje, jak pobrać wszystkie produkty jednorazowe:
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()) { // … } } } }); Ustaw obiekt
ProductDetailsdla każdego produktu kupowanego raz.Określ szczegóły produktu kupowanego raz w metodzie
BillingFlowParams.Builder.setProductDetailsParamsList. KlasaBillingFlowParamsokreśla szczegóły procesu zakupu.Poniższy przykład pokazuje, jak uruchomić proces płatności za zakup OTP wielu produktów:
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);
Przetwarzanie zakupów
Przetwarzanie zakupów OTP obejmujących wiele produktów jest takie samo jak w przypadku dotychczasowych zakupów pojedynczych produktów, co opisano w artykule Integrowanie Biblioteki płatności w Google Play z aplikacją. Jedyna różnica polega na tym, że w przypadku zakupów OTP obejmujących wiele produktów 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 OTP obejmujący wiele produktów zwraca wiele elementów, które można pobrać za pomocą Purchase.getProducts() w bibliotece rozliczeniowej Google Play, a następnie listy lineItems w purchases.products.get interfejsu Google Play Developer API.
Powiadomienia w czasie rzeczywistym dla deweloperów
W przypadku zakupów OTP obejmujących wiele produktów pole sku nie jest podawane w RTDN.
Zakupy OTP obejmujące wiele produktów to zakupy więcej niż 1 produktu. Dlatego możesz używać interfejsów Play Developer API, aby pobierać dane o zakupach i wyświetlać wszystkie znajdujące się w nich produkty.
Zwroty środków
W przypadku zakupu wielu produktów za pomocą OTP 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 poprosić o zwrot środków za cały zakup OTP obejmujący wiele produktów i otrzymać taki zwrot. Jeśli anulujesz zakup OTP obejmujący wiele produktów dla użytkownika, anulowane zostaną wszystkie uprawnienia powiązane z tym zakupem.
Sprawozdawczość finansowa i uzgadnianie
Użyj raportu o zarobkach, aby uzgodnić aktywne zakupy pakietów wielu usług z wypłatami i transakcjami w Google Play. Każdy wiersz transakcji zawiera identyfikator zamówienia. W przypadku zakupu OTP obejmującego wiele produktów raporty Zarobki i Szacowana sprzedaż będą zawierać osobne wiersze (z tym samym identyfikatorem zamówienia) dla każdej transakcji, np. obciążenia, opłaty, podatku i zwrotu środków, w przypadku każdego produktu.
W przypadku paneli w Konsoli Play:
Statystyki przychodów prezentowane w sekcji Raporty finansowe w konsoli są podzielone według poszczególnych produktów.
Zarządzanie zamówieniami odzwierciedla zakupy wielu produktów w ramach OTP i zawiera szczegółowe listy zakupionych produktów. W sekcji zarządzania zamówieniami możesz cofnąć, anulować lub w pełni zwrócić środki za zakup użytkownika.