2017-04-17 102 views
1

我們有一個移動網站,我們正在嘗試利用我們的移動網頁進行deepview使用branch.io。branch.io deepview沒有按預期工作

我們跟着在下面的鏈接中提到的步驟:https://dev.branch.io/features/website-to-app-routing/guide/

我們創建了一個新的URL,只有1個參數,即$ FALLBACK_URL = www.xxx.com/a/b和嵌入在下面的js代碼我們的角度js手機網站。我們的android URI架構是abc:// a?x = y

我們在head標籤中添加了branch.io web sdk,並在腳本標籤中添加了以下腳本。

// load the Branch SDK file 
branch.init('Test_key', function(data) {}); 
// define the deepview structure 
branch.deepview({ 
    'channel': 'mobile_web', 
    'feature': 'deepview', 
    data: { 
    '$deeplink_path': 'a?x=y' 
    } 
}, { 
    'open_app': true // If true, Branch attempts to open your app immediately when the page loads. If false, users will need to press a button. Defaults to true 
}, function() { 
    branch.deepviewCta(); 
    console.log('callback'); 
}); 

現在的問題是,移動網站才能正確加載,但是當它試圖在網頁加載後打開手機應用程序,它會嘗試與URL重定向爲「意圖://開放branch_link = ZZZZ」而不是deeplink_url變量中提到的模式。

請幫忙。

回答

0

亞歷克斯從Branch.io這裏:

這是分公司聯繫正確的,預期的行爲。

分支鏈接作爲key:value對的存儲框 - 創建鏈接時指定其中的任意數量(創建鏈接是調用deepview()的幕後操作),然後分支負責返回在應用啓動後向您發送數據。

$deeplink_path參數是特殊的,因爲除了在應用程序啓動時返回,Branch SDK將檢測到它並且(在Android和iOS上)自動嘗試加載該URI目標。 但是,此參數仍包含在鏈接中,並且所有邏輯都發生在另一端,而不是在移動網站加載時將觸發的路徑。

+0

對我來說似乎有點奇怪。如果您剛將用戶重定向到deepview鏈接中定義的方案,會不會更容易? –

+0

事實上並非如此!以這種方式處理邊緣案例要複雜得多,因爲這對於所有瀏覽器都不適用,並且除此之外,這將導致延遲深層鏈接不可能 –