H5唤醒App有哪些方法?
App开发
APP开发
浏览:609 次

H5唤醒应用有哪些方法?最近,在扫描代码后,h5页面唤醒了App功能,该功能涉及到oemApp等复杂场景。做好记录
唤醒方法列表URL方案
铬的意图
ios UniversalLink/android-appLink
常见唤醒媒体iframe
A标签
窗口位置
URL方案的组成
[scheme:][//authority][path][?query]例如:tuyasmart://home?test=1
这是怎么一回事?
URL方案可以理解为用于定位App和App中的某个功能的特殊URL。类比网页链接很容易理解
Schemes表示URL中的位置-初始位置,即://之前的字符,例如https://www.apple.com方案为https

通过URL方案,我们可以定位App,甚至定位App中的特定功能,就像网页一样。方案部分用于定位App。例如,SMS应用方案有:;短讯服务
通过理解网页的URL,我们可以完全理解App的URL
||网页(苹果)|App(微信)| |网站主页/打开App| |微信://||子页/特定功能|;(MacApp页面)|weixin://dl/moments(朋友圈)|
注意-App是否支持URL方案取决于App开发人员是否为该部分编写了代码-URL方案不唯一
使用
使用起来非常简单。就像我们打开一个链接一样,常见的是
位置.href
iframe
A标签
使用中的常见问题和解决方案
它可能会被微信和QQ等App禁用
Ios9+禁止iframe模式。

IOS和一些Android浏览器会提示用户是否打开App,当未安装相应的App时,IOS会提示“无法打开网页,因为URL无效”
H5无法感知唤醒是否成功
大多数浏览器要求用户手动触发链接,但js自动触发无效
如果被App禁用,我们通常会判断微信等App环境是否可用,然后提示用户在浏览器中打开ios9+iframe。如果禁用,判断iOS版本是否无法感知唤醒是否成功的解决方案是在一段时间后自动跳转到下载页面,或者依靠setTimeout判断浏览器进入后台后进程切换造成的时间延迟。
Intent Android的原生谷歌浏览器无法通过Chrome 25之后的URL方案唤醒AndroidApp。请使用谷歌提供的内容:预发布。如果唤醒失败,它将跳到谷歌的App市场。语法类似于URL方案。它相当于谷歌定制版的URL方案。它从来没有被使用过,所以我就不多说了。
IOS通用链接简介;通用链接是iOS 9中引入的新功能。该App可以通过传统的HTTP链接唤醒。如果用户没有安装App,他或她将跳转到链接对应的页面,并且在唤醒App时没有弹出提示。可以说,URL方案的大多数问题已经得到解决。
原则和流程-App开发人员前往配置中心配置关联的域,并配置支持https的域名,例如App支持。tuyacn com-然后是App-support.tuyacn。com/apple app site association或app support.tuyacn.com/apple app-site association/。知名/苹果App站点关联要返回的App的teamId、bundleId和路径
路由器。get('/appleApp站点关联,(req,res)=>{const data={applinks:{apps:[],详细信息:[{appID:'teamId.bundleId',路径:[‘*‘]}nbsp; ; ;] ; ;} ;}; ;res.set('Content-Type','text/html'); ;res.send(JSON.stringify(数据));});安装APP后,它将首次打开。如果关联的域已配置,它将请求App支持。tuyacn com/苹果应用网站协会系统将知道app-support.tuyacn下的路径。com根据返回的teamId、bundleId和路径唤醒相应的App。例如,如果paths=*,则app-support.tuyacn下的任何路径。com将唤醒App
app会收到相应的路径,然后根据路径写入逻辑跳转到相应的功能
如何验证成功配置-在备忘录中输入已配置的链接,然后直接单击链接(https://app-support.tuyacn.com)如果配置,它将直接跳转到App,或按住,弹出菜单将提示在xxx中打开-在safari中
常见问题
微信和其他App仍被阻止

在9.3.X版本之后,通用链接不支持域跳转。跳转前后的两个域必须不同,否则只有Safari