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 strony interfejsów API Google dla Unity.

Na stronie znajdziesz:

  • Pojedyncze pliki .NET 4.X .unitypackage do zaimportowania jako pakiety komponentów.
  • pojedyncze archiwa .tgz, które można zaimportować za pomocą menedżera pakietów Unity;

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

Ta strona zawiera instrukcje dotyczące menedżera pakietów Unity, warto więc dowiedzieć się więcej o tym narzędziu z dokumentacji Unity.

Importuj pakiety Firebase jako zasoby

Podczas importowania produktów Firebase z plików .unitypackage pobranych z witryny interfejsów API Google dla Unity pamiętaj o następujących kwestiach:

  • Jeśli w projekcie używasz kilku 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ć produktów Firebase za pomocą procesu importowania pakietu zasobów ani za pomocą procesu importowania pakietu w Menedżerze pakietów Unity.

Po pobraniu pliku zaimportuj go:

  1. W otwartym projekcie Unity kliknij Zasoby > Importuj pakiet > Pakiet niestandardowy.

  2. W oknie Importowanie pakietu dla Unity kliknij 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 należy pamiętać o tych kwestiach:

  • Ta metoda jest dostępna tylko w wersji 2018.3 i nowszych.

  • Jeśli w projekcie używasz kilku 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ć produktów Firebase za pomocą procesu importowania pakietu zasobów ani menedżera pakietów Unity.

  • Zależność każdego pliku .tgz produktu jest połączona z odpowiednim plikiem .tgz. Musisz pobrać i zaimportować plik .tgz produktu oraz pliki .tgz zależności w odpowiedniej kolejności:

    1. Menedżer zależności zewnętrznych (com.google.external-dependency-manager)
    2. Firebase Core (com.google.firebase.app)
    3. Usługi Firebase używane w Twoim projekcie. Jeśli używasz wersji Realtime Database lub Cloud Storage, najpierw zaimportuj wersję 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. W lewym górnym rogu okna menedżera pakietów kliknij ikonę + i wybierz Add package from tarball, aby otworzyć przeglądarkę plików.
  3. Wybierz odpowiedni plik tarball w przeglądarce plików.

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

  1. Rozpakuj plik .tgz.
  2. W lewym górnym rogu okna Menedżera pakietów kliknij ikonę +, a potem kliknij Add package from disk, 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 nazwij go GooglePackages.
  2. Umieść w nim pliki .tgz.
  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. Dodaj file: do ścieżki pliku .tgz. Jeśli na przykład importujesz pakiet com.google.firebase.storage i jego zależności, pakiet 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 ponownie się włączy, załaduje ponownie manifest.json i zaimportuje nowo dodane pakiety.

Niektóre starsze wersje Unity nie obsługują plików .tgz w folderze manifest.json. W takim przypadku wykonaj te czynności:

  1. Rozpakuj plik .tgz.
  2. Zmień wartość parametru 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 Unity Package Managera do pakietów zasobów

W niektórych przypadkach możesz chcieć przełączyć się z użycia menedżera pakietów Unity na śledzenie produktów Firebase lub importowanie produktów 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, Twój projekt używał do importu menedżera pakietów Unity.

Aby przejść na pakiety komponentów:

  1. Zapisz obecne wersje pakietów Firebase w projekcie i usuń je.

    1. W menu Okno wybierz Menedżer pakietów. W oknie Menedżer pakietów sprawdź, czy wybrana jest opcja „Pakiety: w projekcie”.
    2. Zanotuj wersje zaimportowanych pakietów Firebase.
    3. Kliknij każdą nazwę pakietu, a następnie kliknij Usuń. Pamiętaj, aby usunąć pakiet menedżera zależności zewnętrznych (.com.google.external-dependency-manager), a także pakiety Firebase.
  2. Pobierz i zaimportuj zastępcze pliki .unitypackage. Dostępne są dwie opcje:

    • Jeśli możesz uaktualnić każdy pakiet do najnowszej wersji, pobierz plik ZIP pakietu SDK Firebase Unity i zaimportuj go zgodnie z opisem w sekcji 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 wyżej na tej stronie.

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

W niektórych przypadkach możesz chcieć zmienić importowanie 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ż do importowania menedżera pakietów Unity.

Aby przejść na menedżera pakietów Unity:

  1. Upewnij się, że wszystkie pakiety Firebase i pakiet menedżera zależności zewnętrznych zostały usunięte z folderu Assets. Możesz to zrobić, korzystając z jednej z tych metod.

    EDM4U UI

    1. W otwartym projekcie Unity przejdź do Zasoby > Menedżer zależności zewnętrznych > Obsługa wersji > Odinstaluj zarządzane pakiety.
    2. Wybierz wszystkie pakiety Firebase i menedżera zależności zewnętrznych.
    3. Kliknij Odinstaluj wybrany pakiet.

    Ręczne usunięcie

    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 na tej stronie.