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連結。筆者隨意填的一個網址用於測試:
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需要翻牆使用,請自備梯子,否則無法跳轉。