成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

HTML5頁面調(diào)起APP

import. / 589人閱讀

摘要:背景為了提升的曝光和的用戶新增,添加分享頁的應(yīng)用場景是必不可少的,但是各種平臺環(huán)境不一,要如何兼容和策略處理。

HTML5 call native app 背景

為了提升app的曝光和app的用戶新增,添加H5分享頁的應(yīng)用場景是必不可少的,但是各種平臺環(huán)境不一,要如何兼容和策略處理。下面會一一說明

1. 頁面調(diào)起原生app

調(diào)起原生 app,然后下載APP

不同平臺的兼容和策略處理,比如微信,微博,QQ,QQ空間,瀏覽器

2. HTML5頁面調(diào)起原生APP android、ios調(diào)起的方式
Schame + Android Itent
Schema + Universal links(IOS9+)
3.調(diào)用的方式

拉起手雷

window.location.href= "ftnn:login";

說明:由于無法確定是否安裝了客戶端,因此通過window.location = schema的方式可能導(dǎo)致瀏覽器跳轉(zhuǎn)到錯誤頁;所以通過iframe.src或a.href載入schema是目前比較常見的方法;

代碼實現(xiàn)

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)
}

4. 特殊場景說明
微信

應(yīng)用寶deeplink

微博

中間提示頁

類似于“請在瀏覽器打開”

5. 遇到的問題:不知道手機(jī)有沒有安裝app
嘗試調(diào)起APP,如果不能,使用setTimeout進(jìn)行下載,所以需要進(jìn)行處理,如下圖:
$(document).on("visibilitychange webkitvisibilitychange", function() {
            var tag = document.hidden || document.webkitHidden;
            if (tag) {
                clearTimeout(timer);
            }
        })

    $(window).on("pagehide", function() {
        clearTimeout(timer);
    })
    

當(dāng)手機(jī)安裝了App,能調(diào)起app后就不進(jìn)行下載
沒有安裝App,過了一段時間,進(jìn)行下載

6.H5 page call native app

H5 page call native app

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/88259.html

相關(guān)文章

  • 斗米客戶端的架構(gòu)思想

    摘要:經(jīng)過這些年在端瀏覽器內(nèi)核端研發(fā)經(jīng)驗的積累,年我在斗米的客戶端產(chǎn)品上首次提出了以驅(qū)動的客戶端平臺化架構(gòu)思想,并經(jīng)過兩年時間多個產(chǎn)品的探索實踐,我認(rèn)為該端的架構(gòu)思想可正式對外分享。在斗米的各客戶端中,在不需要發(fā)版的前提下,可以使用發(fā)版。 背景 隨著移動互聯(lián)網(wǎng)產(chǎn)業(yè)的興起,各式App層出不窮,技術(shù)方案多種多樣。同樣,我們也面臨了各式各樣的問題,比如產(chǎn)品如何開發(fā)能夠更快速迭代上線,如何使運(yùn)營推廣...

    Cympros 評論0 收藏0
  • 斗米客戶端的架構(gòu)思想

    摘要:經(jīng)過這些年在端瀏覽器內(nèi)核端研發(fā)經(jīng)驗的積累,年我在斗米的客戶端產(chǎn)品上首次提出了以驅(qū)動的客戶端平臺化架構(gòu)思想,并經(jīng)過兩年時間多個產(chǎn)品的探索實踐,我認(rèn)為該端的架構(gòu)思想可正式對外分享。在斗米的各客戶端中,在不需要發(fā)版的前提下,可以使用發(fā)版。 背景 隨著移動互聯(lián)網(wǎng)產(chǎn)業(yè)的興起,各式App層出不窮,技術(shù)方案多種多樣。同樣,我們也面臨了各式各樣的問題,比如產(chǎn)品如何開發(fā)能夠更快速迭代上線,如何使運(yùn)營推廣...

    lpjustdoit 評論0 收藏0

發(fā)表評論

0條評論

import.

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<