Pierwsze kroki z wtyczką Gier Google Play do Unity

Z tego artykułu dowiesz się, jak skonfigurować projekt Unity, aby Wtyczka Gry Google Play do Unity Zadania m.in.: skonfigurowanie projektu, wybór platformy społecznościowej logowanie się odtwarzacza.

Zanim zaczniesz

Instalacja wtyczki

  1. Pobierz wtyczkę, korzystając z jednej z tych opcji:

  2. Znajdź plik unitypackage w katalogu current-build. Ten plik to wtyczka. Powinien wyglądać np. tak:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    
  3. Otwórz projekt gry w Unity.

  4. Zaimportuj plik unitypackage do zasobów projektu, klikając Zasoby > Importuj pakiet > Pozycja menu Pakiet niestandardowy.

  5. Upewnij się, że obecna platforma kompilacji to Android.

    1. W menu głównym kliknij Plik > Ustawienia kompilacji...

    2. Wybierz Android i kliknij Przełącz platformę.

    3. W menu Okno > powinna się pojawić nowa pozycja menu Gry Google Play. Jeśli go nie ma, odśwież je, klikając kolejno Zasoby > Odśwież, a następnie spróbuj ponownie ustawić platformę kompilacji.

Pobierz materiały na temat Androida z Konsoli Play

Każde utworzone osiągnięcie, tabela wyników i wydarzenie Konsola Play zawiera zasób Androida, z którego możesz korzystać skonfigurować projekt w Unity.

  1. Pobierz zasoby Androida dotyczące Twojej gry.

    1. W Konsoli Play otwórz projekt Usług gier Play dla: Twojej gry.

    2. Kliknij kartę Osiągnięcia, a potem kliknij Pobierz zasoby.

    3. W oknie Eksportowanie zasobów kliknij kartę Android.

    4. Zaznacz i skopiuj treść XML.

Konfigurowanie projektu w Unity

  1. Dodaj zasoby Androida do projektu Unity.

    1. W Unity kliknij ** Window > (Okno >) Gry Google Play > Konfiguracja... > Konfiguracja Androida **.

    2. W oknach konfiguracji wykonaj te czynności:

    3. Katalog, w którym mają być zapisywane stałe: folder, w którym zapisywane są stałe.

    4. Nazwa klasy stałej: nazwa klasy C# do utworzenia wraz z przestrzenią nazw.

    5. Definicja zasobów: w tym miejscu wklej dane zasobów Androida z Konsoli Play.

    6. Identyfikator klienta internetowego: identyfikator klienta powiązanej aplikacji internetowej. To jest tylko wymagane, jeśli masz backend internetowy dla Twojej gry i potrzebujesz kodu uwierzytelniania serwera, aby uzyskać token dostępu serwera backendu lub jeśli potrzebujesz tokena identyfikatora, aby odtwarzacz mógł skonfigurować wywołaniami interfejsu API niezwiązanych z grą.

    7. Kliknij Konfiguruj. Spowoduje to skonfigurowanie w grze identyfikatora klienta i generuje klasę C# zawierającą stałe dla każdego systemu Android. i zasobami Google Cloud.

Konfiguracja Androida

Skonfiguruj ścieżkę do instalacji pakietu Android SDK w Unity. Lokalizacja menu ustawień w sekcji Narzędzia zewnętrzne.

Aby skonfigurować grę na Unity, tak aby działała z Grami Google Play na Androida, najpierw otwórz Menedżera Android SDK i sprawdź, czy masz pobrane przesyłek. W zależności od tego, czy używasz Menedżera pakietów SDK z Android Studio, lub w osobnym menedżerze pakietów SDK nazwy komponentów mogą być inne. – Usługi Google Play – Biblioteka pomocy Androida – Lokalne repozytorium Maven na potrzeby bibliotek pomocy (znane też jako Obsługa Androida) repozytorium) – Repozytorium Google – Android 6.0 (API 23) (nie dotyczy to minimalnej wersji pakietu SDK).

Następnie skonfiguruj nazwę pakietu gry. W tym celu kliknij kolejno Plik > Kompilacja Ustawienia, wybierz platformę Androida i kliknij Ustawienia odtwarzacza, pokaż okno ustawień odtwarzacza Unity. Znajdź w nim link Pakiet Identyfikator w sekcji Inne ustawienia. Wpisz tam nazwę pakietu (na przykład com.example.moja.super.gra).

