Unity 用の Google パッケージをインストールする

Unity 用の Google パッケージは、次の 2 つの形式で配布されています。

  • アセット パッケージ:
    • .unitypackage 拡張子を持つ。
    • プロジェクトの Assets ディレクトリにインストールします。
    • Unity 5 以降でインポートできます。
    • 通常、依存関係パッケージが含まれます。
  • Unity Package Manager(UPM)パッケージ:
    • .tgz 拡張子を持つ。
    • プロジェクトの Packages ディレクトリにインストールします。
    • Unity 2018.4 以降でインポートできます。
    • 個別にインストールする必要がある依存パッケージを参照します。

[パッケージ] ページには、利用可能なすべてのパッケージの最新の .unitypackage ファイルと、一部のパッケージの .tgz ファイルが含まれています。

[アーカイブ] ページには、すべてのパッケージ バージョンの .unitypackage ファイルと .tgz ファイルが含まれています。

以下では、両方のタイプのパッケージをインストールする方法と、あるタイプから別のタイプに移行する方法について説明します。

これらのインストール オプションを理解したら、Firebase のプロダクト固有の手順を参照してください。

OpenUPM を使用してパッケージをインポートする

OpenUPM レジストリを使用して、外部パッケージを Unity プロジェクトに追加できます。OpenUPM には、不正行為や不正使用からアプリを保護する Google Play Integrity プラグインなど、多くの便利なプラグインと SDK がホストされています。

OpenUPM を使用して Google Play Integrity プラグインを追加する方法は次のとおりです。

OpenUPM-CLI

OpenUPM CLI がインストールされている場合は、次のコマンドを使用して OpenUPM レジストリをインストールできます。

openupm add com.google.play.integrity

OpenUPM

  1. Unity のメニュー オプション [Edit] > [Project Settings] > [Package Manager] を選択して、パッケージ マネージャーの設定を開きます。

  2. OpenUPM をスコープ付きレジストリとして Package Manager ウィンドウに追加します。

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
     com.google.play.common
     com.google.play.core
     com.google.play.integrity
    
  3. Unity のメニュー オプション [Window] > [Package Manager] を選択して、Package Manager メニューを開きます。

  4. マネージャー スコープのプルダウンで [My Registries] を選択します。

  5. パッケージのリストから Google Play Integrity plugin for Unity パッケージを選択し、[Install] を押します。

.unitypackage ファイルを使用してアセット パッケージをインポートする

Unity メニュー オプションの Assets > Import package > Custom Package を選択し、すべてのアイテムをインポートして、.unitypackage ファイルをインポートします。これにより、パッケージの内容が Assets ディレクトリの下にプロジェクトに追加されます。

.tgz ファイルを使用して UPM パッケージをインポートする(2018.4 以降)

次のいずれかの方法で .tgz ファイルをプロジェクトにインポートします。

manifest.json

  1. プロジェクトの Packages フォルダの隣に新しいフォルダを作成し、GooglePackages という名前を付けます。
  2. そのフォルダに .tgz ファイルを配置します。
  3. テキスト エディタを使用して、Unity プロジェクト フォルダにある Packages/manifest.json を開きます。
  4. インストールする各パッケージのエントリを追加し、パッケージ名とディスク上の場所をマッピングします(Packages/manifest.json ファイルからの相対パス)。.tgz ファイルのパスの前に file: を付加してください。たとえば、com.google.firebase.storage とその依存関係をインストールする場合、manifest.json は次のようになります。

    {
      "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. manifest.json ファイルを保存します。

  6. Unity が再度アクティブになると、manifest.json が再読み込みされ、新しく追加されたパッケージがインポートされます。

Unity の一部の古いバージョンでは、manifest.json 内の .tgz ファイルをサポートしていません。この場合は、次のことを行う必要があります。

  1. .tgz ファイルを解凍します。
  2. 抽出したフォルダを GooglePackages フォルダに配置します。
  3. manifest.json を編集し、次のように .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...
      }
    }
    

