dynamiclinks Android kotlin 公式サイトが分かり易すぎるのに出来ない自分へ dynamiclinks受信方法
dynamiclinksを受信してみた。
初めてdynamiclinksなるものを使ってみたのですが、公式のサイトがわかりやすすぎるせいか、どこにも公式サイトの「使い方」が書いていませんで非力な私は困ってしまいました。
環境や背景
Android11が出るとか出ないとかその辺の話です。
AndroidStudio3.5.1
kotlin
やりたいこと
dynamiclinksを受信したい!
Firebase Dynamic Linksの受信とは
Firebase Dynamic Links経由で来たユーザからの情報を受信することです。(多分)
受信することで、好きな画面に誘導したり、ポップアップを表示したり出来ます。
→紹介特典をつけたり、Firebase Dynamic Links経由かどうかで集計をとったり出来ます。
dynamiclinksを受信を図で表す
公式サイトが日本語対応でとてもわかりやすいのです。
でもコピペエンジニアの私には出来ない場所がありました。
なんのパラメータを渡すの!?
なんでみんな書いているのに、その値はどこから来たの?
公式サイトでわからなかったこと
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent) // ①intentって何入れるの!?!?
.addOnSuccessListener(this) { pendingDynamicLinkData ->
// ②pendingDynamicLinkDataって何書くの!?!?
var deepLink: Uri? = null
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.link
}
}
.addOnFailureListener(this) { e -> Log.w(TAG, "getDynamicLink:onFailure", e) }
①intentって何入れるの!?!?
沢山考えて調べても皆さんintentかactivityしか書いてなかったです。
先輩に質問しちゃいました。
先輩のお言葉「intentはActivityが持ってるので、それを渡すだけで良いかと思います。」
そういえば、intent = Activity を指定して起動させるもの
でしたよね。
詳細→
https://developer.android.com/guide/components/intents-common?hl=ja」
なので、受信したい画面のActivityを持たせれば良いのかとなりました。
②pendingDynamicLinkDataって何書くの!?!?
また聞いちゃいました。
「pendingDynamicLinkDataは引数ですね、そいつが紹介者側で設定するlinkとかを持ってます」
Firebase Dynamic Links作成
上の図で作成したLinkを持ったままアプリがストアから開かれているので
そのリンクが入っているのですね。
リンクの後ろに自由に値を持たせることもできるので、ユーザの固定値をつけたり出来ますね。
まとめ
intent = Activity を指定して起動させるもの
受信したい画面のActivityを持たせれば良い
pendingDynamicLinkDataはリンクを持っている
間違ってることも多いと思うので適宜修正します〜