Aby zalogować się w usługach gier Play, musisz podpisać plik APK. upewnij się, że podpisywasz go prawidłowy certyfikat, czyli ten, który odpowiada certyfikatowi SHA1, odcisk cyfrowy wpisany w Konsoli programisty podczas konfiguracji.

Następnie kliknij pozycję menu Okno |Gry Google Play|Konfiguracja – konfiguracja Androida. Pojawi się ekran konfiguracji Androida.

Wpisz nazwę klasy stałych. Jest to nazwa w pełni kwalifikowanych zajęć który zostanie zaktualizowany (lub utworzony) zawierający identyfikatory zasobów gry. Format nazwy to <namespace>.<classname>. Przykład: AwesomeGame.GPGSIds

Wklej dane definicji zasobu. To są dane XML z Google Play Konsola programisty, która zawiera identyfikatory zasobów oraz identyfikator aplikacji na Androida.

Te dane znajdziesz w Konsoli programisty Google Play, klikając „Pobierz zasobów” na dowolnej stronie zasobów (np. Osiągnięcia lub Tabele wyników), i kliknij Android.

Po wklejeniu danych w obszarze tekstowym kliknij przycisk Konfiguracja.

Uwaga: jeśli z grą używasz aplikacji internetowej lub serwera backendu, możesz połączyć aplikację internetową z grą, by umożliwić graczowi pobieranie token identyfikatora lub adres e-mail. Aby to zrobić, połącz aplikację internetową z w Konsoli programisty Google Play i wpisz identyfikator klienta aplikacji internetowej do okna konfiguracji.

Dodatkowe instrukcje na temat tworzenia aplikacji na Androida w systemie Windows

Jeśli korzystasz z systemu Windows, upewnij się, że zainstalowana jest instalacja pakietu SDK Java które mają dostęp Unity. Aby to zrobić:

  1. Ustaw zmienną środowiskową JAVA_HOME na ścieżkę instalacji pakietu Java SDK (na przykład C:\Program Files\Java\jdk1.7.0_45).
  2. Dodaj folder bin pakietu SDK Java do zmiennej środowiskowej PATH (na przykład C:\Program Files\Java\jdk1.7.0_45\bin).
  3. Zrestartuj.

Jak edytować zmienne środowiskowe: w systemie Windows 2000/XP/Vista/7 kliknij prawym przyciskiem myszy Mój komputer, a następnie Właściwości i Zaawansowane właściwości systemu. (lub Właściwości systemu i kliknij kartę Zaawansowane), a następnie kliknij Zmienne środowiskowe. W systemie Windows 8 naciśnij klawisz Windows + W i wyszukaj zmiennych środowiskowych. Więcej informacji znajdziesz w dokumentacji. w zależności od wersji systemu Windows.

Uruchamianie projektu

Jeśli pracujesz z wersją Smoketest, będziesz w stanie tworzyć i uruchomić projekt. Zobaczysz próbę logowania automatycznego, po rozpoczęciu testu Smoketest.

Aby skompilować i uruchomić go na Androidzie, kliknij Plik > Ustawienia kompilacji, wybierz platformę Android, a następnie Przełącz na platformę, a następnie kliknij Utwórz i uruchom.

Wybierz platformę społecznościową

Wtyczka Gry Google Play implementuje kod Unity interfejsu społecznościowego, by mieć zgodność z grami, które już korzystają z tego interfejsu przy integracji z innymi platform. Niektóre funkcje są jednak dostępne tylko w Grach Play. oferowane jako rozszerzenia standardowego interfejsu społecznościowego udostępnianego przez Unity.

Dostęp do standardowych wywołań interfejsu API można uzyskać za pomocą obiektu social.Active, które jest odwołaniem do interfejsu IsocialPlatform. Niestandardowy Dostęp do rozszerzeń Gier Google Play można uzyskać, przesyłając z pola Social.Active do klasy PlayGamesPlatform, gdzie dodatkowe metody są i dostępności informacji.

Użyj wtyczki bez zastępowania domyślnej platformy społecznościowej

