1. 程式人生 > >Android Firebase接入(二)--Firebase 動態連結(Dynamic Links)

Android Firebase接入(二)--Firebase 動態連結(Dynamic Links)

動態連結簡介

生成一個根據不同的場景響應不同行為的連結。比如:你想要為app新增一個房間內邀請好友的功能,如果好友也安裝了此app,點選分享連結就進入此房間,如果好友沒有安裝此app,那就跳轉到Google Play下載頁面(或者你自定義的任何頁面),如果好友沒有安裝此app,而且他是蘋果手機,那就跳轉到蘋果商店的應用下載頁面。這個功能就可以使用Firebase的動態連結實現。

注:由於Firebase需要翻牆使用,請自備梯子,否則無法使用動態連結。

生成動態連結最簡單的方式就是使用Firebase控制檯生成,在設定動態連結之前要先給專案新增SHA1和SHA256指紋資訊:


SHA1和SHA256可以通過命令列獲取:

Mac環境:

keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore

Windows環境:

keytool -exportcert -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

輸入命令列後需要輸入金鑰庫口令,預設的金鑰庫口令是android

獲取正式簽名證書SHA1和SHA256的命令列:

keytool -exportcert -list -v \-alias<
your-key-name>-keystore <path-to-production-keystore>

在<your-key-name>填入金鑰名,<path-to-production-keystore>填入金鑰路徑,然後輸入金鑰庫口令即可獲取SHA1和SHA256。

設定動態連結

新增SHA1和SHA256完成後,開啟Firebase的動態連結模組:


在Firebase控制檯的Dynamic Links模組,點選新建動態連結,到達以下介面:


1.設定短連結地址,這就是後面生成的短動態連結,使用預設的就可以,點選下一步


2.設定深層連結,在電腦上開啟會跳轉到這個網址,一般填此app的Google Play連結。筆者隨意填的一個網址用於測試:

https://wkxjc.github.io/peppa_pig.jpg,名稱隨便填,點選下一步


3.針對iOS定義連結行為:在蘋果機上開啟會跳轉的連結地址,可以選擇開啟第2步中定義的深層連結地址,也可以定義在iOS應用中開啟深層連結,如果選擇在iOS應用中開啟連結,那麼就要選擇一個此專案中的iOS應用。然後會細分成:使用者安裝了此應用時,跳轉的連結地址,和使用者沒有安裝此應用時,跳轉的連結地址。由於本專案中沒有iOS應用,就選擇在瀏覽器中開啟第2步中的連結地址,點選下一步。


4.設定Android裝置跳轉的連結。和iOS連結行為類似,可以選擇跳轉到第2步中的連結地址,也可以選擇在Android應用中開啟深層連結。如果使用者沒有安裝此應用,則跳轉到應用的Google Play地址或者自定義網址。高階設定中還可以設定如果應用低於某版本,則開啟Google Play引導使用者更新。一般選擇應用的Google Play頁面即可。但是本例中的應用未在Google Play中上架,所以開啟Google Play會查詢不到應用,那麼筆者將其跳轉到自定義網址:Firebase官方Demo頁面:https://github.com/firebase/quickstart-android。高階設定根據自己的需要勾選,本例中不勾選,點選下一步。


5.廣告系列跟蹤暫時沒用上,直接不填,點選建立。

建立完成後可以在連結詳情中檢視連結:



短動態連結和長動態連結只有長短的區別。點選兩個連結都可以實現我們設定的跳轉。

我們測試一下,在電腦上開啟:


可以看到,確實打開了我們設定的深層連結地址。在ios上開啟也會跳轉到此深層連結,故不再演示。在Android裝置上開啟:


可以看到,跳轉到了Firebase官方Demo的地址。

注:由於Firebase需要翻牆使用,請自備梯子,否則無法跳轉。