Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy dla początkujących
Treść artykułu
"Nieznany problem z usługami Google Play" dla GM:S 1.4
autor: Threef (4.03.16)
Prawie wszystkie zewnętrzne API w GameMaker: Studio 1.4 zostały przeniesione do zewnętrznych rozszerzeń (extensions). Ma tu duże plusy, a największym jakim się chwali YoYoGames jest to że wcześniej zmiany w zewnętrznym API wymagały zmian w samym GM:S a to skutkowało nowym update. Teraz YoYoGames może wypuścić sam update dla rozszerzenia bez zmuszania nas do pobierania najnowszej wersji całego programu.

W ten sposób zmieniły się między innymi API Padów MOGA, Facebooka, Analityki, no i Play Services o których jest ten drobny artykuł. Gdy będziemy próbowali aktywować w Global Game Settings któreś z zewnętrznych API zostaniemy przeniesieni do Marketplace gdzie będziemy mogli pobrać i dodać do naszego projektu odpowiednie rozszerzenie.

Skoro jesteśmy przy pobieraniu wspomnę ze gdy ktoś po zaktualizowaniu do wersji 1.4 ma problem ze skompilowaniem apk to musi pobrać Android Support Library i Android Support Repository. Oba poprzez Android SDK Manager z zakładki Tools.

Ale przejdźmy już do Google Play Games Services czyli usług udostępniających nam łatwe osiągnięcia albo tabele wyników dla Androida. Nie jest to instrukcja jak zaimplementować te usługi do waszych gier. Wszystko jest dobrze wytłumaczone na tech blogu YoYoGames, a w GameMakerze macie dołączone demo pokazujące jak skonfigurować usługi. Ja tutaj krótko skupię się na problemie jaki męczył mnie od ponad 4 miesięcy czyli:
cytat:
Nieznany problem z usługami Google Play.

Błąd który nie ma najmniejszego sensu. Nie blokuje gry. Nie daje komunikatu gdzie jest błąd. Wyniki w Google nigdzie nie prowadzą. Błąd który pojawia się po zalogowaniu i powoduje jedynie to że Play Services nie działa w grze.
Spędziłem sporo czasu sprawdzając wcześniejsze wersje GameMakera lub pobierając różne SDK. Dopiero przedwczoraj puściły mi nerwy i zacząłem szukać po forum GameMaker Community najróżniejszych tematów o problemach z Androidem i w końcu znalazłem rozwiązanie. Okazuje się że to wina YoYoGames, a błąd jest banalny i prawdopodobnie zostanie poprawiony za jakiś czas. Miejmy nadzieję że ten artykuł nie będzie potrzebny zbyt wielu osobom.

Błąd występuje w GooglePlayServicesExtension v2.2.1 i dotyczy Google Cloud Saving. Zupełnie innej usługi która jak się domyślacie służy do zapisywania stanów gry w chmurze. Szkoda tylko że nie jest to udokumentowana funkcjonalność i trzeba będzie się dokopywać do niej samemu. Dokumentacja dalej twierdzi że dostępne są tylko usługi chmury Amazon WhisperSync.
Tak więc nasz błąd jest wywoływany przez Google Play Games które poprzez Google Play Services stara się wywołać nie skonfigurowany Google Cloud Saving. Chodzi o to że nasza gra pyta o Cloud Saving, ale my nie umożliwiliśmy go aplikacji poprzez konsolę developerską. Jaki byłby sens zaznaczać ten ptaszek skoro nie zamierzamy korzystać z zapisów w chmurze? Stąd właśnie jest problem że pomimo iż mamy odznaczony podobny ptaszek w Global Game Settings naszego projektu to nasza gra sama pyta o używanie Cloud Saving!

Więc jednym z rozwiązań tego problemu jest po prostu włączenie zapisu do chmury w Google Play Developer Console. Ja nie testowałem tego rozwiązania, a od razu przeszedłem do drugiego które poprawia ten błąd. Aby to zrobić musimy edytować pliki rozszerzenia. Dokładnie ten jeden plik.
cytat:
ŚCIEŻKA DO PROJEKTU\extensions\GooglePlayServicesExtension\AndroidSource\Java\GooglePlayServicesExtension.java

Przechodzimy do linijki 97 gdzie znajdujemy ten kawałek kodu:
kod:
if( bCloudEnable )
//{
//These are needed if you are using the cloud saving functionality, if you have them in & do not have save games enabled in your google developer console for your game, you won't be able to log
// in to google play services...
Log.i("yoyo","Adding Google Drive API for cloud saving");
builder.addApi(Drive.API);
builder.addScope(Drive.SCOPE_APPFOLDER);
//}


