You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ionic v1应用未安装时DeepLink/Universal Link跳转应用商店咨询

针对你提到的两个核心问题,我来逐一拆解说明:

一、应用商店跳转代码的放置位置

你需要先理清一个关键逻辑:当用户点击DeepLink/Universal Link时,如果应用已安装,会直接唤起你的Ionic应用;如果未安装,则会跳转到你预先配置的Web落地页(也就是Universal Link关联域名下的对应页面)。所以这段判断设备类型并跳转应用商店的代码,应该放在这个Web落地页的HTML文件中(比如命名为fallback.html)。

具体操作步骤:

  1. 确认你的DeepLink/Universal Link配置里,已经设置好应用未安装时的跳转目标(即这个Web落地页);
  2. 在该落地页的<script>标签中放入优化后的跳转代码(修复原代码的语法细节):
// 检测设备类型
const isiOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
const isAndroid = /Android/.test(navigator.userAgent);

if (isiOS) {
    // 替换为你的iOS应用商店链接
    window.location.href = "https://itunes.apple.com/us/app/your-app-id";
} else if (isAndroid) {
    // 替换为你的Google Play链接
    window.location.href = "https://play.google.com/store/apps/details?id=your.package.name";
} else {
    // 桌面端可跳转至官网或其他指定页面
    window.location.href = "https://your-website.com";
}
  1. 如果是希望在应用内部点击某个DeepLink时跳转应用商店(比如引导用户下载关联应用),则可以把这段代码放在对应的Ionic控制器(.controller)里,绑定到按钮点击事件或者路由跳转的钩子函数中。

二、给第三方服务器设置Fallback URL参数

完全可以实现灵活的自定义跳转!你可以在提供给第三方的DeepLink中携带自定义参数,比如:

yourapp://your/path?fallback=https://custom-store-link.com

然后在你的Web落地页中,通过JavaScript读取这个fallback参数,当检测到应用未安装时,优先跳转到参数指定的链接:

// 封装获取URL参数的工具函数
function getUrlParam(name) {
    const urlParams = new URLSearchParams(window.location.search);
    return urlParams.get(name);
}

// 读取自定义fallback参数
const customFallback = getUrlParam('fallback');

// 执行跳转逻辑
const isiOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
const isAndroid = /Android/.test(navigator.userAgent);

if (customFallback) {
    // 存在自定义跳转链接时优先使用
    window.location.href = customFallback;
} else {
    // 无自定义参数时使用默认应用商店链接
    if (isiOS) {
        window.location.href = "https://itunes.apple.com/us/app/your-app-id";
    } else if (isAndroid) {
        window.location.href = "https://play.google.com/store/apps/details?id=your.package.name";
    } else {
        window.location.href = "https://your-website.com";
    }
}

另外,如果你使用的是Cordova的cordova-plugin-deeplinks插件,也可以在插件配置中设置全局默认fallback URL,但携带参数的方式更灵活,适合给不同第三方配置不同的跳转目标。

内容的提问来源于stack exchange,提问作者Jay Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:01:18