Các lựa chọn cài đặt Unity khác

Thay vì tải một tệp .zip lớn chứa tất cả tệp .unitypackage cho cả .NET 3.X và .NET 4.X, bạn có thể tải từng gói xuống từ trang web API của Google cho Unity.

Trang web này cung cấp:

  • Các tệp .NET 4.X .unitypackage riêng lẻ để nhập dưới dạng gói Tài sản.
  • Các tệp lưu trữ .tgz riêng lẻ để nhập bằng Trình quản lý gói Unity.

Điều này đặc biệt hữu ích khi ứng dụng của bạn sử dụng một sản phẩm Firebase duy nhất, vì các tệp .unitypackage riêng lẻ chứa tất cả các phần phụ thuộc cần thiết và các tệp .tgz được liệt kê cùng với các tệp .tgz có liên quan mà chúng phụ thuộc vào.

Trang này cung cấp hướng dẫn liên quan đến Trình quản lý gói Unity, vì vậy, bạn nên tìm hiểu về công cụ này trong tài liệu về Unity.

Nhập các gói Firebase dưới dạng Tài sản

Khi nhập các sản phẩm Firebase từ tệp .unitypackage được tải xuống từ trang web API của Google cho Unity, hãy lưu ý những điều sau:

  • Nếu đang sử dụng nhiều sản phẩm Firebase trong dự án, bạn phải tải xuống và nâng cấp tất cả sản phẩm Firebase lên cùng một phiên bản.

  • Đừng kết hợp các phương thức nhập trong một dự án. Tức là không nhập các sản phẩm Firebase bằng quy trình Gói thành phần và sử dụng quy trình Trình quản lý gói Unity.

Sau khi tải xuống, để nhập:

  1. Trong dự án Unity đang mở, hãy chuyển đến Assets (Tài sản) > Import Package (Nhập gói) > Custom Package (Gói tuỳ chỉnh).

  2. Trong cửa sổ Import Unity Package (Nhập gói Unity), hãy nhấp vào Import (Nhập).

Nhập các gói Firebase bằng Trình quản lý gói Unity

Khi nhập các sản phẩm Firebase từ tệp .tgz được tải xuống từ kho lưu trữ API của Google cho Unity, hãy lưu ý những điều sau:

  • Phương thức này chỉ có trong phiên bản 2018.3 trở lên.

  • Nếu đang sử dụng nhiều sản phẩm Firebase trong dự án, bạn phải tải xuống và nâng cấp tất cả sản phẩm Firebase lên cùng một phiên bản.

  • Đừng kết hợp các phương thức nhập trong một dự án. Tức là không nhập các sản phẩm Firebase bằng quy trình Gói thành phần và quy trình Trình quản lý gói Unity.

  • Phần phụ thuộc cho mỗi tệp .tgz của sản phẩm được liên kết cùng với các tệp .tgz của riêng chúng. Bạn phải tải xuống và nhập tệp sản phẩm .tgz và tệp phần phụ thuộc .tgz theo đúng thứ tự:

    1. Trình quản lý phần phụ thuộc bên ngoài (com.google.external-dependency-manager)
    2. Firebase Core (com.google.firebase.app)
    3. Các sản phẩm Firebase được dùng trong dự án của bạn. Nếu bạn sử dụng Realtime Database hoặc Cloud Storage, hãy nhập Authentication (com.google.firebase.auth) trước.

Sau khi tải xuống, hãy nhập các tệp .tgz vào dự án của bạn bằng một trong các phương thức sau:

Giao diện người dùng của Trình quản lý gói

  1. Mở cửa sổ Package Manager (Trình quản lý gói) của Unity.
  2. Nhấp vào biểu tượng + ở góc trên cùng bên trái của cửa sổ Trình quản lý gói rồi chọn Add package from tarball để mở trình duyệt tệp.
  3. Chọn tệp tarball mong muốn trong trình duyệt tệp.

Một số phiên bản cũ của Unity 2019 không hỗ trợ thêm trực tiếp tệp tarball. Trong trường hợp này, bạn sẽ cần:

  1. Giải nén tệp .tgz.
  2. Nhấp vào biểu tượng + ở góc trên cùng bên trái của cửa sổ Trình quản lý gói và chọn Add package from disk để mở trình duyệt tệp.
  3. Chọn thư mục đã giải nén trong trình duyệt tệp.

