安卓 | 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);

}

}

```

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