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
.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żą.
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ć:
W otwartym projekcie Unity przejdź do Assets > Import Package > Custom Package (Zasoby > Importuj pakiet > Własny pakiet).
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
.tgzusługi są połączone w osobnych plikach.tgz. Musisz pobrać i zaimportować plik.tgzusługi oraz pliki.tgzzależności w 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 za pomocą jednej z tych metod:
Interfejs menedżera pakietów
- Otwórz okno menedżera pakietów Unity.
- W lewym górnym rogu okna menedżera pakietów kliknij ikonę
+i wybierzAdd package from tarball(Dodaj pakiet z archiwum tar), aby otworzyć przeglądarkę plików. - 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:
- Rozpakuj plik
.tgz. - W lewym górnym rogu okna menedżera pakietów kliknij ikonę
+i wybierzAdd package from disk(Dodaj pakiet z dysku), aby otworzyć przeglądarkę plików. - W przeglądarce plików wybierz wyodrębniony folder.
manifest.json
- Utwórz nowy folder obok folderu
Packagesprojektu i nadaj mu nazwęGooglePackages. - Umieść w tym folderze pliki
.tgz. - Użyj edytora tekstu, aby otworzyć 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. Do ścieżki pliku
.tgzdodajfile:. Jeśli na przykład importujeszcom.google.firebase.storagei jego zależności, 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 plik
manifest.jsoni zaimportuje nowo dodane pakiety.
Niektóre starsze wersje Unity nie obsługują plików .tgz w pliku manifest.json.
W takim przypadku należy:
- Rozpakuj plik
.tgz. 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:
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 jest wybrana opcja „Packages: In Project” (Pakiety: w projekcie).
- Zanotuj wersje zaimportowanych pakietów Firebase.
- 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.
Pobierz i zaimportuj pliki
.unitypackagezastę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:
Upewnij się, że wszystkie pakiety Firebase i pakiet External Dependency Manager zostały usunięte z folderu
Assetsza pomocą jednej z tych metod.Interfejs EDM4U
- 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).
- Wybierz wszystkie pakiety Firebase i External Dependency Manager.
- 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/FirebaseAssets/ExternalDependencyManagerAssets/FirebaseAssets/ParseAssets/Plugins/iOS/Firebase
Zaimportuj pakiety za pomocą menedżera pakietów Unity zgodnie z opisem powyżej.