目录

一、说明

二、实现步骤

三、扩展及相关链接


一,说明

需求方说明要在用户点击链接后判断用户是否下载该APP,如果已经安装就打开APP并跳转到某个对应页面,如果没有下载就跳转应用商店下载后打开且跳转到对应页面

注意:安装后打开且跳转到对应页面这异步无法使用此方法实现,目前还在摸索中...

二、实现步骤

1.基本配置

在 “App常用其它设置” -> “Android设置” -> “UrlSchemes” 项中进行设置:

或者可以直接到源码视图下的 "app-plus"->"distribute"->"android" 节点的 schemes 属性配置UrlSchemes,示例如下:

"app-plus" : /* 应用发布信息 */"distribute" : {/* android打包配置 */"android" : {"schemes" : "test"},
//以下省略......

2.制作对应H5页面

使用独立的H5页面进行判断,如果安装了打开此H5链接会出现跳转到对应的APP按钮,如果没有安装,可以点击H5页面中的下载跳转到应用市场

代码如下

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<style>.btnWrap {width: 100%;height: 500px;}.btn {width: 100px;height: 40px;line-height: 40px;text-align: center;border-radius: 10px;padding: 0;margin: 0 auto;background-color: #afe;font-weight: 800;margin-top: 200px;}
</style><body><div id="app"><div class="btnWrap"><div class="btn" @click="handleBtnDlown">立即下载</div></div></div></body>
<script>//  兼容var browser = {versions: function () {var u = navigator.userAgent,app = navigator.appVersion;return {trident: u.indexOf('Trident') > -1,/*IE内核*/presto: u.indexOf('Presto') > -1,/*opera内核*/webKit: u.indexOf('AppleWebKit') > -1,/*苹果、谷歌内核*/gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,/*火狐内核*/mobile: !!u.match(/AppleWebKit.*Mobile.*/),/*是否为移动终端*/ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),/*ios终端*/android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,/*android终端或者uc浏览器*/iPhone: u.indexOf('iPhone') > -1,/*是否为iPhone或者QQHD浏览器*/iPad: u.indexOf('iPad') > -1,/*是否iPad*/webApp: u.indexOf('Safari') == -1,/*是否web应该程序,没有头部与底部*/souyue: u.indexOf('souyue') > -1,superapp: u.indexOf('superapp') > -1,weixin: u.toLowerCase().indexOf('micromessenger') > -1,Safari: u.indexOf('Safari') > -1};}(),language: (navigator.browserLanguage || navigator.language).toLowerCase()};Vue.prototype.$http = axiosvar app = new Vue({el: '#app',data: {},created() {if (browser.versions.android) {// 配置的schemes后加://应该是固定写法,再后面的内容为参数window.location.href = "test://3"; //manifest.json配置的schemes}},methods: {// 下载apphandleBtnDlown() {if (browser.versions.android) {window.location.href = "https://play.google.com/store/apps/details?id=xxx";// 应用市场对应的包名}}},})
</script></html>

三、扩展及相关链接

1,uniapp安卓设置:https://uniapp.dcloud.net.cn/tutorial/app-android-schemes.htmlscheme:https://uniapp.dcloud.net.cn/tutorial/app-android-schemes.htmlhttps://uniapp.dcloud.net.cn/tutorial/app-android-schemes.html

2,deeplink相关服务Xinstall相关文档:DCloud接入 · XInstallhttps://www.xinstall.com/doc/Dcloud/DcloudGuide.html

3,Xinstall的uniapp插件:Xinstall-推广赋能专家 - DCloud 插件市场 免填写邀请码渠道统计,用户来源追溯,一键拉起/闪装,携带参数安装,增加客户转化,清楚投放效果https://ext.dcloud.net.cn/plugin?id=37014,安卓原生开发谷歌deeplink文档:https://developer.android.com/guide/navigation/navigation-deep-link?hl=zh-cnhttps://developer.android.com/guide/navigation/navigation-deep-link?hl=zh-cn

本文参考文章为以下文章,文章为注明不可转载,如有需求请联系本人进行删除,更多详情请查看该链接:跨平台应用开发进阶(十六) :uni-app实现URLScheme方式唤醒APP_No Silver Bullet的博客-CSDN博客_uniapp唤起app

uniapp利用scheme启动App相关推荐

  1. 利用 Win32 启动和检测 UWP App 的方法

    原文:利用 Win32 启动和检测 UWP App 的方法 一种启动和检测 UWP 应用的方法 背景 我们发布过多款 UWP 平台的同类型 App ,最近有一个需求:用传统 Win32 程序启动我们的 ...

  2. android chrome iframe设置src属性无法启动app

    0x01 Android Intents with Chrome Android有一个很少人知道的特性可以通过web页面发送intent来启动apps.以前通过网页启动app是通过设置iframe的s ...

  3. Ios9 html5,ios9,html5_ios9下在浏览器中通过scheme打开app的问题,ios9,html5 - phpStudy

    ios9下在浏览器中通过scheme打开app的问题 ios9系统下,safari下通过iframe(scheme)的方式跳app,无法打开app,通过location.href=scheme的方式倒 ...

  4. appium启动app失败_Appium-Desktop Capability 配置及启动App演示

    Appium-Desktop Capability配置介绍 desired capability的功能是配置Appium会话.为什么要配置capability,目的就是为了告诉Appium服务器您想要 ...

  5. android页面跳转时获取地址栏,Android 利用scheme页面内跳转协议进行跳转

    什么是 URL Scheme? android中的scheme是一种页面内跳转协议. 通过定义自己的scheme协议,可以非常方便跳转app中的各个页面: 通过scheme协议,服务器可以定制化告诉A ...

  6. android启动其他app的服务器,Android中通过外部程序启动App的三种方法

    这篇文章主要介绍了Android中通过外部程序启动App的三种方法, 本文讲解了直接通过包名. 通过自定义的Action. 通过Scheme三种方法,并分别给出操作代码,需要的朋友可以参考下 ==== ...

  7. android html 启动app,Android js交互 与 Html启动App

    最近项目刚好有做到内部HTML页面跳转原生页面和html代码启动App页面的功能,做完之后觉得相关知识可以整理一下 先说下项目所用到的js交互 android调取JS的方法 WebView直接加载js ...

  8. app能不能跳转外部h5_利用条件编译在app端使用h5+(网页跳转 实例)

    利用条件编译在app端使用h5 在 uni-app 中可以使用条件编译发挥各自平台的特色能力,h5+ 对象为 plus,在js中我们可以通过条件编译调用它 ^_^ 语法格式 // #ifdef APP ...

  9. uni-app 实现打开第三方app

    uni-app 实现打开第三方app manifest.json -> plus -> distribute -> apple 节点下,添加 urlschemewhitelist.对 ...

最新文章

  1. 俄罗斯智库 | 人工智能在军事领域的发展现状及应用前景
  2. oralce之 10046对Hash Join分析
  3. 普通用户杜绝不请自来的邮件对策
  4. php中的字符串常用函数(四) ord() 获得字符的ascii码 chr()获取ascii码对应的字符...
  5. 使用Wireshark成功解决JavaWeb项目的页面一直加载中的问题
  6. 二-Java基础-作业-基础语法
  7. saltstack管理七之minion端备份
  8. JS实现动态生成二维码,并在中间插入logo
  9. 解决git clone fatal: port 443: Timed out
  10. 三星 android 调试模式设置,三星 W2016 开启USB调试模式
  11. 4.证券投资基金的监管
  12. Linux第一次月考小总结
  13. 无线局域网怎么设置,更加安全?
  14. eclipse jdt
  15. JAVA启动杀怒尖塔_杀戮尖塔如何修改class 杀戮尖塔修改class文件方法步骤图解
  16. Paddle2ONNX最新升级:飞桨模型全面支持ONNX协议啦!
  17. c语言炉石传说算法设计,CCF-CSP题解 201609-3 炉石传说
  18. 使用idea搭建ssm框架,并实现简单的CRUD和分页查询功能
  19. 浅谈如何做一名优秀的WEB前端工程师
  20. IIS Nginx Apache Tomcat 中间件漏洞

热门文章

  1. 华为云速邮箱_小白指导--云速邮箱--outlook配置
  2. Flex写的一个工作流设计器原型
  3. Mac小技巧 强制退出程序的六种方法
  4. python制作热图folium_Python Folium包可以在热图上绘制标记吗?
  5. 知乎有很多好玩的微信8.0状态视频,用Python一键下载
  6. 常对象、常数据成员、常成员函数总结
  7. 云创大数据助力全国技能大赛河北省选拔赛云计算赛项
  8. android TextView 设置省略号结尾
  9. 启动PE系统找不到计算机硬盘,进入PE后找不到电脑硬盘的原因及解决方法
  10. 服务器机房排风系统图,机房新风系统和排风系统的方案设计方法-20210628031546.pdf-原创力文档...