Gracze grają na wielu urządzeniach i instalują grę na tym samym urządzeniu kilka razy. W rezultacie zawsze muszą zaczynać grę od ostatniego stanu postępu. Aby to osiągnąć, musisz zaimplementować w grze rozwiązanie do zapisywania w chmurze.
Cloud Save
Zapisz stan gry gracza w chmurze. Pobierz go, gdy gracz uruchomi grę. Usługa Zapisane gry w Usługach gier Play zapewnia taką funkcję, ale możesz użyć dowolnego rozwiązania do zapisywania w chmurze.
Rozwiązywanie konfliktów w przypadku wielu stanów gry
Jeśli użytkownik ma kilka kont lub występuje konflikt między zapisanymi danymi z gry na urządzeniu a danymi w chmurze, musisz mieć zasady rozwiązywania konfliktów. Zwykle to użytkownik decyduje, jak rozwiązać te konflikty. Twoje zasady rozwiązywania konfliktów powinny obejmować te kluczowe scenariusze:
- Wiele kont na użytkownika: obsługuj sytuacje, w których jeden użytkownik korzysta z aplikacji na różnych kontach.
- Konflikty stanów: rozwiązuj rozbieżności między lokalnym stanem gry a stanem zapisanym w chmurze.
Konto gościa
Gdy gracz korzystający z konta gościa zaloguje się i połączy z identyfikatorem gracza, który ma już zapisane w chmurze postępy, Twoja gra może przypadkowo nadpisać ważne dane historyczne. Jeśli gracz ma lokalne konto gościa z dużymi postępami i kopię zapasową w chmurze ostatniego używanego konta w grze połączonego z usługami Gier Play, Twoja gra nie powinna automatycznie nadpisywać danych lokalnych. Zamiast tego poproś gracza o wybranie jednego z tych 2 stanów.
W związku z tym masz 2 możliwości:
- Opcja 1: zachowaj obecny proces, w którym przywracane są postępy w chmurze. Wyświetli się ostrzeżenie, że wykryto istniejące konto i zostaną użyte jego postępy.
- Opcja 2 (zalecana): wyświetl komunikat informujący gracza, że wykryto istniejące konto z postępami. Połączenie konta gościa spowoduje zastąpienie postępów w chmurze bieżącymi postępami gościa. Komunikat wyświetlany zarówno w przypadku postępów lokalnych, jak i zapisanych w chmurze, aby gracz mógł podjąć świadomą decyzję.
Zapisane gry
Usługa Zapisane gry umożliwia wygodne zapisywanie postępów graczy w grze na serwerach Google. Twoja gra może pobierać dane z gry, aby umożliwić powracającym graczom kontynuowanie gry od ostatniego zapisanego punktu na dowolnym urządzeniu.
Ta usługa oferuje kilka kluczowych zalet zarówno dla graczy, jak i deweloperów:
- Synchronizowanie danych z gry na wielu urządzeniach. Gracz może na przykład rozpocząć grę na telefonie z Androidem i płynnie kontynuować ją na tablecie bez utraty postępów.
- Zapewnianie trwałości danych. Gracze mogą wznowić grę nawet wtedy, gdy zgubią urządzenie, zostanie ono zniszczone lub wymienione na nowszy model.
Aby dowiedzieć się, jak zaimplementować zapisane gry na swojej platformie, zapoznaj się z sekcją Implementacje klienta.
Podstawy zapisanych gier
Zapisana gra składa się z 2 części:
- Nieustrukturyzowany binarny obiekt blob – te dane mogą reprezentować dowolne informacje, a Twoja gra jest odpowiedzialna za ich analizowanie i zapisywanie.
- Ustrukturyzowane metadane – dodatkowe właściwości powiązane z danymi binarnymi, które umożliwiają Usługom gier Google Play wizualne prezentowanie zapisanych gier w domyślnym interfejsie użytkownika listy zapisanych gier oraz wyświetlanie przydatnych informacji w aplikacji Gry Google Play (np. sygnatury czasowej ostatniej aktualizacji).
Gra może zapisywać dowolną liczbę Zapisanych gier dla 1 gracza, z zastrzeżeniem ograniczeń rozmiaru pliku, więc nie ma wymogu ograniczania graczy do jednego pliku zapisu.
Rozwiązywanie konfliktów
Podczas korzystania z usługi Zapisane gry w Twojej grze mogą wystąpić konflikty podczas próby zapisania danych. Te konflikty mogą wystąpić, gdy użytkownik uruchamia więcej niż 1 instancję aplikacji na różnych urządzeniach lub komputerach. Twoja aplikacja musi być w stanie rozwiązywać te konflikty w sposób zapewniający najlepszą wygodę użytkowników.
Zwykle konflikty danych występują, gdy instancja aplikacji nie może połączyć się z usługą Zapisane gry podczas próby wczytania lub zapisania danych. Ogólnie rzecz biorąc, najlepszym sposobem na uniknięcie konfliktów danych jest zawsze wczytywanie najnowszych danych z usługi podczas uruchamiania lub wznawiania aplikacji oraz zapisywanie danych w usłudze z rozsądną częstotliwością. Nie zawsze jednak można uniknąć konfliktów danych. Twoja aplikacja powinna dołożyć wszelkich starań, aby rozwiązywać konflikty w taki sposób, aby dane użytkowników były zachowane i aby zapewnić im dobrą obsługę.
Zdjęcia okładki
Usługa Zapisane gry oprócz funkcji trwałości danych zapewnia też wizualną wygodę użytkowników. Zdecydowanie zalecamy powiązanie reprezentatywnych obrazów z odpowiednimi plikami zapisu. Jeśli w grze używasz domyślnego interfejsu użytkownika listy zapisanych gier udostępnianego przez pakiet SDK Gier Play, interfejs będzie wyświetlać te zdjęcia okładki. Zdjęcia okładki mogą też pojawiać się w aplikacji Gry Google Play.
Opisy
Możesz podać krótki opis tekstowy zawartości konkretnej zapisanej gry. Ten opis jest wyświetlany bezpośrednio graczom i powinien podsumowywać stan, który reprezentuje zapisana gra, np. „Walka z goblinami w Mrocznym Lesie”.
Limit rozmiaru
Nie pobieramy opłat za zapisane dane z gry w Google Cloud, ale każdy plik zapisanej gry może mieć maksymalnie 3 MB.
Obsługa offline
Twoja gra może nadal odczytywać i zapisywać dane w zapisanej grze, gdy urządzenie gracza jest offline, ale nie będzie mogła synchronizować się z usługami Gier Google Play, dopóki nie zostanie nawiązane połączenie sieciowe. Po ponownym połączeniu Usługi gier Google Play asynchronicznie aktualizują zapisane dane z gry na serwerach Google.
Ograniczenia
Usługi gier Google Play wymuszają limity rozmiaru danych binarnych i grafik okładki odpowiednio do 3 MB i 800 KB.
Metadane zapisanej gry
Ustrukturyzowane metadane zapisanej gry zawierają te właściwości:
| Właściwość | Opis |
|---|---|
| Identyfikator | Unikalny ciąg znaków wygenerowany przez Usługi gier Google Play dla tej zapisanej gry. Używaj tego identyfikatora, aby odwoływać się do zapisanej gry w klientach gry. |
| Nazwa | Krótka nazwa zapisanej gry podana przez dewelopera, np. "Miejsce zapisu 1" lub "NazwaGracza_Zapis1". Nie jest ona widoczna dla graczy. |
| Opis | Opis zapisanej gry podany przez dewelopera. |
| Ostatnia modyfikacja | Sygnatura czasowa w milisekundach wygenerowana przez Usługi gier Google Play określająca, kiedy zapisana gra została ostatnio zaktualizowana. |
| Czas gry | Czas (w milisekundach) podany przez dewelopera, który ma być wyświetlany w zapisanej grze. Ta wartość powinna reprezentować czas, przez jaki gracz grał w odpowiednią zapisaną grę. Na przykład wartość czasu gry wynosząca 3600000 będzie wyświetlana przez Usługi gier Google Play jako „1 godz.”. |
| Grafika okładki | Jest to opcjonalna właściwość podana przez dewelopera, która zawiera informacje o grafice okładki. |
Implementacje klienta
Aby dowiedzieć się, jak zaimplementować zapisaną grę na swojej platformie, zapoznaj się z tymi materiałami: