W tym artykule opisujemy, jak wykrywać i dostarczać produkty w aplikacji w grze po tym, jak gracze kupią je za punkty Play w aplikacji Google Play.
Gdy użytkownicy wymienią punkty Play na produkt w aplikacji w aplikacji Google Play, powinni natychmiast otrzymać te produkty w grze. Poniżej pokazujemy, jak użytkownik kupuje produkty za punkty Play.
1. Kliknij Play Points. | 1. Aby wyświetlić elementy, kliknij kartę Użyj. | 2. Wybierz produkt i kliknij Wykorzystaj punkty, aby dokończyć zakup. | 3. Odbierz produkt. |
![]() |
![]() |
![]() |
![]() |
W tym przykładzie gra nie jest uruchomiona w momencie 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 elementów w aplikacji spoza sklepu w grze.
Zanim rozpoczniesz
Zanim wykryjesz i dostarczysz produkt w aplikacji, musisz utworzyć produkt i promocje w Play Points.
Wymagania dotyczące dostawy
Jeśli dostarczasz produkty w aplikacji w ramach promocji Play Points, musisz spełniać wymagania podane w tej sekcji.
Czas dostawy
Gdy gracz wymieni punkty Play na produkt w aplikacji, musisz natychmiast dostarczyć produkt bez konieczności ponownego uruchamiania gry. W przypadku, gdy treści w grze muszą zostać ukończone wcześniej, np. ukończenie samouczka, produkt powinien zostać dostarczony natychmiast po tym.
Komunikat o dostawie
Gdy użytkownik wróci do gry po zakupie produktu w aplikacji poza nią, musisz wyświetlić w grze potwierdzenie, że produkt został przyznany. W tym celu możesz użyć wyskakującego okienka lub wiadomości w grze. Użytkownicy nie powinni być zmuszeni do wykonania dodatkowych czynności w celu otrzymania produktu.
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.
Wyskakujące okienko, wiadomość lub powiadomienie w grze powinno 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 jednorazowym 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ź poniższe zmiany, aby wykrywać produkty w aplikacji otrzymane poza grą.
W
onResume()
wywołaniu zwrotnymqueryPurchases()
w grze wywołaj metodę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
consumeAsync()
w przypadku produktów konsumpcyjnych lubacknowledgePurchase()
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()
, 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 gra wyświetli wiadomość w grze lub użyje powiadomienia, aby poinformować ich, że gra prawidłowo otrzymała i przetworzyła produkt. Oto kilka opcji potwierdzenia dostawy:
wyświetlać wyskakujące okienko 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 przypadku 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 zbudowana za pomocą Cocos2d-x lub Unreal Engine (C/C++), najprawdopodobniej musisz napisać kod JNI, który wywołuje interfejsy API Java 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 w aplikacji na podstawie wartościproductId
.Jeśli na serwerze używasz
Inappproducts: list
sprawdź, czy musisz oddzielić elementy wymiany nagród w Google Play od innych produktów w aplikacji 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 rozważ ręczne udostępnienie użytkownikowi produktów 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.