Gdy zadzwonisz pod numer PlayGamesPlatform.Activate, Gry Google Play staną się domyślną implementacją platformy społecznościowej, co oznacza, że statyczne wywołania metod w tych krajach: Social i Social.Active, zostaną przeprowadzone przez Gry Google Play wtyczki. Jest to pożądane działanie w większości gier korzystających z tej wtyczki.

Jeśli jednak z jakiegoś powodu chcesz zachować domyślną implementację (np. do przesyłania osiągnięć i tabel wyników innej platformy społecznościowej), możesz użyć wtyczki Gry Google Play bez zastępujące domyślny. Aby to zrobić:

  1. Nie dzwoń do: PlayGamesPlatform.Activate
  2. Jeśli Xyz to nazwa metody, którą chcesz wywołać w klasie Social, wykonaj nie wywołaj Social.Xyz. Zamiast tego zadzwoń pod numer PlayGamesPlatform.Instance.Xyz
  3. Nie używaj zasady Social.Active podczas interakcji z Grami Google Play. Zamiast tego: użyj funkcji PlayGamesPlatform.Instance.

Dzięki temu wyniki i osiągnięcia możesz przesyłać jednocześnie do dwóch lub inne platformy społecznościowe:

    // Submit achievement to original default social platform
    Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);

    // Submit achievement to Google Play
    PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);

Zweryfikuj usługę logowania

Automatycznie spróbujemy połączyć się z usługami gier Play przez Zaloguj się w usłudze, gdy gra jest uruchomiona. Jeśli zostanie nawiązana, gra wyświetli prośbę o zalogowanie się i będzie gotowa do użycia Wtyczka Gry Google Play do Unity.

Jeśli użytkownik nigdy nie korzystał z Gier Google Play na urządzeniu, automatycznie podejmowane przez jednorazowy ekran konfiguracji w celu utworzenia Gier Play koncie.

W metodzie Start swojego skryptu posłuchaj wyniku automatycznego próby zalogowania się, pobrania stanu uwierzytelnienia i wyłączenia Gier Play. Funkcje usług, gdy użytkownik nie jest zalogowany.

    using GooglePlayGames;

    public void Start() {
      PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
    }

    internal void ProcessAuthentication(SignInStatus status) {
      if (status == SignInStatus.Success) {
        // Continue with Play Games Services
      } else {
        // Disable your integration with Play Games Services or show a login button
        // to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
      }
    }
}

Kod wyniku to wyliczenie, którego możesz użyć do zidentyfikowania przyczyny logowania. niepowodzenie.

Jeśli wolisz korzystać z platformy społecznościowej Unity, możesz użyć ten kod:

  using GooglePlayGames;

  public void Start() {
    PlayGamesPlatform.Activate();
    Social.localUser.Authenticate(ProcessAuthentication);
  }

Nie możesz wykonywać żadnych wywołań interfejsu API Gier Google Play, dopóki nie uzyskasz pomyślnego wyniku zwraca wartość z funkcji Authenticate. Dlatego zalecamy, aby gry wyświetlały ekranu gotowości do czasu wywołania zwrotnego, aby użytkownik nie mógł rozpocząć gry gry do momentu zakończenia uwierzytelniania.

Pobieranie kodów uwierzytelniających serwera

W celu uzyskania dostępu do interfejsów API Google na serwerze WWW backendu w imieniu musisz uzyskać kod uwierzytelniający z aplikacji klienckiej i przekaż go do aplikacji serwera WWW. Kod można następnie wymienić na token dostępu umożliwiający wywoływanie różnych interfejsów API. Aby uzyskać informacje na temat przepływu pracy, patrz Logowanie przez Google w witrynach.

Aby uzyskać kod dostępu po stronie serwera:

  1. Skonfiguruj identyfikator klienta internetowego połączonej z grą Konsola do gier Play.

  2. Wywołaj PlayGamesPlatform.Instance.RequestServerSideAccess, gdy gracz zostanie uwierzytelniono w celu uzyskania kodu dostępu po stronie serwera.

  3. Przekaż ten kod do aplikacji serwera.

  PlayGamesPlatform.Instance.RequestServerSideAccess(
    /* forceRefreshToken= */ false,
    code -> {
      // send code to server
    });

Konfigurowanie i dodawanie funkcji