当前位置:   article > 正文

uniapp利用scheme启动App_uniapp scheme

uniapp scheme

目录

一、说明

二、实现步骤

三、扩展及相关链接


一,说明

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

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

二、实现步骤

1.基本配置

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

 

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

  1. "app-plus" :
  2. /* 应用发布信息 */
  3. "distribute" : {
  4. /* android打包配置 */
  5. "android" : {
  6. "schemes" : "test"
  7. },
  8. //以下省略......

2.制作对应H5页面

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

代码如下

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <style>
  10. .btnWrap {
  11. width: 100%;
  12. height: 500px;
  13. }
  14. .btn {
  15. width: 100px;
  16. height: 40px;
  17. line-height: 40px;
  18. text-align: center;
  19. border-radius: 10px;
  20. padding: 0;
  21. margin: 0 auto;
  22. background-color: #afe;
  23. font-weight: 800;
  24. margin-top: 200px;
  25. }
  26. </style>
  27. <body>
  28. <div id="app">
  29. <div class="btnWrap">
  30. <div class="btn" @click="handleBtnDlown">立即下载</div>
  31. </div>
  32. </div>
  33. </body>
  34. <script>
  35. // 兼容
  36. var browser = {
  37. versions: function () {
  38. var u = navigator.userAgent,
  39. app = navigator.appVersion;
  40. return {
  41. trident: u.indexOf('Trident') > -1,
  42. /*IE内核*/
  43. presto: u.indexOf('Presto') > -1,
  44. /*opera内核*/
  45. webKit: u.indexOf('AppleWebKit') > -1,
  46. /*苹果、谷歌内核*/
  47. gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
  48. /*火狐内核*/
  49. mobile: !!u.match(/AppleWebKit.*Mobile.*/),
  50. /*是否为移动终端*/
  51. ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
  52. /*ios终端*/
  53. android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
  54. /*android终端或者uc浏览器*/
  55. iPhone: u.indexOf('iPhone') > -1,
  56. /*是否为iPhone或者QQHD浏览器*/
  57. iPad: u.indexOf('iPad') > -1,
  58. /*是否iPad*/
  59. webApp: u.indexOf('Safari') == -1,
  60. /*是否web应该程序,没有头部与底部*/
  61. souyue: u.indexOf('souyue') > -1,
  62. superapp: u.indexOf('superapp') > -1,
  63. weixin: u.toLowerCase().indexOf('micromessenger') > -1,
  64. Safari: u.indexOf('Safari') > -1
  65. };
  66. }(),
  67. language: (navigator.browserLanguage || navigator.language).toLowerCase()
  68. };
  69. Vue.prototype.$http = axios
  70. var app = new Vue({
  71. el: '#app',
  72. data: {},
  73. created() {
  74. if (browser.versions.android) {
  75. // 配置的schemes后加://应该是固定写法,再后面的内容为参数
  76. window.location.href = "test://3"; //manifest.json配置的schemes
  77. }
  78. },
  79. methods: {
  80. // 下载app
  81. handleBtnDlown() {
  82. if (browser.versions.android) {
  83. window.location.href = "https://play.google.com/store/apps/details?id=xxx";// 应用市场对应的包名
  84. }
  85. }
  86. },
  87. })
  88. </script>
  89. </html>

三、扩展及相关链接

1,uniapp安卓设置:https://uniapp.dcloud.net.cn/tutorial/app-android-schemes.htmlscheme:https://uniapp.dcloud.net.cn/tutorial/app-android-schemes.htmlicon-default.png?t=M85Bhttps://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-cnicon-default.png?t=M85Bhttps://developer.android.com/guide/navigation/navigation-deep-link?hl=zh-cn

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/281059
推荐阅读
相关标签
  

闽ICP备14008679号