1つのURLでAppStoreかGoogle Playへリダイレクトする方法(Firebase DynamicLinks編)
背景
私たちは、モバイルゲームをUnityを使って開発しています。
ゲームをリリースする際、SNSなどにインストールリンクを公開することがありますが、Android版とiPhone版で2つのURLが存在するため、それぞれのリンクを載せる必要がありました。
記事を見てくれた人がリンクを選択しなければいけないという事がユーザーに優しくないなと感じて今回の方法について調べ始めました。
また、アイコン画像をクリックしてストアへリンクさせたいこともあるかと思いますがその場合1つのリンク先しか設定できないので、その場合にも困りますよね…
Firebase Dynamic Linksとは?
Firebaseが提供している、動的リンクサービスです。
以下のような事ができるらしい
- アプリインストール済みなら、DeepLinkを開く
- アプリ未インストールの場合、プラットフォーム毎にストアへリダイレクト
- FirebaseAnalyticsと連携して、URLクリックに対する情報が取れる
- URL短縮
本記事の本題 1つのURLで各OSのストアへリダイレクトさせる方法
前提
Firebaseのプロジェクトにアプリが紐付けされている事が前提となります。
作業の際に以下の情報が必要になりますので準備をお願いします。
Firebaseコンソールでの設定
Firebaseコンソールを開き、プロジェクトの中の「Dynamic Links」を選び始めるを選択
ドメインにフォーカスをあてると使えるドメインが候補にでてくるのでそれを選択。
自分で決めた xxx.page.link というドメインでも使用されていなければ使える。
独自ドメインも入力は可能だがDNSの設定など必要になりそうなので今回は使いません。
あとは、続行を押して進めていけばFirebase DynamicLinksの設定は完了。
Firebase DynamicLinksのURL手動構築
FirebaseコンソールやAPIからも動的URLが作成できるが、今回は手動URLの構築方法を説明します。
以下の{}の中をそれぞれ適した値を埋めてください。それでURL完成です。
?link={http(s)://で始まるリンク}
&apn={Androidアプリのパッケージ名}
&ibi={iOSアプリのバンドルID}
&isi={iOSアプリのストアID}
&ofl={http(s)://で始まるリンク}
&efr=1
パラメーターの説明
link
アプリがインストールされていない場合のデフォルト遷移先になります。
私たちは、自社のホームページをここにセットしています。
apn
Androidアプリのパッケージ名を指定します。
ibi
iOSアプリのバンドルIDを指定します。
isi
iOSアプリのストアIDを指定します。
iOSの場合、ibiのみだとストアへリダイレクトされませんでした。
なので、iOSアプリはisiの指定も行ってください。
ofl
Android,iOS以外のプラットフォームでURLアクセスがあった場合のリンク先になります。
efr
iOSの場合、このパラメーターをつけないとストアの画面に行く前にストアプレビューが表示されてしまいます。そのストアプレビューをスキップするためのパラメータです。
d=1
d=1というパラメーターを最後につけるとデバッグモードになり、アクセスフローが確認できます。
その他使いそうなパラメータ
st
SNSなどにURLを貼り付けた際に使用されるタイトル
日本語を使用する場合はURLエンコードしてください。
sd
SNSなどにURLを貼り付けた際に使用される説明文
日本語を使用する場合はURLエンコードしてください。
si
URLに関連する画像へのリンク。
SNSなどにURLを貼り付けた際に使用する画像となります。
画像はURLでの指定だけになりますので、自身のサーバーなどに配置してそのリンクを貼り付けてください。
画像は300x200ピクセル以上で、300KB未満でないとダメなようです。
最後に私たちのアプリで使用しているURL
参考になれば嬉しいです。