###### tags: `Android` # APP Links Deep Link & APP Link https://developer.android.com/training/app-links?hl=zh-tw # Firebase Dynamic Link ## Firebase 環境配置 1. 連結 Firebase 與專案 2. 在 Firebase 設定 Android 的 SHA256、iOS 的 App Store ID、團隊 ID 3. 在 Firebase 開啟動態連結服務 android 可參考以下連結取得 SHA256 [Android | 取得 MD5、SHA1、SHA256 金鑰指紋](https://medium.com/@ab20803/android-%E5%8F%96%E5%BE%97-md5-sha1-sha256-%E9%87%91%E9%91%B0%E6%8C%87%E7%B4%8B-1e7e28382d24) ## 產生連結 產生連結分成手動產生、程式碼產生,手動產生只要至 Firebase 後台即可產生 這裡我們使用程式碼產生連結,可以利用 Firebase 套件或 Rest API 產生連結 :::success 不同平台給予的參數都一致時,產生的連結會一致,能用此方式判斷不同平台的參數是否相同 ::: ## 獲取連結資訊 我們需要設定 intent filter 辨別要接受的資料來源,因此要在 manifest 設定 設定完成後,使用 Firebase 套件來處理 intent 的資訊 要注意的事情是如果 activity 的啟動模式有調整,要記得將處理 intent 的程式碼放在 onNewIntent 的週期中 因為這跟啟動模式有關係,處理好才能保證在各種不同的情況下,點擊連結時能接到後續的邏輯 ## 注意事項 1. 在開啟動態連結服務前,記得要幫專案設定 SHA256、App Store ID、團隊 ID,否則 iOS 可能會發生無法導覽的問題 2. 產生連結時 NavigationInfoParameters 的 setForcedRedirectEnabled 不要設定,這會導致 iOS 無法導覽到 APP,雖然也不清楚這個參數的用途 3. 不同平台給予的參數都一致時,產生的連結會一致,能用此方式判斷不同平台的參數是否相同 ## 參考資料 https://medium.com/@wsrew2000/firebase-dynamic-link%E6%A1%88%E4%BE%8B%E7%A0%94%E7%A9%B6-5f057f6b9903 https://firebase.google.com/docs/dynamic-links/create-links?hl=zh-cn [Android深度链接 Deep Links 和 App Links](https://www.jianshu.com/p/1632be1c2451) [Android DeepLink介绍与使用](https://juejin.im/post/5d8d8646e51d45784e447b70) [Android App Links 設定心得筆記](https://medium.com/@louis383/android-app-links-%E8%A8%AD%E5%AE%9A%E5%BF%83%E5%BE%97%E7%AD%86%E8%A8%98-6bd8ab212297) [Android中使用App Links](https://www.jianshu.com/p/4ae1ae21cbdd) [Android Firebase接入(二)--Firebase 動態連結(Dynamic Links)](https://www.itread01.com/content/1545573271.html)