Dodatkowe opcje instalacji środowiska Unity

Zamiast pobierać duży plik .zip zawierający wszystkie pliki .unitypackage zarówno dla .NET 3.X, jak i .NET 4.X, możesz pobrać poszczególne pakiety ze strony interfejsy API Google dla Unity.

Na stronie znajdziesz:

  • poszczególne pliki .unitypackage .NET 4.X do zaimportowania jako pakiety zasobów;
  • poszczególne archiwa .tgz do zaimportowania za pomocą menedżera pakietów Unity.

Jest to szczególnie przydatne, gdy aplikacja korzysta z jednej usługi Firebase, ponieważ poszczególne pliki .unitypackage zawierają wszystkie potrzebne zależności, a pliki .tgz są wymienione obok powiązanych plików .tgz, od których zależą.

Ta strona zawiera instrukcje dotyczące menedżera pakietów Unity, dlatego warto zapoznać się z narzędziem z dokumentacji Unity.

Importowanie pakietów Firebase jako zasobów

Podczas importowania usług Firebase z plików .unitypackage pobranych ze strony interfejsy API Google dla Unity, pamiętaj o tych kwestiach:

  • Jeśli w projekcie używasz kilku usług Firebase, musisz pobrać i zaktualizować wszystkie usługi Firebase do tej samej wersji.

  • Nie mieszaj metod importowania w jednym projekcie. Oznacza to, że nie należy importować usług Firebase za pomocą przepływu pakietu zasobów i przepływu menedżera pakietów Unity.

Po pobraniu, aby zaimportować:

  1. W otwartym projekcie Unity przejdź do Assets > Import Package > Custom Package (Zasoby > Importuj pakiet > Własny pakiet).

  2. W oknie Import Unity Package (Importuj pakiet Unity) kliknij Import (Importuj).

Importowanie pakietów Firebase za pomocą menedżera pakietów Unity

Podczas importowania produktów Firebase z plików .tgz pobranych z archiwum interfejsów API Google dla Unity pamiętaj o tych kwestiach:

  • Ta metoda jest dostępna tylko w wersji 2018.3 lub nowszej.

  • Jeśli w projekcie używasz kilku usług Firebase, musisz pobrać i zaktualizować wszystkie usługi Firebase do tej samej wersji.

  • Nie mieszaj metod importowania w jednym projekcie. Oznacza to, że nie należy importować usług Firebase za pomocą przepływu pakietu zasobów i przepływu menedżera pakietów Unity.

  • Zależności każdego pliku .tgz usługi są połączone w osobnych plikach .tgz. Musisz pobrać i zaimportować plik .tgz usługi oraz pliki .tgz zależności w odpowiedniej kolejności:

    1. External Dependency Manager (com.google.external-dependency-manager)
    2. Firebase Core (com.google.firebase.app)
    3. Usługi Firebase używane w projekcie. Jeśli używasz Realtime Database lub Cloud Storage, najpierw zaimportuj Authentication (com.google.firebase.auth).

Po pobraniu zaimportuj pliki .tgz do projektu za pomocą jednej z tych metod:

Interfejs menedżera pakietów

  1. Otwórz okno menedżera pakietów Unity.
  2. W lewym górnym rogu okna menedżera pakietów kliknij ikonę + i wybierz Add package from tarball (Dodaj pakiet z archiwum tar), aby otworzyć przeglądarkę plików.
  3. W przeglądarce plików wybierz odpowiednie archiwum tar.

Niektóre starsze wersje Unity 2019 nie obsługują bezpośredniego dodawania archiwów tar. W takim przypadku musisz:

  1. Rozpakuj plik .tgz.
  2. W lewym górnym rogu okna menedżera pakietów kliknij ikonę + i wybierz Add package from disk (Dodaj pakiet z dysku), aby otworzyć przeglądarkę plików.
  3. W przeglądarce plików wybierz wyodrębniony folder.

