Z tego artykułu dowiesz się, jak wykrywać i dostarczać produkty w aplikacji po tym, jak gracze kupią je za punkty Play w aplikacji Google Play.
Gdy użytkownik wymieni punkty Play na produkt w aplikacji w aplikacji Google Play, powinien on zostać dostarczony natychmiast w grze. Poniżej widać, jak użytkownik kupuje produkty za punkty Play.
1. Kliknij Play Points. | 1. Kliknij kartę Użyj, aby wyświetlić elementy. | 2. Wybierz produkt i kliknij Wykorzystaj punkty, aby sfinalizować zakup. | 3. Odbierz przedmiot. |
W tym przykładzie gra jest wyłączona w trakcie zakupu produktu. Użytkownicy mogą też wymieniać punkty Play na produkty, jeśli gra nie jest zainstalowana na ich urządzeniu. Z tego powodu musisz zaprojektować grę tak, by umożliwiała dostawy produktów w aplikacji spoza sklepu w grze.
Zanim rozpoczniesz
Zanim wykryjesz i dostarczysz produkt w aplikacji, musisz utworzyć go i promocje w programie Play Points.
Wymagania dotyczące dostawy
Jeśli dostarczasz produkty w aplikacji w ramach promocji w programie Play Points, musisz spełniać wymagania opisane w tej sekcji.
Czas dostawy
Gdy gracz wymienia punkty Play na produkt w aplikacji, musisz go dostarczyć natychmiast bez konieczności ponownego uruchamiania gry. Jeśli treść gry musi zostać ukończona, np. ukończyć samouczek, gra musi zostać dostarczona natychmiast.
Wiadomość o dostarczeniu
Gdy użytkownik wróci do gry po zakupie produktu w aplikacji poza grą, musisz wyświetlić potwierdzenie, że produkt został przyznany w grze. Powinna mieć postać wyskakującego okienka lub wiadomości w grze. Użytkownicy nie powinni być zmuszeni do wykonywania żadnych dodatkowych czynności, aby otrzymać produkt.
Oto wymagany format wiadomości:
Czytelny komunikat informujący o tym, że produkt został odebrany.
Aby użytkownicy mogli odróżnić go od innych otrzymanych treści, wyraźnie określ nazwę produktu i odnoś się do terminu „Play Points”.
Jeśli istnieją podobne przedmioty o różnych nominacjach, nazwa produktu musi zawierać jego prawidłową wartość.
Wyskakujące okienko, wiadomość lub powiadomienie w grze powinny być widoczne dla użytkownika, dopóki nie kliknie on potwierdzenia, np. Dalej lub OK. Nie powinien tam być przycisku anulowania, ponieważ ma on jedynie informować użytkowników o przedmiocie, który otrzymali w grze. Jeśli nie ma przycisku potwierdzenia, wiadomość powinna być widoczna dla użytkowników przez co najmniej 3 sekundy, zanim zniknie, aby użytkownicy wiedzieli, że otrzymali produkt.
Oto przykładowa wiadomość:
"Odebrano produkt! Otrzymujesz 100 klejnotów za punkty Play. Kontynuuj”.
Użytkownicy powinni zobaczyć animację lub wizualne potwierdzenie wzrostu salda waluty w grze. Jeśli produkt jest trwały lub zużywany, użytkownik powinien zostać przekierowany w miejsce, w którym został odblokowany lub jest dostępny w grze.
Wykrywanie przedmiotów otrzymanych poza grą
Jeśli Twoja gra korzysta z Biblioteki płatności w Google Play, wprowadź te zmiany, aby wykrywać produkty w aplikacji przesyłane poza grą.
W wywołaniu zwrotnym
onResume()
w grze wywołaj metodęqueryPurchases()
, aby pobrać listę elementów i ustalić, które z nich nie są potwierdzone.Jeśli Twoja gra ma serwer, zdecydowanie zalecamy zweryfikowanie zakupu na serwerze za pomocą interfejsu Subskrypcje i zakupy w aplikacji.
Jeśli masz produkty, które należą do Ciebie, ale nie zostały potwierdzone, potwierdź zakup za pomocą
consumeAsync()
w przypadku produktów zużywalnych lubacknowledgePurchase()
w przypadku produktów niezużywających się.Przyznaj uprawnienia do zakupionego produktu w grze.
Wykrywanie elementów odebranych w trybie podzielonego ekranu
Jeśli Twoja gra obsługuje tryb wielu okien, użytkownicy mogą wykorzystać punkty Play i otrzymać produkt, uruchamiając jednocześnie aplikację Sklep Play i grę. Oto przykład:
Aby im to ułatwić, wykonaj te czynności w Bibliotece płatności w Google Play:
Google Play wywołuje metodę
onPurchasesUpdated()
, aby powiadomić grę o nowym oczekującym elemencie.Jeśli Twoja gra ma serwer, zdecydowanie zalecamy zweryfikowanie zakupu na serwerze za pomocą interfejsu Subskrypcje i zakupy w aplikacji.
Potwierdź zakup w sklepie
consumeAsync()
w przypadku produktów zużywalnych lubacknowledgePurchase()
w przypadku produktów, które się nie zużywają.Przyznaj uprawnienia do zakupionego produktu w grze.
Wyświetlaj potwierdzenie dostarczenia
Gdy użytkownicy wykorzystują punkty Play i otrzymują produkt na wymianę, oczekują, że gra wyświetli wiadomość w grze lub wyświetli powiadomienie z informacją, że gra prawidłowo odebrała i przetworzyła produkt. Oto kilka opcji potwierdzania dostawy:
Pokaż wyskakujące okienko w grze.
Przekazać wiadomość do pola wiadomości w grze i wyraźnie poinformować, że w tym polu znajduje się nowa wiadomość.
Użyj komunikatu z powiadomieniem dotyczącym systemu operacyjnego.
Gra może mieć dowolny stan w momencie otrzymania produktu promocyjnego, w tym niezainstalowana na urządzeniu. Elementy promocyjne musisz wykrywać niezależnie od stanu, w którym gra została odebrana. Istnieją jednak pewne wyjątki, w których dopuszczalne jest niepowiadomienie użytkownika o otrzymaniu produktu od razu. Na przykład:
W trakcie rozgrywki, gdzie wyświetlenie komunikatu może rozpraszać użytkownika. W takim przypadku musisz powiadomić użytkownika o zakończeniu działania.
W przerywnikach, gdzie pokazanie komunikatu może rozpraszać użytkownika. W takim przypadku musisz powiadomić użytkownika po zakończeniu sceny przerywnika.
Podczas początkowego samouczka i konfigurowania elementów gry przez użytkownika Zalecamy powiadamianie o niej nowych użytkowników natychmiast po uruchomieniu gry lub podczas początkowej konfiguracji użytkownika. Możesz jednak poczekać, aż użytkownik otrzyma powiadomienie o głównej sekwencji gry.
Jeśli Twoja aplikacja zawiera wiele znaków lub kont, do których można zastosować produkt, zalecamy wyświetlenie użytkownikowi prośby o wybranie konta, na które mają zostać przypisane elementy promocyjne.
Decydując, kiedy i jak powiadamiać ich o produktach promocyjnych, weź pod uwagę użytkowników. Za każdym razem, gdy użytkownik nie otrzyma powiadomienia od razu, może się pogubić, przestać grać w grę, skontaktować się z zespołem pomocy lub narzekać na nie w mediach społecznościowych.
Aktualizacje konkretnych silników gier
Oto kilka kwestii, które należy wziąć pod uwagę w przypadku konkretnych silników gier:
Jeśli Twoja gra została stworzona na platformie Unity, sprawdź, czy implementacja zakupów w aplikacji, z której korzystasz, obsługuje już promocje w programie Play Points.
Jeśli Twoja gra została stworzona w środowisku Cocos2d-x lub Unreal Engine (C/C++), prawdopodobnie musisz napisać kod JNI, który będzie wywoływać interfejsy API Java z Twojego kodu C/C++.
Sprawdzone metody po stronie serwera
Ta sekcja zawiera sprawdzone metody po stronie serwera dotyczące promocji w programie Play Points:
Jeśli wywołujesz na serwerze
Purchases.products: get
, sprawdź, czy musisz oddzielnie obsługiwać produkty w ramach 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 oddzielać produkty 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:
- Materiały referencyjne:
- Wdrożyć weryfikację podpisu po stronie serwera.
- Zadbaj o to, aby wartości
purchaseToken
iorderId
były niepowtarzalne i nie były wcześniej używane.
Rozwiązywanie problemów
Ta sekcja zawiera rekomendacje dotyczące scenariuszy, które mogą prowadzić do wysyłania zapytań klientów.
Wiele kont użytkowników
Jeśli użytkownik ma na swoim urządzeniu kilka kont Google i wykorzystuje punkty Play
na niewłaściwe konto, Google nie może przenieść produktów na inne konto. Aplikacja nie może też przenieść elementu przez wywołanie metody getPurchases()
. W takim przypadku spróbuj ręcznie udostępnić produkty w aplikacji użytkownikowi, korzystając z obsługi klienta.
Opóźnione lub brakujące elementy
W przypadku opóźnień lub brakujących nagród przeczytaj wskazówki dotyczące rozwiązywania problemów z zakupami w aplikacjiw dokumentacji pomocy Google Play.