uniapp利用scheme启动App
目录
一、说明
二、实现步骤
三、扩展及相关链接
一,说明
需求方说明要在用户点击链接后判断用户是否下载该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相关推荐
- 利用 Win32 启动和检测 UWP App 的方法
原文:利用 Win32 启动和检测 UWP App 的方法 一种启动和检测 UWP 应用的方法 背景 我们发布过多款 UWP 平台的同类型 App ,最近有一个需求:用传统 Win32 程序启动我们的 ...
- android chrome iframe设置src属性无法启动app
0x01 Android Intents with Chrome Android有一个很少人知道的特性可以通过web页面发送intent来启动apps.以前通过网页启动app是通过设置iframe的s ...
- Ios9 html5,ios9,html5_ios9下在浏览器中通过scheme打开app的问题,ios9,html5 - phpStudy
ios9下在浏览器中通过scheme打开app的问题 ios9系统下,safari下通过iframe(scheme)的方式跳app,无法打开app,通过location.href=scheme的方式倒 ...
- appium启动app失败_Appium-Desktop Capability 配置及启动App演示
Appium-Desktop Capability配置介绍 desired capability的功能是配置Appium会话.为什么要配置capability,目的就是为了告诉Appium服务器您想要 ...
- android页面跳转时获取地址栏,Android 利用scheme页面内跳转协议进行跳转
什么是 URL Scheme? android中的scheme是一种页面内跳转协议. 通过定义自己的scheme协议,可以非常方便跳转app中的各个页面: 通过scheme协议,服务器可以定制化告诉A ...
- android启动其他app的服务器,Android中通过外部程序启动App的三种方法
这篇文章主要介绍了Android中通过外部程序启动App的三种方法, 本文讲解了直接通过包名. 通过自定义的Action. 通过Scheme三种方法,并分别给出操作代码,需要的朋友可以参考下 ==== ...
- android html 启动app,Android js交互 与 Html启动App
最近项目刚好有做到内部HTML页面跳转原生页面和html代码启动App页面的功能,做完之后觉得相关知识可以整理一下 先说下项目所用到的js交互 android调取JS的方法 WebView直接加载js ...
- app能不能跳转外部h5_利用条件编译在app端使用h5+(网页跳转 实例)
利用条件编译在app端使用h5 在 uni-app 中可以使用条件编译发挥各自平台的特色能力,h5+ 对象为 plus,在js中我们可以通过条件编译调用它 ^_^ 语法格式 // #ifdef APP ...
- uni-app 实现打开第三方app
uni-app 实现打开第三方app manifest.json -> plus -> distribute -> apple 节点下,添加 urlschemewhitelist.对 ...
最新文章
- 俄罗斯智库 | 人工智能在军事领域的发展现状及应用前景
- oralce之 10046对Hash Join分析
- 普通用户杜绝不请自来的邮件对策
- php中的字符串常用函数(四) ord() 获得字符的ascii码 chr()获取ascii码对应的字符...
- 使用Wireshark成功解决JavaWeb项目的页面一直加载中的问题
- 二-Java基础-作业-基础语法
- saltstack管理七之minion端备份
- JS实现动态生成二维码,并在中间插入logo
- 解决git clone fatal: port 443: Timed out
- 三星 android 调试模式设置,三星 W2016 开启USB调试模式
- 4.证券投资基金的监管
- Linux第一次月考小总结
- 无线局域网怎么设置,更加安全?
- eclipse jdt
- JAVA启动杀怒尖塔_杀戮尖塔如何修改class 杀戮尖塔修改class文件方法步骤图解
- Paddle2ONNX最新升级:飞桨模型全面支持ONNX协议啦!
- c语言炉石传说算法设计,CCF-CSP题解 201609-3 炉石传说
- 使用idea搭建ssm框架,并实现简单的CRUD和分页查询功能
- 浅谈如何做一名优秀的WEB前端工程师
- IIS Nginx Apache Tomcat 中间件漏洞
热门文章
- 华为云速邮箱_小白指导--云速邮箱--outlook配置
- Flex写的一个工作流设计器原型
- Mac小技巧 强制退出程序的六种方法
- python制作热图folium_Python Folium包可以在热图上绘制标记吗?
- 知乎有很多好玩的微信8.0状态视频,用Python一键下载
- 常对象、常数据成员、常成员函数总结
- 云创大数据助力全国技能大赛河北省选拔赛云计算赛项
- android TextView 设置省略号结尾
- 启动PE系统找不到计算机硬盘,进入PE后找不到电脑硬盘的原因及解决方法
- 服务器机房排风系统图,机房新风系统和排风系统的方案设计方法-20210628031546.pdf-原创力文档...