H5唤醒App之scheme方案
前言
在写移动端页面会遇到唤醒App的需求, 一般都是通过scheme协议唤起的,这里记录一下
代码片段
以新浪微博为例: 其协议为 sinaweibo://splash; 这些协议需要自己去收集,或者去官方查询; 有些App分IOS和Android; 有些应用又不分;
这个根据终端做处理即可
// 测试地址 <a href="sinaweibo://splash">微博app</a> <a href="sinaweibo://userinfo?uid=3177804914">微博个人主页</a> // 跳转代码: 手机装了app就打开; 没有就跳转页面或者跳转app store去下载, 逻辑自己定义即可 goToWeibo() { let u = navigator.userAgent; let isAndroid = u.indexOf("Android") > -1; //安卓终端 let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 if (isAndroid) { // 安卓weibo的scheme协议跳转 window.location.href = "sinaweibo://userinfo?uid=3177804914"; setTimeout(function() { let hidden = window.document.hidden || window.document.mozHidden || window.document.msHidden || window.document.webkitHidden; if (typeof hidden == "undefined" || hidden == false) { window.location.href = "https://m.weibo.cn/u/3177804914"; } }, 2000); } // IOS下的scheme协议跳转 if (isIOS) { window.location.href = "sinaweibo://userinfo?uid=3177804914"; setTimeout(function() { let hidden = window.document.hidden || window.document.mozHidden || window.document.msHidden || window.document.webkitHidden; if (typeof hidden == "undefined" || hidden == false) { window.location.href = "https://m.weibo.cn/u/3177804914"; } }, 2000); } },
附上几个常用应用的协议
推特: twitter://user?screen_name=
ins: instagram://user?username=
youtube: iOS: youtube://www.youtube.com/user/ Android : vnd.youtube://www.youtube.com/user/
其他app scheme协议快速通道:
国内: https://blog.csdn.net/swt_zql...
海外: https://help.emplify.com/hc/e...