たかぎとねこの忘備録

プログラミングに関する忘備録を自分用に残しときます。マサカリ怖い。

Firebase Dynamic Linksでダイナミックリンクを作成する

Firebase Dynamic Linksの作成画面で各単語が意味していることや、各フィールドで求められる内容を入力する意味が最初わからなかったので、将来的なことも含めて忘備録としてダイナミックリンクの作り方を残しておく。

Firebaseのコンソール画面からDynamic Linksにアクセスする。

ざっくりとした手順は次の通り。

  1. URL接頭辞の追加
  2. 短縮URLを作成
  3. アプリへ渡すディープリンクを設定
  4. ディープリンクを開くiOSアプリを選択
  5. ディープリンクを開くAndroidアプリを選択

URL接頭辞の追加

URL接頭辞とは、短縮URLのパスを設定するときに使用するホスト名の部分のこと。

デフォルトでは*.page.linkといったドメインが用意されている。もちろん自前のカスタムドメインを使用することもできる。

このドメインを含む短縮URLにアクセスすると、事前に登録しておいたアプリを端末上で開いて、そのアプリにディープリンクを渡して特定の画面に遷移することができるようになる。

ドメインを選択したら続行をクリックする。

確認したら完了をクリックする。

画面真ん中の左上に先ほど設定したURL接頭辞が表示されていれば成功。

続いて、このURL接頭辞を使ったダイナミックリンクを作成していく。

短縮URLの作成

短縮URLに設定するパスを入力していく。デフォルトではランダムな短い英数字が入力されている。もちろんお客さんにとってわかりやすい意味のある単語に修正しても良い。

プレビューで表示を確認して、よければ次へをクリックする。

アプリへ渡すディープリンクを設定

ディープリンクはアプリにデータを渡すために使われる。例えば、ディープリンクpath/into/appというパスになっていたら、pathの部分がアプリを表すホスト名の役割をは対していて、実際に必要なデータは/into/app以降である。ここの部分をアプリで解析して、移動したい画面を認識しその画面を立ち上げるといった使い方をする。そしてそこにクエリパラメーターなどが付与されているとそれらもデータとして解釈することができる。

If you opened a URL like myapp://somepath/into/app?hello=world, this would alert Linked to app with hostname: somepath, path: into/app and data: {"hello":"world"}.

Linking - Expo Documentation

アプリ上で事前に特定の画面とディープリンクのパスをマッピングしてくことをおすすめする。そこで設定した/path/into/appを入力フィールド入力する。

説明としてどんな画面を開くディープリンクなのかを入力しておくとわかりやすい。

できたら次へをクリックする。

ディープリンクを開くiOSアプリを選択

このディープリンクを使ってiOS端末上でアプリを開きたい場合は、Firebaseプロジェクトに登録してあるiOS アプリを選択する。その際にApp Store IDチーム IDを追加しておかないと警告が出て次へ進むことができないので注意する。

iOSアプリを開く予定がない場合はブラウザディープリンクのURLを開くを選択しておく。

できたら次へをクリックする。

ディープリンクを開くAndroidアプリを選択

このディープリンクを使ってAndroid端末上でアプリを開きたい場合は、Firebaseプロジェクトに登録してあるAndroidアプリを選択する。

アプリがインストールされていない場合のユーザーの移動先を選択することができるので、お好みで設定する。

そして、キャンペーントラッキングなどの詳細オプションを適当に入力して作成をクリックしたら完了。

あとは発行されたダイナミックリンクをアプリがインストールされているそれぞれの端末で開いて、目的の画面が立ち上がるかどうかを確認すればよい。

参考

Firebase Dynamic Links  |  Firebase ドキュメント

Dynamic Links のカスタム ドメインを設定する  |  Firebase Dynamic Links

「アプリで開く」を実現する、Firebase Dynamic Linksの実装と運用Tips - ログミーTech

【Firebase 入門】 Dynamic Links とは - Qiita