Package Manager UI

  1. Unity の Package Manager ウィンドウを開きます。
  2. Package Manager ウィンドウの左上にある + アイコンをクリックし、[Add package from tarball] を選択してファイル ブラウザを開きます。

    Screenshot of Unity Package Manager Window with the

  3. ファイル ブラウザで目的の tarball を選択します。

Unity の一部の古いバージョンでは、tarball を直接追加できません。この場合は、次の操作を行う必要があります。

  1. .tgz ファイルを展開します。
  2. Package Manager ウィンドウの左上にある + アイコンをクリックし、[Add package from disk] を選択してファイル ブラウザを開きます。

    Screenshot of Unity Package Manager Window with the

  3. 抽出したフォルダをファイル ブラウザで選択します。

パッケージの依存関係の .tgz ファイルもインポートしてください。これらのファイルは、アーカイブ ページの目的のパッケージのセクションに記載されています。

たとえば、com.google.firebase.storage をインストールする場合は、次の順序で .tgz ファイルをインストールします。

  1. External Dependency Manager(com.google.external-dependency-manager
  2. Firebase Core(com.google.firebase.app
  3. Firebase Auth(com.google.firebase.auth
  4. Firebase Storage(com.google.firebase.storage

順序を気にせずにすべての .tgz ファイルを一度に追加する場合は、manifest.json タブの手順に沿って操作します。

バージョン管理

バージョン管理ソフトウェアを使用してプロジェクト ファイルを管理している場合は、関連する .tgz ファイルをバージョン管理に追加することをおすすめします。プロジェクトの manifest.json を手動で編集し(上記の手順を参照)、相対パスを使用してローカルの .tgz ファイルを参照できます。

git を使用している場合は、大きな .tgz ファイルを管理するために Git Large File Storage(LFS)を使用することをおすすめします。

UPM パッケージからアセット パッケージに移行する

Unity Package Manager を使用して Google パッケージを管理する方法から、アセット フォルダの下にパッケージをインストールする方法に切り替えたい場合があります。

次のいずれかの方法で、すべての Google パッケージが Unity Package Manager から削除されていることを確認します。

Package Manager UI

  1. Unity の Package Manager ウィンドウを開きます。
  2. 左上のプルダウンから In Project を選択します。

    Screenshot of Unity Package Manager Window with the

  3. 検索バーに「com.google」と入力して、Google パッケージをフィルタします。

    Screenshot of Unity Package Manager Window with

  4. 各パッケージ名をクリックし、[Remove] をクリックします。

manifest.json

  1. テキスト エディタを使用して、Unity プロジェクト フォルダにある Packages/manifest.json を開きます。
  2. [dependencies] に Google のパッケージがあるかどうかを確認します。パッケージ名は「com.google」で始まる必要があります(例: com.google.firebase.app)。
  3. これらの行を削除して、json ファイルを保存します。
  4. Unity が再度アクティブになると、manifest.json ファイルが再読み込みされ、削除されたパッケージが削除されます。

Unity Package Manager からこれらのパッケージをアンインストールしたら、アーカイブ ページから置換用の .unitypackage ファイルをダウンロードしてインポートできます。

アセット パッケージから UPM パッケージに移行する

アセット ツリーの下にあるプロダクトをインストールする方法から、Unity Package Manager を使用してプロダクトのインストールとトラッキングを行う方法に切り替えたい場合があります。

使用しているインストール方法がわからない場合は、Unity UI の [Project] タブの [Assets] に目的の Google パッケージが表示されているかどうかを確認します。

UPM パッケージに移行するには:

  1. Assets フォルダからすべての Google パッケージが削除されていることを確認します。

    • Firebase パッケージをアンインストールする手順は、こちらをご覧ください。
    • Google Play の Unity 向けプラグインをアンインストールするには、AssetsGooglePlayPlugins フォルダを削除します。
  2. 上記の説明に沿って、Unity Package Manager を使用してパッケージをインストールします。

サービス固有の移行手順

Firebase の手順については、こちらをご覧ください。