Dodatkowe opcje instalacji środowiska Unity

Zamiast pobierać duży plik .zip zawierający wszystkie pliki .unitypackage dla .NET 3.X i .NET 4.X, możesz pobrać poszczególne pakiety z witryny interfejsów API Google dla Unity.

W witrynie dostępne są:

  • Pojedyncze pliki .NET 4.X .unitypackage do zaimportowania jako pakiety zasobów.
  • Archiwa poszczególnych .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żą.

Na tej stronie znajdziesz instrukcje dotyczące Menedżera pakietów Unity, dlatego warto zapoznać się z tym narzędziem, korzystając z dokumentacji Unity.

Importowanie pakietów Firebase jako zasobów

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

  • Jeśli w projekcie używasz wielu usług Firebase, musisz pobrać i uaktualnić 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ą procesu pakietu zasobów i procesu Menedżera pakietów Unity.

Aby zaimportować pobrany plik:

  1. W otwartym projekcie Unity kliknij Assets (Zasoby) > Import Package (Importuj pakiet) > Custom Package (Pakiet niestandardowy).

  2. W oknie Import Unity Package (Importowanie pakietu dla Unity) kliknij Import (Importuj).

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

Podczas importowania usług 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 wielu usług Firebase, musisz pobrać i uaktualnić 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ą procesu pakietu zasobów i procesu Menedżera pakietów Unity.

  • Zależności dla każdego pliku .tgz są połączone obok w ich własnych plikach .tgz. Musisz pobrać i zaimportować plik produktu .tgz oraz pliki zależności .tgz 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, korzystając z jednej z tych metod:

Interfejs Menedżera pakietów

  1. Otwórz okno Menedżera pakietów Unity.
  2. Kliknij ikonę + w lewym górnym rogu okna Menedżer pakietów i wybierz Add package from tarball, aby otworzyć przeglądarkę plików.
  3. Wybierz odpowiednie archiwum tarball w przeglądarce plików.

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

  1. Rozpakuj plik .tgz.
  2. Kliknij ikonę + w lewym górnym rogu okna Menedżera pakietów i wybierz Add package from disk, aby otworzyć przeglądarkę plików.
  3. Wybierz wyodrębniony folder w przeglądarce plików.

manifest.json

  1. Utwórz nowy folder obok folderu Packages projektu i nazwij go GooglePackages.
  2. Umieść pliki .tgz w tym folderze.
  3. W edytorze tekstu otwórz 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. Pamiętaj, aby do ścieżki pliku .tgz dołączyć file:. Jeśli na przykład importujesz com.google.firebase.storage i jego zależność, 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 manifest.json i zaimportuje nowo dodane pakiety.

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

  1. Rozpakuj plik .tgz.
  2. Zmodyfikuj plik manifest.json, aby użyć ścieżki do wyodrębnionego folderu zamiast pliku .tgz, w ten sposób:

    {
      "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ć przełączyć się z używania Menedżera pakietów Unity do śledzenia usług Firebase na importowanie usług do folderu 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żył do importu Unity Package Managera.

Aby przejść na pakiety 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 wybrana jest opcja „Packages: In Project” (Pakiety: w projekcie).
    2. Zwróć uwagę na wersje zaimportowanych pakietów Firebase.
    3. Kliknij nazwę każdego pakietu, a następnie kliknij Usuń. Pamiętaj, aby usunąć pakiet External Dependency Manager (.com.google.external-dependency-manager) oraz pakiety Firebase.
  2. Pobierz i zaimportuj pliki .unitypackage, które zastąpią dotychczasowe. Dostępne są dwie opcje:

    • Jeśli możesz uaktualnić 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 chcesz zachować bieżące wersje .unitypackage, możesz pobrać i zaimportować poszczególne pakiety w sposób opisany 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 produktów w folderze Assets na importowanie i śledzenie produktów 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, Twój projekt używa już Menedżera pakietów Unity do importowania.

Aby przejść na Unity Package Manager:

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

    Interfejs EDM4U

    1. W otwartym projekcie Unity kliknij Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages (Zasoby > Menedżer zależności zewnętrznych > Moduł obsługi wersji > Odinstaluj pakiety zarządzane).
    2. Wybierz wszystkie pakiety Firebase i External Dependency Manager.
    3. Kliknij 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, jak opisano powyżej na tej stronie.