manifest.json

  1. Utwórz nowy folder obok folderu Packages projektu i nadaj mu nazwę GooglePackages.
  2. Umieść w tym folderze pliki .tgz.
  3. Użyj edytora tekstu, aby otworzyć plik Packages/manifest.json w folderze projektu Unity.
  4. Dodaj wpis dla każdego pakietu, który chcesz zaimportować, mapując nazwę pakietu na lokalizację na dysku. Do ścieżki pliku .tgz dodaj file:. Jeśli na przykład importujesz com.google.firebase.storage i jego zależności, plik manifest.json będzie wyglądać tak:

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164.tgz",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0.tgz",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0.tgz",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0.tgz",
        // com.unity package entries...
      }
    }
    
  5. Zapisz plik manifest.json.

  6. Gdy Unity odzyska fokus, ponownie załaduje plik manifest.json i zaimportuje nowo dodane pakiety.

Niektóre starsze wersje Unity nie obsługują plików .tgz w pliku manifest.json. W takim przypadku należy:

  1. Rozpakuj plik .tgz.
  2. Edytuj plik manifest.json, aby używać ścieżki do wyodrębnionego folderu zamiast pliku .tgz:

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0",
        // com.unity package entries...
      }
    }
    

Migracja z menedżera pakietów Unity do pakietów zasobów

W niektórych przypadkach możesz chcieć przejść z używania menedżera pakietów Unity do śledzenia usług Firebase na importowanie usług w folderze Assets.

Jeśli nie masz pewności, której metody importowania używasz, w folderze projektu Unity otwórz plik Packages/manifest.json. Jeśli plik zawiera wpisy zaczynające się od com.google.firebase, projekt używa menedżera pakietów Unity do importowania.

Aby przeprowadzić migrację do pakietów zasobów:

  1. Zanotuj bieżące wersje pakietów Firebase w projekcie i usuń je.

    1. W menu Window (Okno) wybierz Package Manager (Menedżer pakietów). W oknie Package Manager (Menedżer pakietów) upewnij się, że jest wybrana opcja „Packages: In Project” (Pakiety: w projekcie).
    2. Zanotuj wersje zaimportowanych pakietów Firebase.
    3. Kliknij nazwę każdego pakietu, a następnie kliknij Remove (Usuń). Pamiętaj, aby usunąć pakiet External Dependency Manager (.com.google.external-dependency-manager) oraz pakiety Firebase.
  2. Pobierz i zaimportuj pliki .unitypackage zastępujące. Dostępne są 2 opcje:

    • Jeśli możesz zaktualizować każdy pakiet do najnowszej wersji, pobierz plik ZIP pakietu Firebase Unity SDK i zaimportuj go zgodnie z opisem w artykule Dodawanie Firebase do projektu Unity.
    • Jeśli musisz zachować bieżące wersje .unitypackage, możesz pobrać i zaimportować poszczególne pakiety zgodnie z opisem powyżej na tej stronie.

Migracja z pakietów zasobów do menedżera pakietów Unity

W niektórych przypadkach możesz chcieć przejść z importowania usług w folderze Assets na importowanie i śledzenie usług za pomocą menedżera pakietów Unity.

Jeśli nie masz pewności, której metody importowania używasz, w folderze projektu Unity otwórz plik Packages/manifest.json. Jeśli plik zawiera wpisy zaczynające się od com.google.firebase, projekt używa już menedżera pakietów Unity do importowania.

Aby przeprowadzić migrację do menedżera pakietów Unity:

  1. Upewnij się, że wszystkie pakiety Firebase i pakiet External Dependency Manager zostały usunięte z folderu Assets za pomocą jednej z tych metod.

    Interfejs EDM4U

    1. W otwartym projekcie Unity przejdź do Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages (Zasoby > External Dependency Manager > Obsługa wersji > Odinstaluj zarządzane pakiety).
    2. Wybierz wszystkie pakiety Firebase i External Dependency Manager.
    3. Kliknij Uninstall Selected Package (Odinstaluj wybrany pakiet).

    Ręczne usuwanie

    Za pomocą narzędzi systemu plików ręcznie usuń te foldery:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. Zaimportuj pakiety za pomocą menedżera pakietów Unity zgodnie z opisem powyżej.