W tym dokumencie opisujemy, jak wykrywać i dostarczać w grze produkty kupowane raz, gdy gracze kupią je za punkty Play w aplikacji Google Play.
Gdy użytkownicy wymienią punkty Play na produkt kupowany raz w aplikacji Google Play, powinni natychmiast otrzymać produkty w grze. Poniżej pokazujemy, jak użytkownik kupuje produkty za punkty Play.
1. Kliknij Play Points. | 2. Aby wyświetlić elementy, kliknij kartę Użyj. | 3. Wybierz produkt i kliknij Wykorzystaj punkty, aby dokończyć zakup. | 4. Odbierz produkt. |
![]() |
![]() |
![]() |
![]() |
W tym przykładzie gra nie jest uruchomiona podczas zakupu produktu. Użytkownicy mogą też wymieniać punkty Play na produkty, gdy gra nie jest zainstalowana na ich urządzeniu. Dlatego musisz zaprojektować grę tak, aby obsługiwała dostarczanie produktów w aplikacji spoza sklepu w grze.
Zanim rozpoczniesz
Zanim wykryjesz i dostarczysz produkt kupowany raz, musisz utworzyć produkt i promocje w Play Points.
Wymagania dotyczące dostawy
Gdy w ramach promocji w Play Points udostępniasz w grze produkty kupowane raz, musisz spełniać wymagania podane w tej sekcji.
Czas dostawy
Gdy gracz wymieni punkty Play Points na produkt jednorazowy, musisz dostarczyć go natychmiast, bez konieczności ponownego uruchamiania gry. W przypadku treści z gier, które muszą zostać ukończone wcześniej, np. samouczka, produkt powinien zostać dostarczony natychmiast po zakończeniu.
Komunikat o dostawie
Gdy użytkownik wróci do gry po zakupie produktu jednorazowego poza nią, musisz wyświetlić potwierdzenie, że produkt został przyznany w grze. Wiadomość powinna mieć postać okna dialogowego lub wiadomości w grze. Użytkownicy nie powinni musieć wykonywać żadnych dodatkowych czynności, aby otrzymać produkt.
Oto wymagany format wiadomości:
jasny komunikat, że produkt został odebrany;
Wyraźnie odwołuj się do nazwy produktu i używaj określenia „Punkty Play”, aby użytkownicy mogli odróżnić go od innych otrzymywanych treści.
Nazwa produktu musi też zawierać prawidłowy nominał, jeśli istnieją podobne produkty o różnych nominałach.
Okno, wiadomość lub powiadomienie w grze powinny być widoczne dla użytkownika, dopóki nie kliknie on potwierdzenia, np. Dalej lub OK. Nie powinno być przycisku anulowania, ponieważ ta wiadomość ma tylko informować użytkowników o otrzymanym w grze produkcie. Jeśli nie ma przycisku potwierdzenia, komunikat powinien być widoczny dla użytkowników przez co najmniej 3 sekundy, zanim zniknie, aby użytkownicy wiedzieli, że otrzymali produkt.
Oto przykładowa wiadomość:
„Produkt otrzymany! Udało Ci się wymienić punkty Play na 100 klejnotów. Kontynuuj”.
Użytkownicy powinni zobaczyć animację lub potwierdzenie wizualne pokazujące wzrost salda waluty w grze. Jeśli produkt jest trwałym lub konsumpcyjnym produktem w aplikacji, użytkownicy powinni zostać przekierowani do miejsca, w którym produkt został odblokowany lub jest dostępny w grze.
Wykrywanie elementów otrzymanych poza grą
Jeśli Twoja gra korzysta z Biblioteki płatności w Google Play, wprowadź te zmiany, aby wykrywać produkty kupowane raz, które są otrzymywane poza grą.
W funkcji zwrotnej
[onResume()][onResume]
w grze wywołaj metodę[queryPurchases()][queryPurchases]
, aby pobrać listę elementów i określić, które z nich nie zostały potwierdzone.Jeśli Twoja gra ma serwer, zdecydowanie zalecamy weryfikowanie zakupu na serwerze za pomocą interfejsu API do obsługi subskrypcji i zakupów w aplikacji.
Jeśli są produkty, które zostały kupione, ale nie zostały potwierdzone, potwierdź zakup, używając symbolu
[consumeAsync()][consumeAsync]
w przypadku produktów konsumpcyjnych lub symbolu[acknowledgePurchase()][acknowledgePurchase]
w przypadku produktów niekonsumpcyjnych.Przyznaj uprawnienia do zakupionego produktu w grze.
Wykrywanie elementów otrzymanych w trybie podzielonego ekranu
Jeśli Twoja gra obsługuje tryb wielu okien, użytkownicy mogą wykorzystywać punkty Play i otrzymywać produkt, a jednocześnie korzystać z aplikacji Sklep Play i Twojej gry. Na tym zrzucie ekranu widać przykład:
Aby obsługiwać ten scenariusz za pomocą Biblioteki płatności w Google Play, wykonaj te czynności:
Google Play wywołuje metodę
[onPurchasesUpdated()][onPurchasesUpdated]
, aby powiadomić grę o nowym oczekującym elemencie.Jeśli Twoja gra ma serwer, zdecydowanie zalecamy weryfikowanie zakupu na serwerze za pomocą interfejsu API do obsługi subskrypcji i zakupów w aplikacji.
Potwierdź zakup, używając
consumeAsync()
w przypadku produktów konsumpcyjnych lubacknowledgePurchase()
w przypadku produktów niekonsumpcyjnych.Przyznaj uprawnienia do zakupionego produktu w grze.
Wyświetlanie potwierdzenia dostawy
Gdy użytkownicy wymieniają punkty Play i otrzymują produkt, oczekują, że w grze pojawi się wiadomość lub powiadomienie informujące o tym, że gra prawidłowo otrzymała i przetworzyła produkt. Oto kilka opcji potwierdzenia dostawy:
Wyświetl okno dialogowe w grze.
Przekaż wiadomość do skrzynki wiadomości w grze i wyraźnie poinformuj, że w niej znajduje się nowa wiadomość.
Użyj komunikatu powiadomienia systemu operacyjnego.
Gdy otrzymasz produkt promocyjny, gra może być w dowolnym stanie, w tym może nie być zainstalowana na urządzeniu. Musisz wykrywać produkty promocyjne niezależnie od stanu gry w momencie otrzymania produktu. Istnieją jednak wyjątki, w których nie trzeba od razu powiadamiać użytkownika o otrzymaniu elementu. Na przykład:
Podczas rozgrywki, gdy wyświetlenie wiadomości może rozpraszać użytkownika. W takim przypadku musisz powiadomić użytkownika po zakończeniu działania.
Podczas przerywników filmowych, w których wyświetlanie wiadomości może rozpraszać użytkownika. W takim przypadku musisz powiadomić użytkownika po zakończeniu przerywnika filmowego.
Podczas początkowego samouczka i konfiguracji użytkownika w grze. Zalecamy powiadamianie nowych użytkowników o nagrodzie od razu po otwarciu gry lub podczas wstępnej konfiguracji. Możesz jednak poczekać z powiadomieniem użytkownika, aż dostępna będzie główna sekwencja gry.
Jeśli w aplikacji jest wiele postaci lub kont, do których można zastosować produkt, zalecamy wyświetlenie użytkownikowi prośby o wybranie konta, na które mają trafić produkty promocyjne.
Decydując, kiedy i w jaki sposób powiadomić użytkowników o produktach promocyjnych, weź pod uwagę ich potrzeby. Jeśli użytkownik nie otrzyma od razu powiadomienia, może się zdezorientować, przestać grać, skontaktować się z zespołem pomocy lub złożyć skargę w mediach społecznościowych.
Aktualizacje dotyczące konkretnych silników gier
Oto kilka kwestii, które warto wziąć pod uwagę w przypadku konkretnych silników gier:
Jeśli Twoja gra została utworzona w Unity, sprawdź, czy używana przez Ciebie implementacja płatności w aplikacji obsługuje już promocje w programie Play Points.
Jeśli gra jest napisana w Cocos2d-x lub Unreal Engine (C/C++), najprawdopodobniej musisz napisać kod JNI, który wywołuje interfejsy API Javy z kodu C/C++.
Sprawdzone metody po stronie serwera
Ta sekcja zawiera sprawdzone metody po stronie serwera, które można stosować w przypadku promocji w programie Play Points:
Jeśli wywołujesz funkcję
Purchases.products: get
na serwerze, sprawdź, czy musisz osobno obsługiwać elementy wymiany nagród w Google Play i inne produkty kupowane raz na podstawie wartościproductId
.Jeśli na serwerze używasz
Onetimeproducts: list
sprawdź, czy musisz oddzielić elementy wymiany nagród w Google Play od innych produktów kupowanych raz za pomocą wartościproductId
.Zapoznaj się z tymi sprawdzonymi metodami, aby sprawdzić, czy musisz wprowadzić dodatkowe zmiany:
- Odwołanie:
- Wdrożenie weryfikacji podpisu po stronie serwera.
- Upewnij się, że wartości
purchaseToken
iorderId
są unikalne i nie były wcześniej używane.
Rozwiązywanie problemów
Ta sekcja zawiera rekomendacje dotyczące scenariuszy, które mogą prowadzić do zapytań klientów.
Wiele kont użytkowników
Jeśli użytkownik ma na urządzeniu kilka kont Google i wykorzysta punkty Play na niewłaściwym koncie, Google nie może przenieść elementów na inne konta. Podobnie aplikacja nie może przenieść elementu, wywołując metodę getPurchases()
. W takiej sytuacji możesz ręcznie udostępnić użytkownikowi produkty w aplikacji za pomocą działu obsługi klienta.
Opóźnione lub brakujące produkty
Jeśli gracze doświadczają opóźnień lub braku nagród, zapoznaj się z przewodnikiem rozwiązywania problemów z zakupami w aplikacji w dokumentacji pomocy Google Play.