精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

網頁端「應用跳轉」技術實現演變

移動開發 Android
由于網頁傳播的便捷性,從網頁向APP導流幾乎是所有APP廠商都會采用的推廣手段,具體來說就是在網頁上提供一些觸發點(例如按鈕、鏈接),用于跳轉到APP。

由于網頁傳播的便捷性,從網頁向APP導流幾乎是所有APP廠商都會采用的推廣手段,具體來說就是在網頁上提供一些觸發點(例如按鈕、鏈接),用于跳轉到APP。 

URL Scheme

早期的應用跳轉只能通過「URL Scheme」實現。例如通過下面這個「URL Scheme」,就可以跳轉到「貝聊APP」:

ibeiliao://

在網頁中調用「URL Scheme」也有多種方法:

 

<!-- 方案一:鏈接跳轉 -->
<a href="ibeiliao://">打開貝聊</a>

<!-- 方案二:JS跳轉 -->
<a href="javascript:location.href='ibeiliao://'">打開貝聊</a>

<!-- 方案三:iframe調用 -->
<span id="open-ibeiliao">打開貝聊</span>
<script>
document.getElementById('open-ibeiliao').onclick = function() {
var iframe = document.createElement('iframe');
iframe.src = 'ibeiliao://';
iframe.style.display = 'none';
document.body.appendChild(iframe);
setTimeout(function(){
document.body.removeChild(iframe);
}, 3000);
};
</script>

 

原本「方案三」是***的,因為在沒有安裝對應APP的情況下,另外兩個方案在iOS Safari下都會出現「瀏覽器無法打開網頁」的彈框。

 

沒有安裝APP時的彈框

然而,「方案三」是***“陣亡”的,最早是在iOS 9中的Safari失效,后來在某些安卓機的瀏覽器也不行了,所以目前只能用「方案一」和「方案二」,而iOS Safari下的那個彈框也就無法避免了。

理論上,「URL Scheme」可以在任何瀏覽器以及APP中的WebView使用,但實際上卻是被大量APP封殺,幾乎是只能在瀏覽器類的APP中使用。因為大部分廠商都不希望用戶離開自己的APP。

打開還是下載?

前文提到了一個問題,萬一設備上沒有安裝要跳轉的APP,那怎么辦呢?正常來說,應該要跳到該APP的下載頁。然而,這里面***的難題是:網頁端基本上無法獲知當前設備是否已安裝某個APP(之所以加上“基本”二字,是因為網頁在微信內運行時,可通過調用微信內部的JS API實現此功能,但該API只對騰訊的“關系戶”開放)。

后來,人們想出了一種解決方案:在使用「URL Scheme」跳轉的同時,通過定時器在一定時間之后跳轉到下載頁。倘若設備上有安裝APP,就會跳到APP,否則在一定時間后就會跳到下載頁。

<span id="open-ibeiliao">打開貝聊</span>
<script>
document.getElementById('open-ibeiliao').onclick = function() {
window.location.href = 'ibeiliao://';
setTimeout(function() {
window.location.;
}, 1000);
};
</script>

這么做基本上是達到了目的,但是有兩處體驗問題仍然無法解決:

  • 即便已經安裝APP,瀏覽器也會跳到下載頁。用戶從APP返回瀏覽器時會發現莫名其妙地出現了下載頁。
  • 在沒有安裝APP的情況下,iOS Safari的彈框還是無法避免,但是跳到下載頁之后會消失。

應對封殺

前文有提及,「URL Scheme」被大量APP封殺,其中就包括常用的QQ和微信,但是沒有誰會放棄這兩個重要渠道,所以還是得想轍。

最無奈的解決方案就是提示用戶「用瀏覽器打開網頁」,繼而讓用戶在瀏覽器中打開APP。然而,這對非IT人士來說,操作起來還是有一點繁雜的。

另一種好一點的做法是,先跳轉到騰訊的「應用寶」,「應用寶」會根據設備是否已裝APP去執行打開或者下載操作。當然,這種做法需要把APP傳到「應用寶」,而且只對騰訊系的APP有效;對于其他APP,仍然只能提示「用瀏覽器打開網頁」。

 

應用寶

***一個解決方案就是下文要講述的「Universal Links」。

Universal links

「Universal links」,中文翻譯為「通用鏈接」,從iOS 9開始支持,僅通過普通的https請求就能跳轉到指定的應用。

