1. 程式人生 > >Universal Link(iOS)踩坑

Universal Link(iOS)踩坑

http://davidleee.com/2017/01/04/universal-link-problems/?utm_source=tuicool&utm_medium=referral

這篇文章講的都是整合 Universal Link 的時候可能會踩的坑,並不會講具體如何使用

官方關聯檔案測試

一般來說,把關聯檔案(apple-app-site-association)佈置好之後,都要使用蘋果提供的官方測試工具測試一下,然而結果很可能是這樣的:
action_required

這個提示大多數與關聯檔案無關。
據瞭解,測試工具會先去爬輸入的網站的資訊,找到關聯檔案,檢查關聯檔案格式,然後執行最關鍵、最有可能導致這個問題的一步:去 App Store 檢查 appID 所對應的應用是否存在。

所以說,如果官方測試通過,那是極好的;但是如果不通過,那就直接測試一下功能。我們現在就是處在官方檢測不通過、功能卻可以正常使用的狀態。

跨域問題

aha
沒想到吧!做移動端的人也有碰到跨域問題的一天!

在蘋果多次迭代 Universal Link 之後,直接將連線丟到瀏覽器位址列裡面開啟已經是不可行的了。更有甚者,通過點選按鈕跳轉的網頁連結 有時候 也不能拉起應用。

這個 有時候 應該就是碰到跨域問題。這種情況下,將連結貼上到備忘錄或者簡訊裡面,發現可以點選拉起應用,那就是跨域問題無疑。

跨域問題:假設當前網頁的地址為 a.com,如果要跳轉的連結也是 a.com 這個域下的,系統將不會進行拉起應用的操作,必須要跳轉不同的子域,例如 

b.com 時,系統才會根據關聯檔案去判斷是否要拉起應用。

雖然不知道蘋果這樣設計的道理,但是解決方法也是很簡單直接,就是讓跳轉連結跨域。

選擇性跳轉

通過 Universal Link 拉起應用之後,你會發現狀態列的右邊有個跳轉到 Safari 的小按鈕,如果你好奇心滿滿地點了下去,那麼恭喜你,這個連結以後就“再也”不會拉起 App,而是直接用 Safari 打開了。

問題就在於,系統會嘗試理解使用者的意圖,當你點了那個跳轉按鈕,系統會認為你想要開啟網頁而不是 App,於是以後就會按照“它認為的”你的意思去執行跳轉。
在瀏覽器打開了一個本可以拉起應用的 Universal Link 時,通過下拉網頁,可以拉出一個開啟對應應用 banner,算是對拉起應用的一點補償吧?

如果使用者點選了網頁頂部 banner 中的“開啟”拉起了應用,下一次使用者再次點選連結的時候,系統就會首先去拉起應用。

簡單來說,系統會記住 Universal Link 最後到達的位置,並將這個位置作為下次的預設開啟選項。

在這個回答裡,可以看到更詳細一些的分析。


相關推薦

Universal LinkiOS

http://davidleee.com/2017/01/04/universal-link-problems/?utm_source=tuicool&utm_medium=referral 這篇文章講的都是整合 Universal Link 的時候可能會踩的坑

SpringCloud從入門到進階——實戰之Zuul服務呼叫失敗與檔案上傳問題

內容   上一節搭建了具有服務熔斷、負載均衡的微服務架構1.0 ,但是在通過路由呼叫微服務時出現了一些直接呼叫微服務沒有的問題,這也是筆者專案中遇到的真實問題。本文查閱了官方文件等資料,介紹該問題的解決方法。 版本   IDE:IDEA 2017.2.2 x64   JDK:1.8.0_171   

Android語音訊息播放MediaPlayer

引言 最近專案中的IM模組收到反映,語音訊息點了之後正在播放卻沒有聲音,有時甚至直接ANR異常,因專案中的IM採用的是網易的雲信,所以第一時間請教了雲信的技術人員,得到的回覆是他們的SDK播放語音是直接封裝呼叫了系統的Api,沒有做任何處理。既然這樣,那就只好自己研究下問題

c# 重載運算符ovveride operator記,關於null比對

漏洞 pre console blog 為什麽 留言 報表 bool 解決辦法 場景描述: 需要比對兩個版本的對應對象是否完全一致(每個屬性值一致),不一致的導出報表顏色標識,以便提醒後續使用報表人員。 實現思路: 對象重載ToString方法,另實現一比對基類(為了通用)

重灌系統後,重新安裝ORACLE加環境變數配置、客戶端PL/SQL的安裝過程,及注意事項避免再次

(1)首先了解什麼是OERACLE及Oracle與PL/SQL是什麼關係: ORACLE是資料庫,有客戶端和伺服器; PLSQL Developer只是第三方工具,服務於ORACLE,類似的工具還有Toad,sqlplus,sql developer等等; 安裝PLSQL Developer