manifest.json

  1. Tạo một thư mục mới bên cạnh thư mục Packages của dự án và đặt tên cho thư mục đó là GooglePackages.
  2. Đặt các tệp .tgz vào thư mục đó.
  3. Sử dụng trình chỉnh sửa văn bản để mở Packages/manifest.json trong thư mục dự án Unity.
  4. Thêm một mục cho mỗi gói bạn muốn nhập, liên kết tên gói với vị trí trên ổ đĩa. Hãy nhớ thêm file: vào đường dẫn tệp .tgz. Ví dụ: nếu bạn đang nhập com.google.firebase.storage và phần phụ thuộc của nó, thì manifest.json của bạn sẽ có dạng như sau:

    {
      "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. Lưu tệp manifest.json.

  6. Khi Unity lấy lại tiêu điểm, Unity sẽ tải lại manifest.json và nhập các gói mới thêm.

Một số phiên bản Unity cũ không hỗ trợ tệp .tgz trong manifest.json. Trong trường hợp này, bạn nên:

  1. Giải nén tệp .tgz.
  2. Chỉnh sửa manifest.json để sử dụng đường dẫn đến thư mục đã giải nén, thay vì tệp .tgz, như sau:

    {
      "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...
      }
    }
    

Di chuyển từ Trình quản lý gói Unity sang Gói thành phần

Trong một số trường hợp, bạn có thể muốn chuyển từ việc sử dụng Trình quản lý gói Unity để theo dõi các sản phẩm Firebase sang nhập sản phẩm trong thư mục Assets.

Nếu bạn không chắc chắn về phương thức nhập mà mình đang sử dụng, hãy mở tệp Packages/manifest.json trong thư mục dự án Unity. Nếu tệp chứa các mục bắt đầu bằng com.google.firebase, thì dự án của bạn đã sử dụng Unity Package Manager để nhập.

Cách di chuyển sang Gói thành phần:

  1. Lưu ý các phiên bản gói Firebase hiện tại trong dự án của bạn và xoá các phiên bản đó.

    1. Trong trình đơn Window (Cửa sổ), hãy chọn Package Manager (Trình quản lý gói). Trong cửa sổ Package Manager (Trình quản lý gói), hãy đảm bảo bạn đã chọn "Packages: In Project" (Gói: Trong dự án).
    2. Lưu ý phiên bản của các gói Firebase đã nhập.
    3. Nhấp vào tên của từng gói, sau đó nhấp vào Xoá. Hãy nhớ xoá gói Trình quản lý phần phụ thuộc bên ngoài (.com.google.external-dependency-manager) cũng như các gói Firebase.
  2. Tải xuống và nhập các tệp .unitypackage thay thế. Bạn có hai tuỳ chọn:

    • Nếu bạn có thể nâng cấp lên phiên bản mới nhất của từng gói, hãy tải tệp zip SDK của Firebase cho Unity xuống rồi nhập như mô tả trong phần Thêm Firebase vào dự án Unity của bạn.
    • Nếu cần giữ lại các phiên bản .unitypackage hiện tại, bạn có thể tải xuống và nhập từng gói như mô tả ở trên trên trang này.

Di chuyển từ Gói thành phần sang Trình quản lý gói Unity

Trong một số trường hợp, bạn có thể muốn chuyển từ việc nhập sản phẩm trong thư mục Assets sang nhập và theo dõi sản phẩm bằng Trình quản lý gói Unity.

Nếu bạn không chắc chắn về phương thức nhập mà mình đang sử dụng, hãy mở tệp Packages/manifest.json trong thư mục dự án Unity. Nếu tệp chứa các mục bắt đầu bằng com.google.firebase, thì dự án của bạn đã sử dụng Trình quản lý gói Unity để nhập.

Cách di chuyển sang Trình quản lý gói Unity:

  1. Đảm bảo rằng tất cả các gói Firebase và gói Trình quản lý phần phụ thuộc bên ngoài đều được xoá khỏi thư mục Assets bằng một trong hai phương thức sau.

    Giao diện người dùng EDM4U

    1. Trong dự án Unity đang mở, hãy chuyển đến Assets > External Dependency Manager > Version Handler > Uninstall Managed Packages (Tài sản > Trình quản lý phần phụ thuộc bên ngoài > Trình xử lý phiên bản > Gỡ cài đặt các gói được quản lý).
    2. Chọn tất cả các gói Firebase và Trình quản lý phần phụ thuộc bên ngoài.
    3. Nhấp vào Uninstall Selected Package (Gỡ cài đặt gói đã chọn).

    Xoá theo cách thủ công

    Sử dụng các công cụ hệ thống tệp, xoá các thư mục sau theo cách thủ công:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. Nhập các gói bằng Trình quản lý gói Unity, như mô tả ở trên trong trang này.