開發者可以把應用的下載頁地址配置為一條通用鏈接,這樣,用戶在進入下載頁時:

  • 如果設備上已安裝APP,則進入APP;
  • 如果設備上沒有安裝APP,則進入下載頁,再也沒有那個煩人的彈框了。

最重要的是,通過「通用鏈接」,即使在微信、QQ內,也能如絲般順滑地跳到自家APP。大家都以為這是系統級別的處理,無法被任何APP封殺,直到不久前的一天,它在微信下跪了。。。根據某大神的分析,蘋果還是給「通用鏈接」留下了“后門”可以讓其失效。

而在Android系統下,也有類似的技術,即App Links,從Android M開始支持。但由于國內安卓版本碎片化比較嚴重,所以應用還不怎么廣泛。

小結

講到這,先小結一下應用跳轉的實現方案。

Android:

  • 微信、QQ:「URL Scheme」不可用,可通過「應用寶」中轉。
  • 瀏覽器:「URL Scheme」可用。
  • 其他APP:提示用瀏覽器打開。

iOS>=9(支持「Universal Links」):

  • 微信:「URL Scheme」和「Universal Links」均不可用,通過「應用寶」中轉。
  • QQ:「Universal Links」尚且可用。
  • QQ瀏覽器:「Universal Links」不可用,但「URL Scheme」可用。
  • 其他APP:「Universal Links」可用。

iOS<9(不支持「Universal Links」):

  • 微信、QQ:「URL Scheme」不可用,提示用瀏覽器打開。
  • 各瀏覽器:「URL Scheme」可用。
  • 其他APP:提示用瀏覽器打開。

要注意的是,所謂的「其他APP」是無法準確檢測的,只能根據APP在User Agent中增加的特殊關鍵字(例如新浪微博的「Weibo」)逐個判斷。

打開APP的指定頁

需求是無止境的,能從網頁進入APP只是開始,下一步就是跳轉到指定頁面。這里所說的指定頁面,可能是原生的頁面,也可能是某個網頁。這個過程的關鍵在于打開APP時如何把頁面路徑傳過去。

先從「URL Scheme」說起。我們可以給「URL Scheme」加上路徑和參數,例如:

my-app://open?url=https%3A%2F%2Fcn.bing.com%2F

APP端只要解析參數,繼而打開對應的頁面即可。對于「Universal Links」來說,也是同理:

https://my-app.com/download?url=https%3A%2F%2Fcn.bing.com%2F

正如上文所說,「URL Scheme」和「Universal Links」都被微信封殺了。如果通過「應用寶」中轉,上述url參數是無法傳到APP的。在這種情況下,就得尋找一個微信WebView和APP都可以共同讀寫的空間來傳遞數據,例如剪貼板。下面這個JS函數可以實現對剪貼板的寫入:

 

function copyToClipboard(content) {
var textarea = document.createElement('textarea');
textarea.style.position = 'absolute';
textarea.style.left = '-1000px';
textarea.style.top = '-1000px';
textarea.value = content;
textarea.readOnly = true;
document.body.appendChild(textarea);

textarea.select();
textarea.setSelectionRange(0, textarea.value.length);

var result = false;
try {
result = document.execCommand('copy');
} catch (e) {

}

document.body.removeChild(textarea);
textarea = null;

return result;
}

跳轉到APP的應用寶地址之前,把要打開的頁面地址以約定好的格式寫入剪貼板:

 

copyToClipboard('my-app:open?url=https%3A%2F%2Fcn.bing.com%2F');
location.href = 'my-app的應用寶地址';

通過「應用寶」打開APP后,APP端按照約定格式解析剪貼板內容打開對應的頁面即可。

這里有一個細節:為什么不直接以完整的「my-app://open?url=」寫入剪貼板,而要特意去掉「//」?這是因為在Android系統下,某些瀏覽器APP會把剪貼板中的「URL Scheme」識別為網址,然后提示用戶是否打開。對于用戶來說,點擊「打開APP」出現這個提示,就有點莫名其妙了。

當然,「剪貼板方案」也存在一些問題:

  • 會覆蓋用戶的剪貼板內容。
  • 部分Android系統的原生瀏覽器不支持通過JS訪問剪貼板,不過這不是問題,因為在瀏覽器中大可以用「URL Scheme」。

如果不想用「剪貼板方案」,還是可以提示用戶用瀏覽器打開頁面的。具體如何取舍,就看各自產品經理的決定了。

責任編輯:未麗燕 來源: Heero's Blog
相關推薦

2020-06-18 10:25:16

Cockpit用戶界面運維

2021-06-22 13:52:13

