HTML5頁面調(diào)起APP

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)用的方式

  • <a href="ftnn:login">拉起app</a>
  • <iframe src="ftnn:login"></iframe>
  • 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)
}

export 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. 遇到的問題:不知道手機有沒有安裝app

嘗試調(diào)起APP舀凛,如果不能俊扳,使用setTimeout進行下載,所以需要進行處理猛遍,如下圖:
$(document).on('visibilitychange webkitvisibilitychange', function() {
            var tag = document.hidden || document.webkitHidden;
            if (tag) {
                clearTimeout(timer);
            }
        })

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

當手機安裝了App馋记,能調(diào)起app后就不進行下載
沒有安裝App,過了一段時間,進行下載

6.H5 page call native

H5 page call native這個庫兼容了常見的平臺調(diào)起app懊烤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梯醒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子腌紧,更是在濱河造成了極大的恐慌茸习,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,332評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壁肋,死亡現(xiàn)場離奇詭異号胚,居然都是意外死亡,警方通過查閱死者的電腦和手機浸遗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評論 3 385
  • 文/潘曉璐 我一進店門猫胁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人乙帮,你說我怎么就攤上這事杜漠。” “怎么了察净?”我有些...
    開封第一講書人閱讀 157,812評論 0 348
  • 文/不壞的土叔 我叫張陵驾茴,是天一觀的道長。 經(jīng)常有香客問我氢卡,道長锈至,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,607評論 1 284
  • 正文 為了忘掉前任译秦,我火速辦了婚禮峡捡,結(jié)果婚禮上击碗,老公的妹妹穿的比我還像新娘。我一直安慰自己们拙,他們只是感情好稍途,可當我...
    茶點故事閱讀 65,728評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著砚婆,像睡著了一般械拍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上装盯,一...
    開封第一講書人閱讀 49,919評論 1 290
  • 那天坷虑,我揣著相機與錄音,去河邊找鬼埂奈。 笑死迄损,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的账磺。 我是一名探鬼主播芹敌,決...
    沈念sama閱讀 39,071評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绑谣!你這毒婦竟也來了党窜?” 一聲冷哼從身側(cè)響起拗引,我...
    開封第一講書人閱讀 37,802評論 0 268
  • 序言:老撾萬榮一對情侶失蹤借宵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后矾削,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壤玫,經(jīng)...
    沈念sama閱讀 44,256評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,576評論 2 327
  • 正文 我和宋清朗相戀三年哼凯,在試婚紗的時候發(fā)現(xiàn)自己被綠了欲间。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,712評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡断部,死狀恐怖猎贴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝴光,我是刑警寧澤她渴,帶...
    沈念sama閱讀 34,389評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站蔑祟,受9級特大地震影響趁耗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疆虚,卻給世界環(huán)境...
    茶點故事閱讀 40,032評論 3 316
  • 文/蒙蒙 一苛败、第九天 我趴在偏房一處隱蔽的房頂上張望满葛。 院中可真熱鬧,春花似錦罢屈、人聲如沸嘀韧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乳蛾。三九已至,卻和暖如春鄙币,著一層夾襖步出監(jiān)牢的瞬間肃叶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,026評論 1 266
  • 我被黑心中介騙來泰國打工十嘿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留因惭,地道東北人。 一個月前我還...
    沈念sama閱讀 46,473評論 2 360
  • 正文 我出身青樓绩衷,卻偏偏與公主長得像蹦魔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子咳燕,可洞房花燭夜當晚...
    茶點故事閱讀 43,606評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,837評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理勿决,服務(wù)發(fā)現(xiàn),斷路器招盲,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • - 01 - 大薇一個人坐在咖啡廳的角落曹货。 陽光從窗外的間隙打到她的臉上咆繁,長發(fā)順勢從耳后滑落,在書上輕掃顶籽。 桌前放...
    公主悅讀閱讀 348評論 0 1
  • 1 不要一開口就談產(chǎn)品,這樣容易讓人厭煩玩般。 2 跟進電話要松緊有度,開始時一個月一次,接近成交時一周一次或幾天一次...
    七七追劇站閱讀 14,565評論 0 5
  • 此刻才覺得身體是最重要的本錢!
    豪癖ィ慧HelenLiu閱讀 89評論 0 0