2016-09-29 48 views
6

下面是我的情景:深層鏈接不能倒退到谷歌市場?

  1. 如果安裝了應用程序,啓動應用程序傳遞一個引用的數據和處理它的內部應用程序。
  2. 如果應用程序沒有安裝,直接到谷歌播放安裝應用程序處理引用數據。

我能夠實現第一種情況

對於方案1,我有

鏈接1:

http://www.xxx.co.in/main?id=4&referrer="+referrer

我的活動配置正確,我能夠實現場景1.

對於場景2,我有

final String url = "http://www.xxx.co.in/main?id=4&referrer="+referrer+"#Intent;scheme=market;action=android.intent.action.VIEW;package=com.xxx&referrer="+referrer+";end";

這我不能夠實現,如果沒有安裝該應用程序,而不是指揮我到Google Play,它試圖打開www.xxx.co.in/main ....在瀏覽器。

這裏出了什麼問題,以及如何實現這一點。

注意:我不想託管自己的服務器,因此從遠程服務器重定向超出範圍。

+0

相當莫名其妙的看到這個沒有答案 –

回答

0

您是在原生Android瀏覽器還是Chrome中打開此鏈接?這看起來像一個意圖鏈接,所以它只能在Chrome中工作,即使格式正確。但是,Chrome不支持Android Play referrer

說實話,這聽起來像是一個完美的用例,用於外部延遲深層鏈接服務,如Branch.io(完全披露:我在分支團隊中)。分支鏈接完全按照您所描述的內容進行,並且他們在全部瀏覽器上執行此操作,同時還可以避免您需要處理所有不同變化的頭痛問題。所有您需要擔心的是在創建鏈接時定義一組鍵/值參數(例如:articleID: story123),Branch確保這些參數在應用程序內部第一次在用戶單擊後啓動後返回給您鏈接,點擊鏈接時是否安裝了應用程序。然後,您可以使用這些值進行路由/自定義,無論您希望如何。

+0

感謝您的答案亞歷克斯。我正在使用chrome。你確定chrome不支持referrer嗎?我一直在使用link2進行推薦。相當一段時間(鉻40)。我仍然相信可以在不使用遠程服務器的情況下實現這兩種功能(我可能錯了,但我仍然相信)。兩種方法獨立工作的事實,所以我不知道爲什麼他們不應該一起工作。 –

+0

實際上它看起來像[最近可能已添加到Chrome](https://bugs.chromium.org/p/chromium/issues/detail?id=459711)。你使用什麼版本? –