Wykrywaj i dostarczaj produkty w aplikacji

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.
Zrzut ekranu z informacją „TBD” Zrzut ekranu z informacją „TBD” Zrzut ekranu z informacją „TBD” Zrzut ekranu z informacją „TBD”

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ą.

  1. 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.

  2. 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.

  3. 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 lub acknowledgePurchase() w przypadku produktów niekonsumpcyjnych.

  4. 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:

Zrzut ekranu, na którym podczas gry wyświetla się przycisk Wymień punkty.

Aby obsługiwać ten scenariusz za pomocą Biblioteki płatności w Google Play, wykonaj te czynności:

  1. Google Play wywołuje metodę onPurchasesUpdated(), aby powiadomić grę o nowym oczekującym elemencie.

  2. 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.

  3. Potwierdź zakup, używając consumeAsync() w przypadku produktów konsumpcyjnych lub acknowledgePurchase() w przypadku produktów niekonsumpcyjnych.

  4. 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ści productId.

  • 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ści productId.

  • Zapoznaj się z tymi sprawdzonymi metodami, aby sprawdzić, czy musisz wprowadzić dodatkowe zmiany:

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.