bitcoin 0.10.0 版本 linux 交叉編譯 windows 版本 gitian 編譯 指南

因為 bitcoin 最新版本沒有挖礦程式碼,所以本人基於 bitcoin 0.10.0 版本修改創世塊重新打包了一個新的幣 修改創世快教程 https://blog.csdn.net/wab719591157/article/details/80747043 linux 版本編譯

海思Hi3519A VIDEO IO SAMPLEConflict MMZ

按照手冊執行即可,第一次很順利,但是過了幾天之後,我再載入驅動,報了這個錯誤,如下。 /mnt/smp/a53_linux/mpp/ko # ./load3519av100  -i sensor0mmz_start: 0x32000000, mmz_size: 1760M sys

Ubuntu 16.04安裝NVIDIA驅動含各種經歷(GeForce GTX 970)

        本文為博主個人成功安裝經驗,其中有參考其他國內外網頁資料。有可能針對少數系統情況下不適用吧~ 畢竟網上海量的安裝經驗針對我的電腦卻無法安裝成功,所以寫下此篇經歷希望能幫上此刻無助的你。        環境:已裝雙系統的電腦;        linux版本:Ub

RunningZSSURE:SQLite資料庫操作效率分析

背景: 之前對於資料庫操作部分大多停留在會使用階段,並未真正考慮過資料庫SQL語句的執行效率問題。近期響應專案組其他成員需要,協助手動修改資料庫。為了提高工作效率編寫了C#測試工程進行相關操作。由於資料庫記錄量較大(超過10K條),在編寫程式過程中發現不同的操

小白學開發iOSOC_ block數據類型2015-08-08

main nsobject 改變 char typedef 能夠 div sel 方法 // // main.m // block數據類型 // // Created by admin on 15/8/12. // Copyright (c) 201

小白學開發iOSOC_ 經常使用結構體2015-08-14

轉換成 tracking 小白 epo idt rgb 表示範圍 dsm tor // // main.m // 經常使用結構體 // // Created by admin on 15/8/13. // Copyright (c) 2015年 admin.

小白學開發iOSOC_ SEL數據類型2015-08-10

family face -h per imp font ng- for ret // // main.m // SEL數據類型 // // Created by admin on 15/8/12. // Copyright

多個網絡請求成功返回再執行另外任務的思路分析iOS

cnblogs 運行 == set 聯系 demo use 但是 clas 前言 今天我們來討論一個經常出現的需求場景,也是一個老話題。在開發中我們往往會遇到需要進行多個網絡請求,並且需要多個網絡請求成功返回後再做其他事的場景。比如同一個界面顯示的內容需要用到兩個網絡接口

去掉select 默認樣式ios

option doctype lock enter type pan code ack css <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&

蘋果手機ios拍照上傳圖片旋轉90度問題---java後臺處理

需要先匯入包 metadata-extractor-2.3.1.jar 地址 https://github.com/drewnoakes/metadata-extractor/releases?after=2.7.0 xmpcore-5.1.2.jar 依賴包 maven下載 med

防止UIbutton重複點選ios

文章來自:原始碼線上https://www.shengli.me/css/196.html 使用uibutton的enabled或userIteractionEnabled 使用UIButton的enabled屬性, 在點選後, 禁止UIButton的互動, 直到完成指定任務之後再將其ena

react-native 啟動頁設定ios

使用第三方外掛:react-native-splash-screen 下載地址:https://www.npmjs.com/package/react-native-splash-screen 第一步:安裝下載外掛 1、npm i react-native-splash-screen -

小程式圖片上傳用upng轉base64 圖片旋轉180度的問題 ios

最近業務需要:將圖片轉為base64格式。  so~~~;百度n多資料最後寫成,還是有一點小bug就是生成的圖片不太清晰;  文章最後還有程式碼的下載地址 參考資料: 微信小程式文件-wx.canvasGetImageData UPNG.js下載地址&nb

Springmvc檔案上傳servlet3.0/下載ssm以及

以前在servlet上寫過檔案上傳和檔案下載,最近由於需求需要集合到ssm中,有些坑點以前都忘記了。 檔案上傳:檔案上傳首先要在xml中配置上傳資訊,ssm有強大的過濾功能,你不宣告讓某種型別進來他是進不來的,我是用的是servlet3.0的part上傳檔案,

【SDK接入】使用UnityPlugin接入BuglyiOS

不知不覺已入行將近一年,慢慢開始了碼農生涯。 最近專案中要求接入Bugly,方便隨時檢視遊戲執行的異常。騰訊出品的Bugly工具功能還是很強大的,包括異常上報、收集詳細Log、登入網頁實時檢視。但是,接SDK總會有坑,自己踩完之後希望能幫到同樣情況的碼友。