綜合布線數據中心智能建筑

2024-01-03 08:22:32

移動應用頁面跳轉

2011-08-15 13:50:06

IPhone開發UIView動畫

2023-02-28 11:07:22

2022-07-27 17:40:47

技術人臉識別移動

2013-08-08 09:48:10

Web

2017-07-26 14:55:32

分布式技術架構

2009-02-09 16:06:22

內存虛擬化VMware微軟

2020-10-28 09:12:48

React架構Hooks

2014-06-17 14:01:34

Mysql網站架構

2024-05-07 07:00:00

智能機器人工業機器人人工智能

2019-07-04 13:05:18

MySQL設計數據庫

2021-03-05 07:27:59

技術架構演變

2023-01-04 08:55:46

2024-07-17 09:03:56

2009-09-29 16:41:55

2016-08-08 13:59:02

MySQL架構數據庫

2024-09-28 10:50:08

數據飛輪數據中臺數據技術

2018-09-30 00:00:00

點贊
收藏

51CTO技術棧公眾號

成人黄色免费网站| 视频一区二区三区国产| 国产精品成人av| 欧美mv和日韩mv的网站| 成人免费aaa| 成黄免费在线| 粉嫩高潮美女一区二区三区| 欧美在线精品免播放器视频| 日本少妇xxxxx| 亚洲网一区二区三区| 午夜精品久久久久久久久久久| 久久久久久国产精品mv| 一级特黄aaa大片| 亚洲经典在线看| 日韩中文视频免费在线观看| 午夜影院福利社| 九九九伊在线综合永久| 亚洲一区二区综合| 亚洲欧美丝袜| 三级黄视频在线观看| 国内国产精品久久| 欧美做受高潮1| 精品99在线观看| 日韩电影免费网站| 亚洲精品国精品久久99热 | 精品一区二区在线免费观看| 国内免费久久久久久久久久久| 久久久国产一级片| 亚洲va久久| 亚洲高清一二三区| 国产成人精品综合久久久久99 | 欧美性受xxxx| 91免费版看片| 久热国产在线| 国产欧美一区二区三区鸳鸯浴 | 亚洲在线观看免费视频| 亚洲最大色综合成人av| 精品成人一区二区三区免费视频| 成人免费视频播放| 成人三级视频在线观看一区二区| 在线观看毛片av| 日本女人一区二区三区| 日本精品视频在线观看| 亚洲精品视频在线观看免费视频| 好吊日精品视频| 久久69精品久久久久久久电影好| 99久久精品久久亚洲精品| 欧美日韩国产传媒| 亚洲人成电影在线| 欧洲美一区二区三区亚洲 | 国产精品一级黄| 川上优av一区二区线观看| 国产精品露脸视频| 日韩成人伦理电影在线观看| 国产成人自拍视频在线观看| 性色av免费观看| 久久精品一区| 国产福利视频一区二区| 国产一级免费视频| 日韩中文字幕不卡| 国产精品视频久久| 一级做a爱片久久毛片| 久久精品国产免费看久久精品| 国产精品永久在线| 国产一区二区女内射| 九九九久久久精品| 91九色蝌蚪嫩草| 亚洲经典一区二区三区| av电影在线观看一区| 热re99久久精品国产99热| 黄色av网站在线| 国产精品久线在线观看| www.-级毛片线天内射视视| 欧美亚洲天堂| 欧美午夜精品久久久久久浪潮| 久久久精品在线视频| 国产一区一一区高清不卡| 精品视频在线看| 亚洲AV无码久久精品国产一区| 136福利精品导航| 日韩精品999| 国内精品卡一卡二卡三| 国产精品传媒精东影业在线| 欧美国产一区二区三区| 偷偷操不一样的久久| 日韩精品电影在线观看| **亚洲第一综合导航网站| 神马一区二区三区| 中文字幕免费一区| 日韩在线观看a| 中文日韩电影网站| 国产xxxx振车| 欧美xo影院| 3d动漫精品啪啪| 成人性生活免费看| 不卡在线一区| 欧美丰满少妇xxxxx做受| 亚洲黄色小说图片| 久久国产麻豆精品| 国产精品国产三级国产专区53 | 日韩欧美精品免费| 日韩福利一区| 欧美tk丨vk视频| 日本二区在线观看| 精品二区视频| 国产日韩欧美电影在线观看| 天天舔天天干天天操| 国产精品久久久久久一区二区三区| 免费人成在线观看视频播放| 国产精品亚洲一区二区三区在线观看| 欧美一区二区三级| 人妻视频一区二区| 亚洲精品系列| **亚洲第一综合导航网站| 国产系列在线观看| 亚洲成人av在线电影| 日韩av片专区| 精品日产免费二区日产免费二区| 欧美精品aaa| 91麻豆成人精品国产| 久久综合五月天婷婷伊人| 国产精品啪啪啪视频| 国产精品久久亚洲不卡| 亚洲国产精品久久久| 国产少妇在线观看| 麻豆国产欧美一区二区三区| 精品999在线观看| 三级网站视频在在线播放| 欧美日韩一级视频| 国产精品成人无码免费| 久久一区中文字幕| 国产视频在线观看一区| 欧美videossex| 91精品国产综合久久福利软件| 成人激情五月天| 久久综合图片| 国产伦精品一区二区三区视频免费 | av在线不卡精品| 亚洲欧美第一页| 国产精品视频久久久久久久| 成人精品高清在线| 草b视频在线观看| av自拍一区| 欧美激情在线狂野欧美精品| 99精品国产99久久久久久97| 中文字幕一区二区三区不卡 | 三上悠亚免费在线观看| 国产精品美女午夜爽爽| 亚洲人免费视频| 日韩精品久久久久久免费| 国产日韩一级二级三级| 老熟妇仑乱视频一区二区| 国产99亚洲| 国产成人精品综合久久久| 成人精品一区| 欧美日韩国产不卡| 永久免费未视频| 国产老女人精品毛片久久| 欧洲xxxxx| 色播一区二区| 97国产精品免费视频| 日韩一区免费视频| 欧美日韩国产黄| 欧美老熟妇乱大交xxxxx| 视频一区国产视频| 亚洲一二区在线| 日本精品视频| 91国产视频在线播放| 久久国产精品高清一区二区三区| 欧美在线观看一区二区| 亚洲春色在线| a级黄色片免费看| 国产成+人+日韩+欧美+亚洲| 九色自拍视频在线观看| 亚洲素人在线| 成人国产精品一区| 欧美野外wwwxxx| 亚洲欧美日韩中文视频| 艳妇乳肉豪妇荡乳av| 一区二区视频在线看| 在线免费观看污视频| 日韩精品久久久久久| 九九久久九九久久| 中文字幕伦av一区二区邻居| 91精品国产综合久久香蕉922 | 亚洲色图第一区| 亚洲色偷偷色噜噜狠狠99网| 性xx色xx综合久久久xx| 国产对白在线播放| 国产成人精品福利| 国产精品久久久久福利| 日皮视频在线观看| 亚洲色图av在线| 国产视频手机在线观看| 福利一区视频在线观看| 亚洲人做受高潮| www.激情成人| 国产高清999| 亚洲欧美日韩国产综合精品二区| 在线观看成人一级片| 欧美91在线| 成人午夜在线观看| 欧美最新精品| 久久久欧美一区二区| 在线看黄色av| 亚洲毛片在线免费观看| 国产美女明星三级做爰| 色综合久久久久久久久久久| 免费无遮挡无码永久在线观看视频 | 国产高清在线a视频大全 | 欧美三级乱人伦电影| 久久久夜色精品| 国产精品久久免费看| 久久久久成人精品无码中文字幕| 精一区二区三区| 日本888xxxx| 国产日韩一区二区三区在线播放| 美国av在线播放| 日韩极品一区| 奇米影视首页 狠狠色丁香婷婷久久综合| 在线视频亚洲欧美中文| 成人国产精品一区二区| 欧美123区| 青青久久av北条麻妃黑人| av蜜臀在线| 欧美成人第一页| 欧美高清视频| 中文字幕日韩av| 国产免费av在线| 国产午夜精品麻豆| 同心难改在线观看| 精品福利一区二区三区免费视频| 99产精品成人啪免费网站| 欧美在线不卡视频| 国产成人麻豆免费观看| 色婷婷精品大视频在线蜜桃视频| 少妇一级淫片免费放中国| 亚洲午夜在线电影| 国产精品第一页在线观看| 一级中文字幕一区二区| wwwav国产| 亚洲精品写真福利| a级片在线观看免费| 亚洲精品日韩一| 久久久久久免费观看| 一区二区三区免费看视频| 久久精品www人人爽人人| 亚洲精品成人天堂一二三| 久久99精品久久久久久青青日本 | 成人黄色在线看| 国产成人精品一区二区三区在线观看| 国产一区二区精品在线观看| 手机av在线网站| 国产不卡一区视频| 精品影片一区二区入口| aa级大片欧美| japanese中文字幕| 国产精品免费视频网站| 黄色片子在线观看| 一区二区三区不卡视频| 国产五月天婷婷| 日韩欧美在线观看视频| 中文字幕乱码视频| 在线不卡的av| 性欧美一区二区三区| 亚洲第一页在线| 男女污污视频在线观看| 在线视频日本亚洲性| 黄色在线视频网站| 久久久久亚洲精品| 奇米777日韩| 国产深夜精品福利| 99re8这里有精品热视频8在线| 好吊色欧美一区二区三区四区| 亚洲欧美tv| 一级做a爰片久久| 欧美日本一区| 日韩一级在线免费观看| 美女视频一区二区| jjzz黄色片| 国产午夜久久久久| www.色小姐com| 欧美日韩另类在线| 亚洲天堂手机版| 精品国产精品一区二区夜夜嗨 | 不卡av日日日| 成人免费看视频网站| 成人激情黄色网| 麻豆精品av| 亚洲一区二区三区色| 激情久久一区| 亚洲一级片网站| 99久久精品免费看国产免费软件| 日本一级免费视频| 亚洲一区二区高清| 亚洲无码精品在线观看| 亚洲精品999| 免费a级人成a大片在线观看| 91精品国产乱码久久久久久蜜臀| 国产精品第一| 久久99九九| 欧美jjzz| 超碰超碰在线观看| 91麻豆产精品久久久久久 | 韩国久久久久| 亚洲免费999| 91视频免费播放| 国产亚洲欧美精品久久久久久 | 欧美专区日韩视频| 亚洲国产中文在线| 亚洲精品第一区二区三区| 亚洲另类自拍| 超碰人人cao| 国产日韩欧美综合在线| 毛片毛片女人毛片毛片| 欧美一级二级在线观看| 91女主播在线观看| 日本sm极度另类视频| 福利在线一区| 蜜桃视频一区二区在线观看| 免费观看在线色综合| 小早川怜子久久精品中文字幕| 亚洲成人av电影| 成人黄色在线观看视频| 久久精品99久久久久久久久| 欧美影视资讯| 日本不卡一区二区三区视频| 亚洲少妇在线| 欧美无人区码suv| 亚洲国产精品一区二区尤物区| 99精品在线看| 日韩视频在线观看免费| 国产成+人+综合+亚洲欧美| 日本一区二区三区www| 久久福利一区| 人妻无码一区二区三区| 午夜一区二区三区在线观看| 日本黄色不卡视频| 国模叶桐国产精品一区| 91午夜精品| 2018中文字幕第一页| 福利电影一区二区| 日本三级欧美三级| 欧美精品一区在线观看| av免费不卡| 精品婷婷色一区二区三区蜜桃| 99亚洲精品| 精品久久久久久中文字幕人妻最新| 天天做天天摸天天爽国产一区| 五月婷婷六月丁香综合| 69久久夜色精品国产69乱青草| 欧美sss在线视频| 1024av视频| 国产性色一区二区| 亚洲一区中文字幕在线| 日韩在线高清视频| 精品午夜视频| 久艹在线免费观看| 久久综合九色综合97_久久久| www.毛片.com| 这里只有精品丝袜| а天堂中文最新一区二区三区| 91九色国产ts另类人妖| 东方aⅴ免费观看久久av| 国产成人自拍视频在线| 一区二区福利视频| **国产精品| 欧美精品久久久久久久久久久| 91丝袜高跟美女视频| 波多野结衣在线观看一区| 日韩中文字幕久久| gogo人体一区| 妞干网在线免费视频| 国产精品不卡视频| 亚洲乱码精品久久久久..| 欧美亚洲在线视频| 93在线视频精品免费观看| 日本人妻一区二区三区| 欧美日韩中国免费专区在线看| 国产午夜在线观看| 超碰在线97av| 日韩精品一级二级| 欧美日韩国产精品综合| 亚洲男人天堂2024| 国产日韩一区二区三免费高清 | 蜜臀a∨国产成人精品| 深夜福利影院在线观看| 亚洲乱码国产乱码精品精| 国产亚洲高清在线观看| 国产免费毛卡片| 日韩美女精品在线| 青青草超碰在线| 91影视免费在线观看| 欧美一区=区| 日本少妇高清视频| 亚洲一级一级97网| 这里视频有精品| 粉色视频免费看| 欧美午夜视频在线观看| 在线免费观看a视频|