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
.unitypackagedo zaimportowania jako pakiety zasobów. - Archiwa poszczególnych
.tgzdo 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:
W otwartym projekcie Unity kliknij Assets (Zasoby) > Import Package (Importuj pakiet) > Custom Package (Pakiet niestandardowy).
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
.tgzsą połączone obok w ich własnych plikach.tgz. Musisz pobrać i zaimportować plik produktu.tgzoraz pliki zależności.tgzw odpowiedniej kolejności:- External Dependency Manager (
com.google.external-dependency-manager) - Firebase Core (
com.google.firebase.app) - Usługi Firebase używane w projekcie. Jeśli używasz Realtime Database lub Cloud Storage, najpierw zaimportuj Authentication (
com.google.firebase.auth).
- External Dependency Manager (
Po pobraniu zaimportuj pliki .tgz do projektu, korzystając z jednej z tych metod:
Interfejs Menedżera pakietów
- Otwórz okno Menedżera pakietów Unity.
- Kliknij ikonę
+w lewym górnym rogu okna Menedżer pakietów i wybierzAdd package from tarball, aby otworzyć przeglądarkę plików. - 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:
- Rozpakuj plik
.tgz. - Kliknij ikonę
+w lewym górnym rogu okna Menedżera pakietów i wybierzAdd package from disk, aby otworzyć przeglądarkę plików. - Wybierz wyodrębniony folder w przeglądarce plików.
manifest.json
- Utwórz nowy folder obok folderu
Packagesprojektu i nazwij goGooglePackages. - Umieść pliki
.tgzw tym folderze. - W edytorze tekstu otwórz plik
Packages/manifest.jsonw folderze projektu Unity. 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
.tgzdołączyćfile:. Jeśli na przykład importujeszcom.google.firebase.storagei jego zależność, plikmanifest.jsonbę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... } }Zapisz plik
manifest.json.Gdy Unity odzyska fokus, ponownie załaduje
manifest.jsoni zaimportuje nowo dodane pakiety.
Niektóre starsze wersje Unity nie obsługują plików .tgz w manifest.json.
W takim przypadku:
- Rozpakuj plik
.tgz. 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:
Zanotuj bieżące wersje pakietów Firebase w projekcie i usuń je.
- 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).
- Zwróć uwagę na wersje zaimportowanych pakietów Firebase.
- 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.
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:
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
- 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).
- Wybierz wszystkie pakiety Firebase i External Dependency Manager.
- Kliknij Odinstaluj wybrany pakiet.
Ręczne usuwanie
Za pomocą narzędzi systemu plików ręcznie usuń te foldery:
Assets/Editor Default Resources/FirebaseAssets/ExternalDependencyManagerAssets/FirebaseAssets/ParseAssets/Plugins/iOS/Firebase
Zaimportuj pakiety za pomocą Menedżera pakietów Unity, jak opisano powyżej na tej stronie.