Firebase Dynamic Links 使ってみた
アプリを運営していて、特定のリンク(広告)からどれだけのユーザーがアプリをインストールしたのかを計測するのに利用できるのが Firebase Dynamic Links です。
Firebase Dynamic Links とは
簡単に言うと Web サービスの URL を指定することで、アプリを起動できる Universal Links の上位版です。
Universal Links ではアプリがインストールされていなければ、Web ページを開くだけでしたが、Dynamic Links を使えばアプリインストールの有無で、App Store や Google Play を開くなどの制御が可能で、さらにアフィリエイトトークンなどを渡すことで、どの広告が効果的なのかを測定できます。
具体的には Dynamic Links を使ってアプリをインストールした情報は保持され、起動時にアフィリエイト情報を含むパラメータを取得できます。
※無料で使える
Dynamic Link を作ってみる
Firebase Console エンゲージメント内の Dynamic Links をクリック開いて始める。
ドメインの入力を求められる。myapp
と入力すると Google 提供のドメイン(myapp.page.link
)が表示されるので選択する。Dynamic Links 専用のページが Firebase Hosting でホストされるようになります。
新しいダイナミックリンクをクリックしてリンク作成開始。Apple用のリンクを設定する際に、App IDの入力を求められるので、事前に確認しておく必要があります。以下のように「アプリがインストールされていない場合の移動先」やキャンペーンパラメータなどを設定できる。
Dynamic Link のパラメータについての詳しくはこちら
https://firebase.google.com/docs/dynamic-links/create-manually?hl=ja
Dynamic LInk の作成方法
Firebase Console を使うのが一番簡単ですが、動的に Dynamic Link を生成したい場合、アプリからや Rest API を用いて作成することができます。
Firebase Dynamic Links Analytics API
Dynamic Link のテスト
動作をチェックしたい場合、Android は内部テストなどにアップしてストアからインストールすればいいが、iOS ではインストールしていないときに直接 TestFlight を起動できない。そのため一度 App Store のリンクをクリックしてから、TestFlight でインストールし直す必要がある?
※要調査
Dynamic Link のプレビュー
生成された URL の末尾に d=1
をつけてアクセスするか、コンソール上でプレービューとクリックするとリンクの流れ表示される
迷ったところ
プロバイダトークン
Apple 用のリンク作成で pt
プロバイダトークン(プロバイダ Id)の入力が必要ですが、調べてもわからなかった。Apple Developer のヘルプから App Store Connect でキャンペーン URL を作成できることを知り、実際に URL を作成してみるとプロバイダトークンが確認できました。
キャンペーンリンクの作成
アフィリエイトトークン、キャンペーン、ソース
パラメータが多く、どれに何を設定すれば良いか迷ったので、以下のようにまとめました。
パラメータ | プラットフォーム | 設定する値 | 例 |
---|---|---|---|
at | Apple | アフィリエイトパートナーを特定する | 12345 |
ct | Apple | キャンペーンを指定する | summer-sale |
mt | Apple | メディアを指定する | 8 (iOS アプリ) |
pt | Apple | プロバイダトークン | 12345 |
utm_source | 広告主、サイト、出版物などを識別する | google, yahoo | |
utm_medium | 広告メディアやマーケティングメディアを識別する | ||
utm_campaign | キャンペーンを指定する | summer-sale |
生成された Dynamic Link 長すぎ問題
Firebase Console 上で生成した URL はデフォルトでは https://example.page.link/WXYZ
のように短縮 URL になっている。しかし、動的に生成するととても長くなってしまう。
短いダイナミックリンクを作成する のように API に対して長い dynamic link を POST すると短縮 URL をレスポンスとして取得できる。
まとめ
Dynamic Link を使えば難しそう・めんどくさそうと思っていたことがかなり簡単に実現できます。インストールのトラッキングだけでなく紹介システムなど、いろいろなことが試せそうです。
参考
こちらの動画がとてもわかりやすかったです。
Discussion
👏