🔗

Firebase Dynamic Links 使ってみた

2023/04/01に公開

アプリを運営していて、特定のリンク(広告)からどれだけのユーザーがアプリをインストールしたのかを計測するのに利用できるのが Firebase Dynamic Links です。

簡単に言うと Web サービスの URL を指定することで、アプリを起動できる Universal Links の上位版です。
Universal Links ではアプリがインストールされていなければ、Web ページを開くだけでしたが、Dynamic Links を使えばアプリインストールの有無で、App Store や Google Play を開くなどの制御が可能で、さらにアフィリエイトトークンなどを渡すことで、どの広告が効果的なのかを測定できます。
具体的には Dynamic Links を使ってアプリをインストールした情報は保持され、起動時にアフィリエイト情報を含むパラメータを取得できます。
※無料で使える

Firebase Console エンゲージメント内の Dynamic Links をクリック開いて始める。

ドメインの入力を求められる。myapp と入力すると Google 提供のドメイン(myapp.page.link)が表示されるので選択する。Dynamic Links 専用のページが Firebase Hosting でホストされるようになります。

新しいダイナミックリンクをクリックしてリンク作成開始。Apple用のリンクを設定する際に、App IDの入力を求められるので、事前に確認しておく必要があります。以下のように「アプリがインストールされていない場合の移動先」やキャンペーンパラメータなどを設定できる。
Dynamic Link Apple Link

Dynamic Link のパラメータについての詳しくはこちら
https://firebase.google.com/docs/dynamic-links/create-manually?hl=ja

Firebase Console を使うのが一番簡単ですが、動的に Dynamic Link を生成したい場合、アプリからや Rest API を用いて作成することができます。
Firebase Dynamic Links Analytics API

動作をチェックしたい場合、Android は内部テストなどにアップしてストアからインストールすればいいが、iOS ではインストールしていないときに直接 TestFlight を起動できない。そのため一度 App Store のリンクをクリックしてから、TestFlight でインストールし直す必要がある?
※要調査
https://twitter.com/yasuXS/status/1489252471944146952

生成された URL の末尾に d=1 をつけてアクセスするか、コンソール上でプレービューとクリックするとリンクの流れ表示される
Dynamic Link のプレビュー

迷ったところ

プロバイダトークン

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 広告主、サイト、出版物などを識別する google, yahoo
utm_medium Google 広告メディアやマーケティングメディアを識別する email
utm_campaign Google キャンペーンを指定する summer-sale

Firebase Console 上で生成した URL はデフォルトでは https://example.page.link/WXYZ のように短縮 URL になっている。しかし、動的に生成するととても長くなってしまう。
短いダイナミックリンクを作成する のように API に対して長い dynamic link を POST すると短縮 URL をレスポンスとして取得できる。

まとめ

Dynamic Link を使えば難しそう・めんどくさそうと思っていたことがかなり簡単に実現できます。インストールのトラッキングだけでなく紹介システムなど、いろいろなことが試せそうです。

参考

こちらの動画がとてもわかりやすかったです。
https://www.youtube.com/watch?v=reV9p02Hb0Y

Discussion