zhihu://
sms://
cmshowidol://ui_openPage?pageName=${pageName}&data=${encodeURI(JSON.stringify(pageData))}
intent:
HOST/URI-path // Optional host
#Intent;
package=[string]; 必选
action=[string];
category=[string];
component=[string];
scheme=[string]; 必选
例如:intent://ui_openPage?pageName=${pageName}&data=${encodeURI(JSON.stringify(pageData))}/#Intent;scheme=cmshowidol;package=com.tencent.kapu;end
Universal Link
IOS 9+支持
<iframe src='${intentURL}' style=''>打开</iframe>
<iframe href='${intentURL}' style=''>打开</iframe>
window.location=intentURL
OS的差异性
Android
下载 app 必须要到跳转到 app store,使用的 scheme 协议为: itms-appss://apps.apple.com/app/id590338362
唤起 app 可以直接用 window.location.href = schemeURL
唤端结果的捕获
唤端成功后浏览器进入后台运行,计时器被推迟(计时器不准),重新切换到浏览器后一般超过2s,此时认为唤端失败
let openTime = new Date()
setTimeout(() => {
if(+new Date() - openTime > 2000) {
alert('打开成功')
else {
alert('打开失败')
alert('请使用safari浏览器打开~')
}, 1000);
window.location.href = schemeURL
浏览器的差异性