安卓 | IOS系统 applinks 声明与app的关联文件
安卓 https://域名/.well-known/assetlinks.json
IOS https://域名/.well-known/apple-app-site-association
${uri} 参数:例 name=打开app&age=23
xx.xx.xx 表示安卓包名称 || scheme名称
打开ios app方式:
就一种 https://applinks绑定的域名${uri}
打开安卓app方式:
* intent://你的域名${uri}#Intent;scheme=https;end 这种方式如果没有安装app会访问https://你的域名${uri}
* xx.xx.xx://xx${uri} 华为手机基本上都支持这种打开方式
* intent://xx${uri}#Intent;scheme=xx.xx.xx;end 测试有限,只要是Oppo手机就用这种方式打开app
* 配置applinks 仅支持6.0以上系统,如何配置叫上你们的安卓小哥哥|小姐姐《进行深入》的《探讨》
```
/**
* 打开app
* @param uri
*/
export function OpenApp(uri: string) {
if (Ios) { // 检测是否为ios
window.location.href = `https://xxxx.com/index.html${uri}`;
return;
}
let isOpenTime: boolean = false; // 是否创建定时任务
let url: string = `intent://域名/index.html${uri}#Intent;scheme=https;end`;
if (Huawei || Huawei_LLD) {
url =`xx.xx.xx://xx${uri}`; // 所有安卓手机默认使用该地址
isOpenTime = true;
}
if (Oppo) {
url = `intent://xx${uri}#Intent;scheme=xx.xx.xx;end`;
isOpenTime = true;
}
let checkTimeout: any = ''; // 检测是否已经离开了当前页面
document.addEventListener("visibilitychange", function(){
if (document.hidden && checkTimeout !== '') { // 如果离开当前页面,清除定时任务
clearTimeout(checkTimeout);
}
});
window.location.href = url;
if (isOpenTime) { // 做这一步的原因:有些安卓手机 提示是否进入app,如果3秒后不做任何操作执行以下操作
checkTimeout = setTimeout(() => { // 进入下载页面 | 直接下载 根据业务需求进行开发
window.location.href = `https://xxxx.com/index.html${uri}`;
}, 3000);
}
}
```