摘要:背景為了提升的曝光和的用戶新增,添加分享頁的應用場景是必不可少的,但是各種平臺環境不一,要如何兼容和策略處理。
HTML5 call native app 背景
為了提升app的曝光和app的用戶新增,添加H5分享頁的應用場景是必不可少的,但是各種平臺環境不一,要如何兼容和策略處理。下面會一一說明
1. 頁面調起原生app調起原生 app,然后下載APP
不同平臺的兼容和策略處理,比如微信,微博,QQ,QQ空間,瀏覽器
2. HTML5頁面調起原生APP android、ios調起的方式
拉起手雷
window.location.href= "ftnn:login";
說明:由于無法確定是否安裝了客戶端,因此通過window.location = schema的方式可能導致瀏覽器跳轉到錯誤頁;所以通過iframe.src或a.href載入schema是目前比較常見的方法;
代碼實現
export const locationCallAPP = (url, downloadUrl, ios9Type) => { location.href = url var timeout var t = Date.now() var interval = ios9Type ? 2500 : 1000 timeout && clearTimeout(timeout) timeout = setTimeout(function() { if (Date.now() - t < interval + 1000) { location.href = downloadUrl } }, interval) }
const iframeCallAPP = (url, downloadUrl, ios9Type) => {
console.log("[iframeCallAPP1]"+url)
var timeout
var t = Date.now()
var interval = ios9Type ? 2500 : 2000
timeout && clearTimeout(timeout)
timeout = setTimeout(function () {
if (Date.now() - t < interval+1000) {
console.log("[iframeCallAPP2]"+downloadUrl) location.href = downloadUrl
}
}, interval)
if (ios9Type) {
location.href = url
}
var docNode = document
var iframe = docNode.createElement("iframe")
iframe.setAttribute("src", url)
// iframe.setAttribute("target", "_self");
iframe.setAttribute("style", "display:none")
docNode.body.appendChild(iframe)
setTimeout(function () {
docNode.body.removeChild(iframe)
}, 200)
}
應用寶deeplink
中間提示頁
類似于“請在瀏覽器打開”
5. 遇到的問題:不知道手機有沒有安裝app嘗試調起APP,如果不能,使用setTimeout進行下載,所以需要進行處理,如下圖: $(document).on("visibilitychange webkitvisibilitychange", function() { var tag = document.hidden || document.webkitHidden; if (tag) { clearTimeout(timer); } }) $(window).on("pagehide", function() { clearTimeout(timer); })
當手機安裝了App,能調起app后就不進行下載
沒有安裝App,過了一段時間,進行下載
H5 page call native app
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88259.html
摘要:經過這些年在端瀏覽器內核端研發經驗的積累,年我在斗米的客戶端產品上首次提出了以驅動的客戶端平臺化架構思想,并經過兩年時間多個產品的探索實踐,我認為該端的架構思想可正式對外分享。在斗米的各客戶端中,在不需要發版的前提下,可以使用發版。 背景 隨著移動互聯網產業的興起,各式App層出不窮,技術方案多種多樣。同樣,我們也面臨了各式各樣的問題,比如產品如何開發能夠更快速迭代上線,如何使運營推廣...
摘要:經過這些年在端瀏覽器內核端研發經驗的積累,年我在斗米的客戶端產品上首次提出了以驅動的客戶端平臺化架構思想,并經過兩年時間多個產品的探索實踐,我認為該端的架構思想可正式對外分享。在斗米的各客戶端中,在不需要發版的前提下,可以使用發版。 背景 隨著移動互聯網產業的興起,各式App層出不窮,技術方案多種多樣。同樣,我們也面臨了各式各樣的問題,比如產品如何開發能夠更快速迭代上線,如何使運營推廣...
閱讀 2797·2021-11-17 09:33
閱讀 4469·2021-09-22 15:57
閱讀 2872·2019-08-30 14:16
閱讀 3139·2019-08-29 14:07
閱讀 2418·2019-08-26 11:55
閱讀 3428·2019-08-23 17:07
閱讀 1729·2019-08-23 16:50
閱讀 2541·2019-08-23 16:08