簡體   English   中英

Android中的延遲深層鏈接網址

[英]Deferred Deep Linking URL in Android

我想在我的Android應用程序中實現延遲深度鏈接。 我的理解是我需要提供一個網址,當用戶打開網址時,如果尚未安裝該應用,它會將用戶引導至應用或玩商店。 根據我的研究,似乎Android能夠默認解析延遲深度鏈接。 但我的問題是URL來自哪里? Google是否有任何網址構建器可以為我生成或者我是否需要擁有一個網站並為網址編寫一些代碼?

該網址來自任何應用或用戶。 它只是http://example.com/path形式的普通應用程序。 不可思議的是,您的清單會為http方案和example.com/path路徑注冊一個intent過濾器,而Android會將具有該URL的ACTION_VIEW的任何意圖注冊到您的應用程序。 如果你的應用程序沒有安裝,因為它的http url會回退到瀏覽器。 如果url碰巧或重定向到Play商店,那么它也會讓你獲得這種行為。

到目前為止,答案和評論都是指正常的深層鏈接。 它們都不會讓你延遲深度鏈接(即,即使尚未安裝應用程序且用戶需要首先訪問Play商店下載它,也能深層鏈接)。

Vanilla iOS根本不支持延遲深度鏈接。 Android可以通過Android Google Play引薦來實現 ,但它不可靠,並且根本不適用於Chrome。

為此,您可能希望調查像Branch.io這樣的免費第三方服務(完全披露:我在分支機構團隊中)。 Branch平台將所有技術細節和邊緣情況抽象化,因此您需要擔心的是在創建鏈接時定義一組鍵/值參數(例如: articleID: story123 )。 分支確保在用戶單擊鏈接后第一次啟動時,應用程序內部會返回這些參數,無論是否在單擊鏈接時安裝了應用程序。 然后,您可以根據需要使用這些值進行路由/自定義。

Firebase動態鏈接似乎是支持延遲深層鏈接的官方Android方式,如果需要,它將通過安裝UI發送用戶。 它也適用於iOS和Web。

您可以嘗試使用此方案(發送給用戶):

intent://details?id=X&url=Y&referrer=Z#Intent;scheme=market;action=android.intent.action.VIEW;package=com.android.vending;end";

X:應用程序的包名稱

Y:應在App的清單中定義的深層鏈接方案。 (請參閱此處)此處,他們使用此網址作為示例:“ http://www.example.com/gizmos ”,因此Y應替換為此網址。

Z:可以是您想通過Google Play傳遞給應用的任何數據。 請注意,您傳遞的任何數據都不應該“分開”,因為原始參數本身是“&”分開的。

根據我的實驗,瀏覽器會理解此URL,並根據包名稱和深層鏈接方案將您重定向到App。 否則它會帶你進入Google Play。

PS:Google Play會向應用廣播。 因此,請確保您在接收器中收到廣播。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM