Html link == URL(Uniform Resource Locator 统一资源定位符) == h5链接 Deeplink == dp == 深链 App links == 应用链接 URI:Uniform Resource Identifier 统一资源标志符 H5页面:泛指html页面 Native页面:应用内置页面 —— 我们通常所说deeplink后面言外之意是打开应用内置页面 举例:

Html link
Deeplink
adb唤起Deeplink
用短链实现的Deeplink
rcs.10086.cn/MAOu5F 对比下短信点击跳转浏览器打开Native页面 vs 飞书点击链接 vs 微信点击链接 vs OPPO自带浏览器输入地址 vs Chrome浏览器输入地址 效果
不论是html link还是Deeplink都是一只URI,而html link是一种URL最常用于互联网链接,专业解释URI的话,下面有一张维基百科上的图
复制成功hierarchical part ┌───────────────────┴─────────────────────┐ authority path ┌───────────────┴───────────────┐┌───┴────┐ abc://username:password@example.com:123/path/data?key=value&key2=value2#fragid1 └┬┘ └───────┬───────┘ └────┬────┘ └┬┘ └─────────┬─────────┘ └──┬──┘ scheme user information host port query fragment urn:example:mammal:monotreme:echidna └┬┘ └──────────────┬───────────────┘ scheme path
简单理解URI与URL区别的话,可以通过上图中scheme来区分,shceme为http或者https的为URL
我们通常说的短链接就是html link,跟其他url链接没任何区别。如果非要牵强定义下区别的话,那其实是在业务场景中使用的区别:
点击短链打开浏览器,短链完成一次301跳转,跳转后链接对应的h5页面中有一段js,浏览器执行该js跳转至Native页面 rcs.10086.cn/MAOu5F 短链 https://rcs.10086.cn/aim/ec/h5/h5web.html#/index?aimCode=MAOu5F 原链 kwai://live/play/~188888880?sourceType=297&liveSource=DIANSHANG_DXQ Deeplink uri
第一次302跳转,从rcs.10086.cn/MAOu5F到https://rcs.10086.cn/aim/ec/h5/h5web.html#/index?aimCode=MAOu5F

通过下载https://rcs.10086.cn/aim/ec/h5/h5web.html#/index?aimCode=MAOu5F页面内容,从中找到chunk-4a3a3b46.de4918e7.js里面有一段发起post请求到 https://rcs.10086.cn/aim/h5/H5Service/v1/TemplateManage/downloadTplResource

请求:
复制成功{ "aimCode": "MAOu5F" }
响应:
复制成功{ "message": "成功", "subCode": 0, "data": { "tplId": 500054751, "mobile": null, "dyncParam": "{}", "customUrl": "https://aglc.cn/v-UlGUg", "aimUrl": "rcs.10086.cn/MAOu5F", "custFlag": "18888888888", "invalidTime": "2022-08-25 10:39:31", "taskId": 720072913172058112, "extData": "720072913172058112", "companyId": 719687001246298112, "agentId": 0, "aimTemplate": [{ "tmId": 719799397101121536, "tplId": 500054751, "tplName": "红包818-2", "sceneType": "活动营销", "dsflag": null, "tplState": "1", "disableType": "0", "disableDesc": "", "disableOpr": "", "disableTime": "1970-01-01 00:00:00", "tplMsgType": "1", "auditState": "5", "factoryAuditState": null, "tplDesc": "模板", "assigncount": null, "industryId": 0, "useId": 552659932952965120, "createFrom": "5", "tplUse": "2", "agentId": 0, "tplTable": "", "invalidTime": null, "creator": "", "updater": "", "createTime": "2022-08-17 16:32:40", "updateTime": "2022-08-17 17:14:53", "digitalCertificate": "", "digitalCertificatePicture": "", "digitalDesc": "", "companyId": 719687001246298112 }], "aimTempParam": [], "aimTempContent": [{ "tcId": 719799362871406592, "tplId": 500054751, "tmpcontent": "[{\"typeIndex\":0,\"cardId\":\"com.hbm.redpacket\",\"style\":{\"width\":\"342px\",\"opacity\":1,\"height\":\"456px\"},\"label\":\"主页1\",\"tag\":\"page1\",\"content\":[{\"visible\":true,\"src\":\"https://f.10086.cn/aimmaterial/material/download/2022-05-17-02-1f25f7109af94d2b840fd22f9dd1d88d.png\",\"h\":456,\"active\":false,\"isBgimg\":true,\"type\":\"image\",\"skipReplaceSrc\":true,\"size\":0,\"borderRadius\":0,\"w\":342,\"x\":0,\"y\":0,\"notValid\":true,\"angle\":0,\"style\":{\"padding\":0,\"borderRadius\":0,\"borderWidth\":0,\"borderStyle\":\"none\"},\"z\":0,\"tag\":\"图片2\",\"locked\":true,\"event\":{\"packageNames\":\"\",\"subject\":\"\",\"navType\":2,\"latitude\":\"\",\"description\":\"\",\"floorType\":0,\"txtButton\":\"\",\"body\":\"\",\"content\":\"\",\"target\":\"\",\"merchantName\":\"\",\"browserFloorUrl\":\"\",\"mode\":0,\"floorUrl\":\"\",\"copyType\":1,\"action\":\"\",\"longitude\":\"\"}},{\"serviceType\":0,\"visible\":false,\"src\":\"./static/img/defaultImg2.jpg\",\"h\":23,\"active\":false,\"type\":\"serviceNumber\",\"serviceName\":\"请选择服务号\",\"skipReplaceSrc\":true,\"borderRadius\":0,\"w\":342,\"x\":0,\"y\":348,\"angle\":0,\"style\":{\"padding\":0,\"borderRadius\":0,\"color\":\"#fff\",\"textAlign\":\"center\",\"borderWidth\":0,\"borderStyle\":\"none\"},\"z\":0,\"tag\":\"服务号redpacket_1\",\"locked\":true,\"serviceID\":\"\"},{\"visible\":true,\"proportion\":[1,1],\"src\":\"https://f.10086.cn/aimmaterial/material/download/2022-08-17-08-034514237ef646a79060d81327caf3c4.png\",\"bg\":{\"proportion\":[9,5],\"src\":\"https://f.10086.cn/aimmaterial/material/download/2022-07-18-06-6662f81703e54200a718975bd4c9d84e.jpg\",\"w\":342,\"h\":190},\"h\":70,\"active\":false,\"type\":\"image\",\"oppobg\":{\"proportion\":[3,4],\"src\":\"https://f.10086.cn/aimmaterial/material/download/2022-07-18-06-ada79c5feb8241d49ef04491f913ab44.jpg\",\"w\":342,\"h\":456},\"size\":0,\"borderRadius\":0,\"w\":70,\"x\":136,\"y\":44,\"angle\":0,\"style\":{\"padding\":0,\"borderRadius\":\"70px\",\"borderWidth\":0,\"borderStyle\":\"none\"},\"z\":0,\"tag\":\"图片1\",\"locked\":true,\"event\":{\"oldUrl\":\"https://aglc.cn/v-UlGUg\",\"packageNames\":\"\",\"subject\":\"\",\"navType\":2,\"latitude\":\"\",\"description\":\"\",\"floorType\":0,\"txtButton\":\"\",\"body\":\"\",\"content\":\"\",\"target\":\"https://f.10086.cn/s/#xU7oqJ\",\"merchantName\":\"目标地址,精彩即将呈现\",\"browserFloorUrl\":\"\",\"mode\":0,\"floorUrl\":\"\",\"copyType\":1,\"action\":\"OPEN_BROWSER\",\"longitude\":\"\"},\"isBg\":0},{\"visible\":true,\"h\":23,\"active\":false,\"title\":\"true\",\"type\":\"text\",\"textMaxlength\":36,\"passItem\":false,\"textOPPOLength\":24,\"w\":342,\"x\":0,\"y\":128,\"angle\":0,\"z\":2,\"style\":{\"backgroundColor\":\"transparent\",\"fontFamily\":\"微软雅黑\",\"color\":\"#ffffff\",\"textAlign\":\"center\",\"letterSpacing\":0,\"fontSize\":\"14px\",\"textDecoration\":\"none\",\"lineHeight\":1.5,\"boxSizing\":\"border-box\",\"fontStyle\":\"normal\",\"opacity\":1,\"fontWeight\":\"700\"},\"tag\":\"文本1\",\"text\":\"818四周年生日快乐!\",\"locked\":true,\"event\":{}},{\"visible\":true,\"h\":40,\"active\":false,\"type\":\"text\",\"textMaxlength\":22,\"passItem\":false,\"w\":342,\"x\":0,\"y\":196,\"angle\":0,\"z\":2,\"style\":{\"backgroundColor\":\"transparent\",\"fontFamily\":\"微软雅黑\",\"color\":\"#ffffff\",\"textAlign\":\"center\",\"letterSpacing\":0,\"fontSize\":\"24px\",\"textDecoration\":\"none\",\"lineHeight\":1.5,\"boxSizing\":\"border-box\",\"fontStyle\":\"normal\",\"opacity\":1,\"fontWeight\":\"700\"},\"divTextAreaTitle\":\"true\",\"tag\":\"文本2\",\"text\":\"辛巴喊你瓜分8180万\",\"locked\":true,\"event\":{}},{\"visible\":true,\"h\":69,\"active\":false,\"type\":\"text\",\"textMaxlength\":108,\"passItem\":false,\"textOPPOLength\":76,\"w\":280,\"x\":31,\"y\":236,\"angle\":0,\"z\":2,\"style\":{\"backgroundColor\":\"transparent\",\"fontFamily\":\"微软雅黑\",\"color\":\"#ffffff\",\"textAlign\":\"center\",\"letterSpacing\":0,\"fontSize\":\"14px\",\"textDecoration\":\"none\",\"lineHeight\":1.5,\"boxSizing\":\"border-box\",\"fontStyle\":\"normal\",\"opacity\":1,\"fontWeight\":\"700\"},\"divTextAreaContent\":\"true\",\"tag\":\"文本3\",\"text\":\"818四周年生日快乐!辛巴等你回家!海量优惠等你来拿\",\"locked\":true,\"event\":{}},{\"visible\":true,\"pageTitle\":\"\",\"h\":40,\"active\":false,\"type\":\"button\",\"target\":\"\",\"disableName\":true,\"w\":202,\"x\":70,\"y\":381,\"angle\":0,\"action\":\"OPEN_APP\",\"z\":3,\"style\":{\"padding\":0,\"backgroundColor\":\"#ff9800\",\"color\":\"#ffffff\",\"textAlign\":\"center\",\"letterSpacing\":0,\"textDecoration\":\"none\",\"boxSizing\":\"border-box\",\"fontStyle\":\"normal\",\"fontFamily\":\"微软雅黑\",\"borderRadius\":\"32px\",\"borderWidth\":0,\"fontSize\":\"16px\",\"opacity\":1,\"borderStyle\":\"none\",\"fontWeight\":\"normal\"},\"tag\":\"按钮1\",\"text\":\"立刻领取\",\"locked\":true,\"thirdService\":\"\",\"event\":{\"oldUrl\":\"https://aglc.cn/v-UlGUg\",\"packageNames\":\"\",\"subject\":\"\",\"navType\":2,\"latitude\":\"\",\"description\":\"\",\"floorType\":0,\"txtButton\":\"\",\"body\":\"\",\"content\":\"\",\"target\":\"https://f.10086.cn/s/#xU7oHq\",\"merchantName\":\"目标地址,精彩即将呈现\",\"browserFloorUrl\":\"\",\"mode\":0,\"floorUrl\":\"\",\"copyType\":1,\"action\":\"OPEN_BROWSER\",\"longitude\":\"\"},\"maxLength\":9}]}]", "paramcnt": 0, "editorWidth": 342, "creator": "", "updater": "", "createTime": "2022-08-17 16:32:32", "updateTime": "2022-08-17 16:32:32", "degreeSize": 57556 }], "aimCodeType": 1, "sendAccount": "sendAccount719687001246298112", "mbEcId": 0, "mbCustId": "", "businessType": 2, "statsTime": 20220818 }, "pageInfo": null }

上面customUrl地址是一次302跳转

跳到https://ksurl.cn/QMZXAJIW这个链接,这个地址又是一次301跳转

到kwai://live/play/~188888880?sourceType=297&liveSource=DIANSHANG_DXQ这里,就是一个deeplink URI了,浏览器或者webview如果实现了这种uri的处理,就可以打开对应的Native页面了
短链 -> 原链 -> h5中脚本执行Ajax请求到customUrl对应url -> customUrl对应url完成一次302跳转 -> 跳转后地址又完成一次301跳转 -> 浏览器完成对应deeplink打开到Native页面
总计完成5次跳转,应该都是为了各方能统计到页面打开情况。 抛开这些为了统计的因素增加的跳转,其实一次跳转即可完成业务逻辑,即从rcs.10086.cn/MAOu5F到kwai://live/play/~188888880?sourceType=297&liveSource=DIANSHANG_DXQ一次301
标题链接中为官网对其介绍,具体细节官网已经介绍的比较清楚了,我挑些重点介绍下:
复制成功// 都是geo scheme,通过经纬度打开地图,如果指定了package为百度的,则会通过百度地图打开 intent.setPackage("com.baidu.BaiduMap") val geo = "geo:" + locationY + "," + locationX
说实话,我没看过这些“官方”消息定义的协议,但如果是我去定义的话会去考虑几个问题:
这种介于H5与app之间的产物是个伟大的发明,解决了h5内容不可控与app过重的问题
所属分类:技术交流
相关推荐