当前位置: 首页 > news >正文

H5:实现安卓和苹果点击下载App自动跳转到对应的应用市场

一、需求场景

手机扫描下载App,需要根据不同手机自动跳转到对应的应用市场(商店)里,苹果手机直接打开App Store里指定的app页面,安卓手机如果是海外用户则打开GooglePlay 商店里指定的app页面,国内直接下载apk安装包。

二、示例

效果图

在这里插入图片描述

示例代码

<template>
    <div>
        <div class="tip">温馨提示</div>
        <!-- <div class="tip">确保点击下载App即可跳转到Google Play 商店里的 指定的 app 页面  </div> -->
        <div class="tip">推荐使用Chorme或FireFox浏览器打开此链接</div>
        
        <div class="btn" @click="downloadApp"> 点击下载App </div>
    </div>
   
</template>
<script>
export default {
    data() {
        return {
            url: ""
        }
    },

    mounted(){
        setTimeout(() => {
            this.downloadApp();
        }, 1000);
    },
    methods: {
        downloadApp() {
            const userAgent = navigator.userAgent;
            const isiOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
            const isAndroid = /android/i.test(userAgent);

            if (isiOS) {
                // 跳转至App Store   id000000 需要添加下载app的id
                // window.location.href ="https://itunes.apple.com/app/id000000";
                window.location.href ="https://apps.apple.com/app/id000000";
            } else {
                // const url = 'https://play.google.com/store/apps/details?id=com.test.app';
                const url = 'intent://details?id=com.test.app#Intent;scheme=market;package=com.android.vending;end';
                console.log("执行了 打开Google Play url -> ", url);
                // 尝试通过Intent打开Google Play
                window.location.href = url;
                // 设置300ms超时检测,失败则跳转下载APK
                setTimeout(() => {
                    window.location.href = 'http://www.test.com/downLoad/test.apk';
                    console.log("执行了 从官网下载")
                }, 300);
            }
        }
    }
}
</script>

<style scoped lang="scss">
.btn {
    width: 200px;
    height: 50px;
    background-color: #E12817;
    align-content: center;
    border-radius: 10px;
    font-size: 20px;
    color: white;
    font-weight: bold;
    margin-left: 80px;
    margin-top: 40px;
}

.tip {
    font-size: 16px;
    color: black;
    font-weight: normal;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 20px;
}
</style>

相关文章:

  • 【C#】CAN通信的使用
  • STM32 HAL 库开发之通用定时器中断
  • Linux中的文件传输(附加详细实验案例)
  • [MRCTF2020]ezpop wp
  • CSI-PVController
  • 面向对象编程基础:从方法论到实践的全面解析
  • 【BEPU V1物理】BEPUphysics v1 入门指南 汉化笔记#1
  • JavaScript 基础语法系统学习笔记
  • 使用MPI-IO并行读写HDF5文件
  • 操作系统简要概述
  • 深入解析 Android 图形系统:Canvas、Skia、OpenGL 与 SurfaceFlinger 的协作
  • Vue 3 自定义指令
  • Mac配置开发环境
  • 【Hadoop入门】Hadoop生态之Pig简介
  • 一体化关节模组核心芯片(人形机器人)
  • 双指针、滑动窗口
  • QScrCpy源码解析(4)获取手机端数据知识补充
  • 文章记单词 | 第30篇(六级)
  • 帆软 FCA-FineBI 认证:迈向商业智能专家之路
  • 文章记单词 | 第28篇(六级)
  • 盛和资源海外找稀土矿提速:拟超7亿元收购匹克,加快推动坦桑尼亚项目
  • “80后”北京市东城区副区长王智勇获公示拟任区委常委
  • 公元1058年:柳永词为什么时好时坏?
  • 将人工智能送上太空,我国太空计算卫星星座成功发射
  • 中哥两国元首共同见证签署《中华人民共和国政府与哥伦比亚共和国政府关于共同推进丝绸之路经济带和21世纪海上丝绸之路建设的合作规划》
  • “11+2”复式票,宝山购彩者领走大乐透1170万头奖