微信h5页面中跳转下载第三方app的办法

qvli1      2022-02-14     261

关键词:

需求:在微信h5页面中下载第三方app —— 安卓, 直接下载apk文件包;iphone,跳转AppStore

分析:微信不支持,在微信中屏蔽了apk文件的下载以及AppStore的跳转(且除非和TX有合作的应用,否则也不支持通过scheme跳转第三方app)

技术分享图片

 

 

 

 

变通方法:
一、借助TX的应用市场 --‘应用宝’:将app上架应用宝,在微信中点击下载按钮(app的应用宝微下载地址),安卓则可跳转应用直接进行下载,iphone则会自动跳转Appstore(需在TX开发平台进行配置)
总结:虽然这种方法可以直接跳出微信并进行下载,但是需要用户在应用宝中下载
二、在微信中生成遮罩层,然后指引用户点击微信中右上角的更多按钮,选择【在浏览器打开】(iphone为【在safari中打开】,下同)
总结:虽然这种方法需要用户多操作一步,但贵在原生且不涉及第三方应用市场,本文主要讲述的是这种方法(且在浏览器中打开后仿应用宝下载效果:安卓直接弹出apk下载框,iphone则直接跳转AppStore,无需用户再一次点击下载按钮
  • 主要代码如下(H5页面由vue构建):

1、识别手机类型

/* 判断用户手机为安卓还是iphone */
checkPhone () {
	let self = this
	let agent = (navigator.userAgent || navigator.vendor || window.opera)
    if (agent != null) {
		let agentName = agent.toLowerCase()
        if (/android/i.test(agentName)) {
          self.isAndroid = true
        } else if (/iphone/i.test(agentName)) {
          self.isIOS = true
        }
	  }
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2、识别微信环境

/* 判断是否为微信环境 */
this.isWeiXin = navigator.userAgent.toLowerCase().indexOf(‘micromessenger‘) > -1 ? true : false
  • 1
  • 2

3、点击下载按钮,显示遮罩层,并为本H5页面url地址上增加hash值‘download’(改变hash值并不会刷新页面,但可让浏览器识别),并指引用户浏览器打开

/* 点击下载按钮 */
downloadApp () {
      // 微信环境
      let self = this
      self.checkPhone()
      let agent = (navigator.userAgent || navigator.vendor || window.opera)
      if (agent != null) {
        let agentName = agent.toLowerCase()
        // this.$alert({text: [agentName]})
        if (self.isAndroid) {
           // 微信环境
          if (self.isWeiXin) {
            self.downloadInWeixin = true
            window.location.hash = ‘download‘   // 改变hash,便于浏览器打开时直接下载安卓包
            return
          }
          // 安卓包下载地址
          window.location.href = config.androidDownloadUrl
        } else if (self.isIOS) {
           // 微信环境
          if (self.isWeiXin) {
            self.downloadInWeixin = true
            window.location.hash = ‘download‘    // 改变hash,便于浏览器打开时直接跳转AppStore
            return
          }
          // 苹果商店链接地址
          window.location.href = config.iosAppstoreUrl
        } else {
          this.$alert({text: [‘暂不支持,敬请期待~‘]})
        }
      }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

4、浏览器中打开加了hash的url地址,识别hash值,安卓直接弹出apk下载框,iphone则直接跳转AppStore
     重中之重:原来的H5页面的url地址后面必须跟上‘#/’, 不然浏览器不会识别hash值,切记、切记、切记

identityHash () {
	if (window.location.hash.includes(‘download‘)) {
	      window.location.hash = ‘‘   //  还原hash为空
	      self.checkPhone()
	      if (self.isAndroid) {
	        // 安卓,弹出包下载页面
	        window.location.href = config.androidDownloadUrl
	      } else if (self.isIOS) {
        // ios,直接跳转Appstore
         window.location.href = config.linkToAppstore
      } else {
        this.$alert({text: [‘暂不支持,敬请期待~‘]})
      }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

如何从微信浏览器中跳转到app指定页面

...须注册相应的Scheme,就可以实现直接打开关联的App。4、第三方服务(集成SDK)如果嫌精准度不够高或者实现难 查看详情

支付如何调取第三方的sdk--收银台页面描述

参考技术A收银台页面微信支付方式:JSAPI(微信公众号支付)微信里、微信的朋友圈点开网址MWEB(微信h5支付)电脑或是手机浏览器点开网址APP(微信app支付)app内收银台页面支付宝支付方式:aliWeb(h5支付)aliApp(app支付)我... 查看详情

网页跳转app

...到APP上的商品详情;2从原生APP打开一个H5活动页,分享到微信朋友圈后,在朋友圈打开后,H5页面要提示去下载APP;3分享一个H5链接(比如发送短信附上一个URL),点击链接可以进入APP,未下载APP可以跳转到APP下载页面。代码实... 查看详情

微信h5支付和第三方支付有什么区别?

...权;如下图!参考技术AH5支付,属于网页页面直接支付。第三方支付属于经过第三方平台。举个例子,直接在网页扫码支付,就是H5。淘宝买东西,钱要先放在平台里面,买家确认收货后,平台在支付给卖家,这就是第三方。 参... 查看详情

第三方app跳转微信后需要重新登录

参考技术A你想问的是为什么第三方app跳转微信后需要重新登录吗?具体步如下:1、打开手机微信APP,登录好账号。2、切换到底部导航栏“我”的页面;选择“设置”选项。3、这边选择“隐私”选项,然后下拉页面;能够看到... 查看详情

mindjump-超赞:在线实现微信跳转外部浏览器下载app

...新最快的渠道,因为微信具备强裂变性。但是目前微信对第三方下载链接的拦截是越来越严格了,那么想要在微信内肆无忌惮地推广链接就需要用到微信跳转浏览器的接口,那如何获取该接口呢? 1.首先在浏览器打开我们需... 查看详情

从手机浏览器或者app中跳转到微信并跳转到指定页原理及行业内幕详解

...过有些网站,可以直接通过一个连接就能让你的手机打开微信且跳转到某个指定的页面,许多程序员很好奇到底是怎么实现的,到处求这种方法的源码,在文本中我会介绍及剖析这种跳转实现的原理。  微信是个比较封闭... 查看详情

366api!完美解决微信上h5页面点击文件下载链接没反应的问题

...S】366API跳转接口是针对于APP,H5网页在推广时无法正常在微信中打开的解决方案的接口。该接口主要实现微信内打开分享链接自动跳转浏览器访问的功能。 使用说明:1.用浏览器打开366API 平台官网:http://www.366api.cn2.将你... 查看详情

app中h5页面返回

内嵌到APP里面的H5页面,当点击APP上的返回按钮或者手机上的返回按钮时,如果H5页面不是页面的跳转,而是仅仅的Tab切换时,就会出现直接跳出页面的情况。解决的办法:functionisVisible(obj){varret=true;if(obj.style.display==="none"){ret=fals... 查看详情

androidapp调起另外一个app并传值

...两种方式只适合针对某个页面,都只是在自己应用中跳转第三方应用,并不是真正的唤醒,比如应用A已经在后台存在了,应用B调用以上两种方式后,只是在应用B中重新打开了一个应用A,此时的应用A是相当与存在两个,一个是... 查看详情

微信小程序中跳转另一个小程序

wx.navigateToMiniProgram(appId:‘xxxxxxxxxxxxxxxxxx‘,//要跳转的小程序的appidpath:‘page/index/index‘,//跳转的目标页面extarData:open:‘auth‘,success(res)//打开成功)   查看详情

为啥从微信打开百度贴吧链接总是自动跳转到这个下载贴吧页面

因为你手机里没有百度贴吧app,然后当你点链接时就自动跳转到现在app页面,如果你有这个app就会跳到app内再进去那个贴吧,参考技术A你好!我也是一样都下载2个百度贴吧了,还是次次让下载,不会自动跳转。还有那个老头,... 查看详情

h5打开app

...持在浏览器中打开,如果非浏览器,例如微信支付宝钉钉第三方app中会弹出下载页面schemeUrl为和app约定url openApp(){/*小希学生端aojistudyabroad://小希顾问端aojiconsult://*/console.log("openApp");letdownloadUr="http://sj.qq.com/myapp/detail.htm?apkN 查看详情

h5唤起地图导航

在H5页面中跳转到地图App,或者在本地App中加载的H5页面跳转到地图App,唤起App进行导航;1、腾讯地图:调用方式: http://apis.map.qq.com/uri/v1/marker?marker=coord:lat,lng;addr:address其中lat、lng、address分别为经纬度和详细地址三个参数,... 查看详情

小程序不校验跳转第三方h5

...用微信打开某个小程序的时候,小程序不校验,而是跳转第三方h5,是网络问题导致的,需要更换一个快速的网络即可解决该问题。小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫... 查看详情

微信支持h5跳转app、跳转小程序

参考技术A定义:微信开放标签是微信公众平台面向网页开发者提供的扩展标签集合。通过使用微信开放标签,网页开发者可安全便捷地使用微信或系统的能力,为微信用户提供更优质的网页体验有哪些开放标签?<wx-open-launch-weapp... 查看详情

微信内点击链接或扫描二维码可直接用外部浏览器打开h5链接的解决方案

很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们实现微信跳转功能即可。下面给大家介绍这个功能功能目的生成微信跳转链接,实现微信内置浏览器跳... 查看详情

androidschemeurl使用方法

参考技术AURLScheme是一种页面内跳转协议,通过定义自己的URLScheme协议,可以从一个APP中打开另外一个APP指定的页面,也可以从H5页面中跳转到APP指定的页面(实际上就是从一个浏览器中的一个页面跳转到APP指定页面)。一个完整... 查看详情