概要
WEBからAPPに誘導する所謂Web2AppをFirebase Dynamic Linksを利用して
インストールしている・していないに関わらず一つのリンクで挙動を変えて
インストールされていない場合はストアに、されている場合は特定のページに遷移させる流れをざっくり書いておきます。
詳しいことは公式ドキュメントに書いてあるのでこちらを見てください。
Firebase Dynamic Links
page.linkの作り方
- FirebaseコンソールのレフトメニューからDynamicLinkに遷移
- 使いたいドメインを入力(小文字と数字のみを含む 3~100 文字で****.page.linnkの形で入力)
※適当にやっちゃうと、消したあとそのドメインは1ヶ月間使えないので慎重に
独自ドメインを使った方法もあるので使いたい方は公式ドキュメントを見てください
Dynamic Links のカスタム ドメインを設定する - Firebaseの公式ドキュメント
リンクの作成
4つの方法がありますが、今回の要件ではWEB2APPでアプリを開くだけでいいので
URLを短くする必要もないため手動で作成します。
ダイナミックリンクの作成 - Firebaseの公式ドキュメント
ダイナミックリンクURLを手動で構築する - Firebaseの公式ドキュメント
iOS
キー | 説明 |
---|---|
link | 開きたいWEBのURL |
isi | アプリストアのID |
ius | アプリのスキーム(バンドルIDと同じ場合は省略可能、hoge://move?のようなものではなくhogeのみ) |
ibi | アプリのバンドルID(Firebase コンソールの [概要] ページで、アプリとプロジェクトが接続されている必要がある) |
例
用途 | 例 |
---|---|
アプリで開きたい画面に対応したURL | https://example.com/contents/9999 |
開きたいアプリのバンドルID | com.example.app |
開きたいアプリのストアのID | 999999999 |
https://example.page.link/?link=https://example.com/contents/9999&ibi=com.example.app&isi=999999999
ストアではなくLPなどWEBページを開きたい場合に使うオプションや
ipadで挙動を分けるオプションや
プレビューページを挟まないオプションなど詳しくは公式ドキュメントを見てください
ダイナミックリンクURLを手動で構築する - Firebaseの公式ドキュメント
Android
キー | 説明 |
---|---|
link | 開きたいWEBのURL |
apn | Androidアプリのパッケージ名 |
例
用途 | 例 |
---|---|
アプリで開きたい画面に対応したURL | https://example.com/contents/9999 |
開きたいアプリのパッケージ名 | com.example.app |
https://example.page.link/?link=https://example.com/contents/9999&apn=com.example.app
合体
実際に利用する際はiOSとAndroidどちらでも動くようにしたいので、混ぜます。
例
https://example.page.link/?link=https://example.com/contents/9999&ibi=com.example.app&isi=999999999&apn=com.example.app
キャンペーンコードなどの利用も出来るので詳しくは公式ドキュメントを見てください。
ダイナミックリンクURLを手動で構築する - Firebaseの公式ドキュメント
アプリ側の処理
iOS
- PodでFirebaseDynamicLinkをインストール
-
Associated Domains
に 上記で作ったドメインを追加。今回だとapplinks:example.page.link
-
application:continueUserActivity:restorationHandler:
に処理を追加 -
application:openURL:options:
に処理を追加
詳しくは公式ドキュメントに書いてあるのでそちらを見てください。
iOSでダイナミックリンクを受信する - Firebaseの公式ドキュメント
Android
- GradleでFirebaseDynamicLinkをインストール
- AndroidManifestの開きたいActivityに
intent-filter
を追加 - 開きたいActivityに処理を追加
詳しくは公式ドキュメントに書いてあるのでそちらを見てください。
Androidでダイナミックリンクを受信する - Firebaseの公式ドキュメント
検証方法
- 該当アプリをアンインストールしておく
- 作成したリンクをタップ
- ストアに遷移(ここではインストールしない)
- 実機にインストールしたりFirebaseAppDistributionなどでインストール
- 該当ページに遷移
- アプリのプロセスを落とすなどして最初の画面に戻す
- 作成したリンクをタップ
- 該当ページに遷移
以上です。