7Rアプリ

プログラミングで詰まったことなど書いてます

dynamiclinks Android kotlin 公式サイトが分かり易すぎるのに出来ない自分へ dynamiclinks受信方法

dynamiclinksを受信してみた。

初めてdynamiclinksなるものを使ってみたのですが、公式のサイトがわかりやすすぎるせいか、どこにも公式サイトの「使い方」が書いていませんで非力な私は困ってしまいました。

環境や背景

Android11が出るとか出ないとかその辺の話です。

AndroidStudio3.5.1

kotlin

 

やりたいこと

dynamiclinksを受信したい!

Firebase Dynamic Linksの受信とは

Firebase Dynamic Links経由で来たユーザからの情報を受信することです。(多分)

受信することで、好きな画面に誘導したり、ポップアップを表示したり出来ます。

→紹介特典をつけたり、Firebase Dynamic Links経由かどうかで集計をとったり出来ます。

dynamiclinksを受信を図で表す

f:id:kobearen:20200430220042p:plain

 

公式サイトが日本語対応でとてもわかりやすいのです。

firebase.google.com

でもコピペエンジニアの私には出来ない場所がありました。

なんのパラメータを渡すの!?

なんでみんな書いているのに、その値はどこから来たの?

公式サイトでわからなかったこと

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作成

 

dynamicLinks

dynamicLinks

上の図で作成したLinkを持ったままアプリがストアから開かれているので

そのリンクが入っているのですね。

リンクの後ろに自由に値を持たせることもできるので、ユーザの固定値をつけたり出来ますね。

 

まとめ

intent = Activity を指定して起動させるもの

  受信したい画面のActivityを持たせれば良い

pendingDynamicLinkDataはリンクを持っている

 

間違ってることも多いと思うので適宜修正します〜