Jak widać klamry zostały wykomentowane z jakiegoś powodu przez YoYoGames. Przez to warunek nie ma znaczenia i kod wykona się niezależnie od niego. Sam komentarz wewnątrz klamr opisuje wszystko bardzo dobrze. Gdyby kogoś interesowało to warunek sprawdza czy w Global Game Settings został zaznaczony ptaszek od Cloud Saving. Jeżeli warunek nie jest brany pod uwagę to i ptaszek nie ma znaczenia.
Powoduje to że nie ważne czy chcemy czy nie, do naszej gry zostaje dopisane API Google Drive. To skutkuje znowu tym że nasza gra nie może się zalogować do Play Services bo nie zgodziliśmy się aby korzystała z tego API.

Musimy odkomentować klamry i sprawić aby warunek działał. Zapisujemy plik. Czyścimy Cache w projekcie i kompilujemy go ponownie. Teraz wszystko powinno działać. Nasza gra będzie się nareszcie logować do Google Games i wysyłać punkty do tabel wyników, a nasi gracze będą mogli zdobywać osiągnięcia!
głosów: 1 | ocena: 9.99 oceń zasób | dodał: Threef
Komentarze
stron: 1

1


av

Uzjel (17:46, 4.03.2016)

Zamiast tego, wystarczyło zezwolić w konsoli Google API na Drive API lub wyłączyć Cloud Saving w konsoli programisty

av

I am Lord (18:43, 4.03.2016)

A ktoś też miał problem, dzisiaj pisał. Im am vader?

av

Threef (19:08, 4.03.2016)

Uzjel: Właśnie na odwrót. Trzeba włączyć Drive API w konsoli.

av

Uzjel (0:50, 5.03.2016)

Tak napisałem.

av

I am vader (15:29, 7.03.2016)

Tak, ale moj problem byl z kompilacją na androida, no more, no less. To moze byc problem z moją konfiguracją, nie kompilowałem od czasu przenosin na nowy dysk, chociaz GM wykrywa wszystko za poprawnie skonfigurowane.

av

Threef (16:19, 7.03.2016)

@I am vader: Może długość ścieżki? Nie dość że trzeba mieć krótką ścieżkę do SDK Androida to i trzeba podać nową ścieżkę w konfiguracji GM dla jego cache. Bo GM wrzuca pliki do tamtego folderu i stamtąd próbuje kompilować.

av

Uzjel (1:22, 8.03.2016)

Fakt, przeskakiwanie z wersji stabilnych jest bardzo trudne czasami :/

av

gnysek (20:06, 9.03.2016)

I najlepiej nie mieć polskich liter i spacji w żadnej ze ścieżek.

av

I am vader (23:19, 9.03.2016)

@Threef - Ścieżki mam takie same i równie krótkie jak miałem oryginalnie, po prostu na nowym dysku. Powinno działać..

av

gnysek (11:09, 29.03.2016)

Teraz to jeszcze trzeba podać dla jakiej wersji gra ma się kompilować od kiedy mają ten nowy kompiler. Jak podasz inne niż masz pobrane, zapomnij o tym, że się uda.

stron: 1

