Unity でダイナミック リンクを作成する

Firebase Dynamic Links API を使用して短いダイナミック リンクまたは長いダイナミック リンクを作成できます。この API でリンクを作成する際、オプションとして複数のパラメータ構造体を渡すことができます。短いリンクは、生成済みの長いリンクから作成することもできます。Dynamic Links API では、次のような URL が生成されます。

https://abc123.app.goo.gl/WXYZ

準備

Firebase Dynamic Links を使用するには、Firebase プロジェクトを作成してから、Firebase Unity SDK パッケージを Unity プロジェクトに追加する必要があります。

設定

前提条件

Android

iOS

  • Unity 5.0 以降
  • Xcode 7.0 以降

Unity プロジェクトをまだ用意していない場合は、いずれかのクイックスタート サンプルをダウンロードし、特定の Firebase 機能をお試しいただけます。クイックスタートを使用する場合は、次のステップでバンドル識別子が必要になるため、プロジェクト設定からバンドル識別子を忘れずに取得してください。

Firebase コンソールでアプリを設定する

アプリに Firebase を追加するには、Firebase プロジェクトと、アプリ用の Firebase 設定ファイルが必要です。

Firebase プロジェクトをまだ用意していない場合は、Firebase コンソールで Firebase プロジェクトを作成します。モバイルアプリと関連付けられた既存の Google プロジェクトがある場合は、[Google プロジェクトをインポート] をクリックします。それ以外の場合は、[新規プロジェクトを作成] をクリックします。

Android

  1. [Android アプリに Firebase を追加] をクリックし、設定手順に沿って操作します。既存の Google プロジェクトをインポートする場合、このステップは自動的に実行されることがあります。その場合は、設定ファイルをダウンロードするだけでかまいません。
  2. プロンプトが表示されたら、アプリのパッケージ名を入力します。必ずアプリで使用しているパッケージ名を入力してください。パッケージ名を設定できるのは、アプリを Firebase プロジェクトに追加するときだけです。
  3. 指示されたら google-services.json ファイルをダウンロードします。このファイルはいつでも再ダウンロードできます。
  4. このファイルを、プロジェクトのアセット フォルダ内の任意の場所にコピーします。

iOS

  1. [iOS アプリに Firebase を追加] をクリックして設定手順に沿って操作します。既存の Google プロジェクトをインポートする場合、このステップは自動的に実行されることがあります。その場合は、設定ファイルをダウンロードするだけでかまいません。
  2. プロンプトが表示されたら、アプリのバンドル ID を入力してください。必ずアプリで使用しているバンドル ID を入力してください。バンドル ID を設定できるのは、アプリを Firebase プロジェクトに追加するときだけです。
  3. 指示されたら GoogleService-Info.plist ファイルをダウンロードします。このファイルはいつでも再ダウンロードできます。
  4. プロジェクトに GoogleService-Info.plist ファイルを追加します。

  5. Firebase コンソールからダウンロードした GoogleService-Info.plist を、Unity プロジェクトの任意のフォルダにドラッグします。

アプリに Firebase Unity SDK を追加する

  1. Firebase Unity SDK をダウンロードします。
  2. [Assets] > [Import Package] > [Custom Package] メニュー項目を選択します。
  3. 先にダウンロードした Firebase Unity SDK から FirebaseDynamicLinks.unitypackage パッケージをインポートします。
  4. [Import Unity Package] ウィンドウが表示されたら [Import] ボタンをクリックします。

アプリをビルドする

Android

  1. [File] > [Build Settings] メニュー項目を選択します。
  2. [Platform] リストから [Android] を選択します。
  3. [Switch Platform] をクリックし、ターゲット プラットフォームとして [Android] を選択します。
  4. Unity ステータスバーの右下隅にあるスピナー(コンパイル中)アイコンが停止するまで待ちます。
  5. [Build and Run] をクリックします。

iOS

  1. [File] > [Build Settings] メニュー項目を選択します。
  2. [Platform] リストから [iOS] を選択します。
  3. [Switch Platform] をクリックし、ターゲット プラットフォームとして [iOS] を選択します。
  4. Unity ステータスバーの右下隅にあるスピナー(コンパイル中)アイコンが停止するまで待ちます。
  5. [Build and Run] をクリックします。

Firebase Dynamic Links API の使用

パラメータから長いダイナミック リンクを作成する

ダイナミック リンクを作成するには、DynamicLinkComponents オブジェクトを作成し、追加設定のオプションのメンバーを設定して、リンク URL を取得するために LongDynamicLink プロパティにアクセスします。

次のシンプルな例では、Android アプリ(com.example.android.package_name)と iOS アプリ(com.example.ios)で開く https://example.com/ への長いダイナミック リンクを作成します。

var components = new Firebase.DynamicLinks.DynamicLinkComponents(
        // The base Link.
        new System.Uri("https://example.com/"),
        // The dynamic link domain.
        "abc123.app.goo.gl") {
  IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"),
  AndroidParameters = new Firebase.DynamicLinks.AndroidParameters(
      "com.example.android.package_name"),
};
// do something with: components.LongDynamicLink

短いダイナミック リンクを作成する

短いダイナミック リンクを作成するには、生成済みの長いリンクを Firebase.DynamicLinks.GetShortLinkAsync に渡すか、長いダイナミック リンクと同じ手順で DynamicLinkComponents を作成します。

GetShortLinkAsync では、オプションで PathLength プロパティを持つ追加の DynamicLinkOptions 設定パラメータを使用できます。このパラメータにより、リンクの生成方法を制御できます。短いリンクの生成には Firebase バックエンドへのネットワーク リクエストが必要なため、GetShortLinkAsync メソッドが非同期で実行されます。 GetShortLinkAsyncTask<Firebase.DynamicLinks.ShortDynamicLink> を返します。

次に例を示します。

var options = new Firebase.DynamicLinks.DynamicLinkOptions {
    PathLength = DynamicLinkPathLength.Unguessable
};
Firebase.DynamicLinks.GetShortLinkAsync(components, options).ContinueWith((task) => {
  if (task.IsCanceled) {
    Debug.LogError("GetShortLinkAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception);
    return;
  }

  // Short Link has been created.
  Firebase.DynamicLinks.ShortLink link = task.Result;
  Debug.LogFormat("Generated short link {0}", link.Url));

  var warnings = new System.Collections.Generic.List<string>(link.Warnings);
  if (warnings.Count > 0) {
    // Debug logging for warnings generating the short link.
  }

上記の例では、タスクが完了するとトリガーされるラムダ式が使用されています。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。