1



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
1 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 1, userów: 0, ukrytych: 0
Użytkownicy na czacie discord
Shoutbox
gnysek (0:17, 24.10.17):
Jedna z rzeczy do zmiany
gnysek (0:17, 24.10.17):
Uploader niestety głupio zapisywał daty. Jako data modyfikacji pliku...
kriso99 (22:07, 23.10.17):
witam ponownie gmclany, swietnie ze stronka jest juz z powrotem
Threef (20:40, 23.10.17):
Hasztag znów
Uzjel (20:38, 23.10.17):
Dobra robota Szkoda, że potraciliśmy daty uploadów.
gnysek (17:00, 23.10.17):
Z pocztą powalczę potem, mailtester na wiecej testów dziennie nie pozwala
gnysek (16:19, 23.10.17):
Ok, uploader się pokazuje i działa.
gnysek (15:42, 23.10.17):
możliwe z pocztą też jest problem, trafia w spam
Uzjel (14:29, 23.10.17):
Uploader nie działa?
gnysek (11:19, 23.10.17):
Ok, jesteśmy na nowym serwerze
I am Lord (17:10, 18.10.17):
a nie sorry nie jest
I am Lord (17:10, 18.10.17):
gms 1.4 w uploaderze moim jest
I am Lord (17:10, 18.10.17):
No ja
Sutikku (14:54, 18.10.17):
właśnie nie wiem czy gms 1.4 czy 2
PsichiX (12:59, 18.10.17):
a pamietasz do ktorej wersji GMa to bylo?
Sutikku (23:43, 17.10.17):
coś mi się pokićkało czy jakiś czas temu ktoś udostępniał tutaj przykład networkingu z TCP i UDP i chatem? Bo nie mogę znaleźć, a dałbym sobie rękę uciąć, że tak było
I am Lord (12:06, 15.10.17):
A dobra widzę teraz że ten drugi router w trybie acces point ma zablokowane opcje konfiguracji firewalla, czyli działa tylko ten pierwszego routera
I am Lord (12:04, 15.10.17):
Podłączyłem ze sobą 2 routery po kablu. Oba nadają Wifi pierwszy router funkcjonuje zwyczajnie jako router a ten drugi jako acces point i teraz pytanie czy mam 2 firewalle?
PsichiX (16:48, 11.10.17):
poprawilem
gnysek (14:50, 11.10.17):
gobarbra.com/hi...2e9735f81eacc5e dzika wixa !
gnysek (9:34, 11.10.17):
tam jest jakiś błąd javascriptowy, chyba spowodowany google analytics - po przeniesieniu serwera sie tym zajmę (czyli po weekendzie).
Ignatus (22:04, 10.10.17):
U mnie często też tak jest-i nie ładuje się w ogóle.Za którymś podejściem dopiero
PatrykPlayingPOLSKA (21:40, 10.10.17):
Czy tylko u mnie otwieranie poprzednich stron tematów trwa w nieskończoność.Nie wiem czym może być to spowodowane,ale wątpię że to przez internet,sprawdzałem na wielu urządzeniach i wszędzie się otwiera naprawdę długo.
I am Lord (17:39, 10.10.17):
DS mają swoje funkcje do zapisywania
Adriann (17:05, 10.10.17):
Nie mogę otworzyć poprzedniej strony na forum
Uzjel (14:55, 10.10.17):
Niestety, ale to jedna z tych rzeczy "o których trzeba było pomyśleć wcześniej"
Ignatus (13:40, 10.10.17):
Kurcze klapa bo nie zapisuje w ten sposob DS i wywala błedy a ze względu na dynamiczne oświetlenie nie ma w ogóle opcji żeby to ręcznie ogarnąć..Znacie jakiś dobry sytem save, nawet płatny?
Ignatus (11:21, 10.10.17):
Potrzebuje prosty save checkpoint przed spotkaniem z bossem.Powinienem wybrać game_save() ,game_save_buffer() czy coś zupełnie innego?? Zapisywanie 1000zmiennych w autorskim systemie nie wchodzi w grę bo to przerost formy.Czym się różnią te systemy?
gnysek (10:07, 10.10.17):
trzeba po prostu dać w grze opcję przekonfigurowania klawiszy na padzie
Threef (7:46, 10.10.17):
Czyli GM obsługuje to tak samo jak kierownice, drążki, joysticki i tanie pady
Threef (7:46, 10.10.17):
To jest DirectInput. Problem to tylko koniguracja klawiszy bo każda może mieć inne
PsichiX (22:38, 9.10.17):
ta mata uzywa standardowego protokolu HID z layoutem dla gamepadów - obsłużysz je tak samo, jak buttony byle pada
Ignatus (22:33, 9.10.17):
Threef: Minotour był naprawdę zabawny;p Jak ogarnąłeś matę w GM? Chyba że to nie GM..
ANtY (10:04, 9.10.17):
wybuch jak wybuch, szczegolnie jak Ignatus napisał na statycznym ssie. Ale trawa i ogólnie enviro cieniutko wygląda
Ignatus (8:13, 9.10.17):
i gdzie ta wersja do grania w zapowiedziach?
doctor (23:11, 8.10.17):
Możecie też "chore game makery znalezione przez ferviego"
doctor (23:00, 8.10.17):
Zróbcie subforum dla Enigmy, a nie
PsichiX (22:50, 7.10.17):
bedzie dzis wrzucona wersja do grania w zapowiedzi
Ignatus (22:46, 7.10.17):
ok,ale ponawiam poprzednią wypowiedź- particle można ocenić tylko w ruchu
PsichiX (20:22, 7.10.17):
nowe wybuchy media.discordap...-explosions.png
Chell (16:37, 7.10.17):
jeden z konkursow PGG nie działał to na szybko zrobiłem w gmie w 15 minut zamiennik, człowiek warga w nim udział, mój największy devowy sukces
Gibki Kaktus (22:58, 5.10.17):
Za rok
ANtY (22:15, 5.10.17):
gibki bedziesz na PGA?
Gibki Kaktus (16:33, 5.10.17):
Szkoda, że xp nie ma, jakoś najbardziej jego lubię
I am Lord (16:28, 5.10.17):
Kupiłem żeby sobie powspominać stare czasy przed game makerowe
Gibki Kaktus (16:10, 5.10.17):
O to jednak nawet funta nie wydam na to xD
gnysek (15:36, 5.10.17):
O, nowa wersja GMS2 wyszła.
gnysek (10:21, 5.10.17):
O, jednak grafiki z RTP maja licencję na użytek jedynie w RPG Makerze. Trochę sprawa
Gibki Kaktus (1:22, 5.10.17):
Aż chyba się wykosztuję i dam te niecałe 6 funtów, żeby mieć powyżej średniej xD
Ankieta
» Jakie kursy najchętniej widziałbyś na stronie ?
GM Studio
GM Studio 2
Godot
Construct

GMCLAN to serwis o programie Game Maker i nie tylko.
Copyright © 2002-2017. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus, © 2017 {=|=} fable_inside();

[ 06:05:59 24.10.2017 ] [ Czas generowania strony: 0.0187 sekund ] [ Liczba zapytań MySQL: 13 ]