当前位置: 首页 > news >正文

详解安卓和IOS的唤起APP的机制,包括第三方平台的唤起方法比如微信

网页唤起APP是一种常见的跨平台交互方式,它允许用户从网页直接跳转到移动应用程序。
这种技术广泛应用于各种场景,比如让用户在浏览器中点击链接后直接打开某个应用,或者从网页引导用户下载安装应用。实现这一功能主要依赖于URL Scheme、Universal Links(iOS)或App Links(Android)等技术。

1. URL Scheme 应用协议

Deeplink又名“深链接”,是一种能将用户直接从链接带到App指定页面的技术,填写格式需要是schema格式而不是一般的http格式。

  • 移动应用在安装到 安卓或IOS 系统中时,会注册到系统内部信息中。例如应用A注册了url scheme:myApp
  • 利用URL Scheme,就可以在其它程序中通过这个url打开应用程序。应用A安装完成之后,mobile浏览器中就可以通过<href=’myApp://>打开你的应用程序A。
  • 但Scheme是一对多的,多个应用可能会重复注册。例如应用程序B也注册了url scheme:myApp,那么在打开时系统就会让用户手动选择要打开的应用。
    下面是alipays://唤起支付宝,但同时安装了正式版和测试版的唤起情况。

在这里插入图片描述

2. Universal Links (iOS) 统一链接

Universal Links是苹果推出的一种更安全和可靠的网页与原生应用之间进行通信的方式。
它可以让你用标准的HTTPS链接来启动你的应用,并且当应用没有安装时,会自动打开网页。

  • 特点:

    • 安全性:只有你的网站可以授权特定的应用使用这些链接。
    • 更好的用户体验:如果用户没有安装该应用,链接会直接打开对应的网页,不会报错。
    • 无需用户同意:不像 URL Schemes 需要用户确认打开应用,Universal Links 可以直接打开应用。
    • 支持参数传递:可以通过 URL 传递参数到应用中。
  • 利用微信,测试确认Universal Links在设备上是否正常。Safari输入:

https://help.wechat.com/app/  

在这里插入图片描述

  • 配置教程-参考博客
    • Apple Developer网站配置 Apple,在APP ID的设置页面,勾选Associated Domains。
    • 服务器资源配置(apple-app-site-association文件创建和存放)
      • 原理: 在第一次安装APP的时候,手机的iOS系统会去指定的路径(这个路径是后面后端开发人员给的)下载apple-app-site-association文件。通过这个文件,iOS系统就会知道哪些URL是Universal Links,哪些不是Universal Links。从而我们指定的路径可以发生跳转。这个apple-app-site-association文件需要开发者去创建和放到一个苹果可以访问的服务器上。这个过程在XCode调试的时候也会发生。
      • 新建一个名字为apple-app-site-association的纯文本文件(Json格式),不要有任何后缀。这个文件创建好之后,交给后端人员。让他们把这个文件放到指定的url的根目录下。最后再去配置XCode
{"applinks": {"apps": [],"details": [{"appID": "团队ID.软件BundleID/APP ID",//"appID": "CIKJHYGBHT.com.volcano.VOLSteelChat","paths": ["限制的路径节点名,没有限制就填*"]// "paths": ["/steel/*"]}]}
}
  • 工作流程:
    • 应用第一次启动,或者更新版本后第一次启动(实际结果,未体现在苹果官方文档上)。
    • 系统检测到应用是否开启Associated Domains,并检查是否有applinks域名关联记录。
    • 请求Universal Links 例如:https://example.com/.well-known/apple-app-site-association查询配置文件。
    • 如果上一步失败,则请求https://example.com/apple-app-site-association查询配置文件。
    • 将apple-app-site-association注册到系统。
    • 系统收到https的跳转请求后,先匹配已注册到系统的统一链接,如果命中,则直接打开应用,否则打开浏览器。
  • 第三方【友盟】
    JS SDK接入文档
    在这里插入图片描述
  • 第三方【应用宝】
    接入地址【https://a.app.qq.com/o/simple.jsp】

3. App Links (Android)

App Links是Google推出的类似于Universal Links的技术,它允许你在Android上使用标准的HTTP链接来打开特定的应用程序。

1.在AndroidManifest.xml中配置Intent过滤器并指定正确的主机名和路径。
2.确保你的网站支持.well-known/assetlinks.json文件以验证你的应用。

4.微信内

最开始微信是支持以上三种方法唤起第三方APP的,但是呗各大平台滥用,导致微信成了引流的平台。后续微信就对以上的方式进行了限制。

  • 跳转APP:wx-open-launch-app
    用于页面中提供一个可跳转指定App的按钮。注意:Android平台通过开放标签跳转App,App必须接入微信OpenSDK,详细参见文档《Android微信OpenSDK接入指南》。

  • 补充说明:1、必须真机才能渲染该标签;2、文字链无法拉起该标签

  • 开放对象
    此功能仅开放给已认证的服务号,服务号绑定“JS接口安全域名”下的网页可使用此标签跳转满足一定条件的App。在使用该标签之前,首先需要前往微信开放平台的管理中心-公众账号或小程序详情-接口信息-网页跳转移动应用-关联设置中绑定所需要跳转的App。详细配置规则参考文档《微信内网页跳转APP功能》。

跳转APP:wx-open-launch-app

<wx-open-launch-appid="launch-btn"appid="your-appid"extinfo="your-extinfo"
><script type="text/wxtag-template"><style>.btn { padding: 12px }</style><button class="btn">App内查看</button></script>
</wx-open-launch-app>
<script>var btn = document.getElementById('launch-btn');btn.addEventListener('launch', function (e) {console.log('success');});btn.addEventListener('error', function (e) {console.log('fail', e.detail);});
</script>

参考博客

相关文章:

详解安卓和IOS的唤起APP的机制,包括第三方平台的唤起方法比如微信

网页唤起APP是一种常见的跨平台交互方式&#xff0c;它允许用户从网页直接跳转到移动应用程序。 这种技术广泛应用于各种场景&#xff0c;比如让用户在浏览器中点击链接后直接打开某个应用&#xff0c;或者从网页引导用户下载安装应用。实现这一功能主要依赖于URL Scheme、Univ…...

服务器数据恢复—raid5阵列中多块硬盘离线导致崩溃的数据恢复案例

服务器数据恢复环境&#xff1a; 三台V7000存储&#xff0c;共有64块SAS硬盘&#xff08;其中有三块热备盘&#xff0c;其中一块已启用&#xff09;组建了数组raid5阵列。分配若干LUN&#xff0c;上层安装Windows server操作系统&#xff0c;数据分区格式化为NTFS文件系统。 服…...

《深度学习》OpenCV FisherFaces算法人脸识别 原理及案例解析

目录 一、FisherFaces算法 1、什么是FisherFaces算法 2、原理 3、特点 4、算法步骤 1&#xff09;数据预处理 2&#xff09;特征提取 3&#xff09;LDA降维 4&#xff09;特征投影 5&#xff09;人脸识别 二、案例解析 1、完整代码 运行结果&#xff1a; 一、Fish…...

基于Python+Flask的天气预报数据可视化分析系统(源码+文档)

简介&#xff1a; 本系统是一个集数据收集、处理、分析和可视化于一体的天气预报数据平台。通过Python和Flask框架的结合&#xff0c;我们能够高效地构建出一个用户友好的Web界面&#xff0c;让用户能够轻松访问并理解复杂的天气数据。系统不仅能够实时获取最新的天气信息&…...

深入解析 Flutter兼容鸿蒙next全体生态的横竖屏适配与多屏协作兼容架构

目录 写在前面 1. Flutter 的基本适配机制 1.1 响应式布局 1.2 逻辑像素 2. 横屏与竖屏的适配 2.1 方向感知 2.2 针对方向的布局优化 3. 多屏协作的实现 3.1 适配多屏显示 3.2 使用 StreamBuilder 和 Provider 3.3 多设备协作的挑战 4. 实践中的应用场景 4.1 移动办…...

【Spring】Spring实现加法计算器和用户登录

加法计算器 准备工作 创建 SpringBoot 项目&#xff1a;引入 Spring Web 依赖&#xff0c;把前端的页面放入项目中 **<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport"…...

电脑d盘不见了怎么恢复?

在使用电脑的时候&#xff0c;我们可能会遇到这样一个问题&#xff0c;电脑里的D盘突然不见了&#xff0c;在“此电脑”中看不到D盘了。这这个情况可能会让人感到非常困惑甚至是头疼&#xff0c;因为D盘里面可能存放着非常重要的文件。今天的内容要和大家分析一下D盘不见的原因…...

电子商务网站维护技巧:保持WordPress、主题和插件的更新

在这个快节奏的数字时代&#xff0c;维护一个电子商务网站的首要任务之一是保持WordPress、主题和插件的最新状态。过时的软件不仅可能导致功能故障&#xff0c;还可能带来安全风险。本文将深入探讨如何有效地更新和维护您的WordPress网站&#xff0c;以确保其安全性和性能。 …...

交叉编译--目标平台aarch64 ubuntu 22.04

开发宿主机&#xff1a; ubuntu22.04虚拟机&#xff08;PC&#xff09; 目标平台&#xff1a; 地平线x3派/x3 Module , ubuntu22.04&#xff0c; ros2 humble 基于地平线x3开发板 5核 4G的内存的有限的资源&#xff0c;直接在目标机上编译虽然也可以&#xff0c;但耗时太长&a…...

【pytorch】昇思大模型配置python的conda版本

首先&#xff0c;切换conda的源&#xff0c;可以参考这篇文章&#xff0c;如果python的版本比较老的话不推荐使用清华源。 比如算子开发文档中推荐的python版本是3.7.5&#xff0c;比较老&#xff0c;使用清华源无法安装。 之后就是比较重要的&#xff0c;修改~/.bashrc。 把…...

nodejs的卸载和nvm安装

由于项目需求&#xff0c;需要多版本控制的nodejs&#xff0c;所以要把原来的nodejs卸载干净&#xff0c;然后再装nvm 常见问题 1.在安装nvm的时候没有卸载node&#xff0c;导致使用nvm安装完之后&#xff0c;node和npm都不可用。 2.在第一次使用nvm安装node后&#xff0c;要…...

网络七层架构

目录标题 网络七层架构从正确认识网络七层架构开始 网络七层架构 简介&#xff1a; 网络七层架构是指ISO/OSI模型&#xff0c;它是国际标准化组织&#xff08;ISO&#xff09;制定的一种用于计算机网络体系结构的参考模型。该模型将计算机网络的功能划分为七个层次&#xff0c…...

2024年华为OD机试真题-敏感字段加密-Java-OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述 给定一个由多个…...

图神经网络黑书笔记--术语

一、图的基本概念 图由节点集合和边集合组成。节点代表实体&#xff0c;边代表实体之间的关系。节点、边、整个图都可以与丰富的信息相关联&#xff0c;这些信息被表征为节点/边/图的特征。 中心度&#xff1a;是度量节点的重要性。如果许多其他重要的节点也连接到该节点&a…...

原型基于颜色的图像检索与MATLAB

原型基于颜色的图像检索与MATLAB 摘要 基于内容的检索数据库(图像)已经变得越来越受欢迎。为了达到这一目的&#xff0c;需要发展算法检测/模拟工具&#xff0c;但市场上没有合适的商业工具。 本文介绍了一个模拟环境&#xff0c;能够从数据库中检索图像直方图的相似之处。该…...

【C++笔试强训】如何成为算法糕手Day9

学习编程就得循环渐进&#xff0c;扎实基础&#xff0c;勿在浮沙筑高台 循环渐进Forward-CSDN博客 目录 循环渐进Forward-CSDN博客 添加逗号 思路&#xff1a; 代码实现&#xff1a; 跳台阶 思路&#xff1a; 代码实现&#xff1a; 扑克牌顺子 思路&#xf…...

初识算法 · 二分查找(1)

目录 前言&#xff1a; 二分查找 题目解析 算法原理 算法编写 搜索插入位置 题目解析 算法原理 算法编写 前言&#xff1a; 本文呢&#xff0c;我们从滑动窗口窗口算法移步到了二分查找算法&#xff0c;我们简单了解一下二分查找算法&#xff0c;二分查找算法是一个十…...

数据结构:数字统计

请统计某个给定范围[L, R]的所有整数中&#xff0c;数字2出现的次数。 比如给定范围[2, 22]&#xff0c;数字2在数2中出现了1次&#xff0c;在数12中出现1次&#xff0c;在数20中出现1次&#xff0c;在数21中出现1次&#xff0c;在数22中出现2次&#xff0c;所以数字2在该范围…...

网页前端开发之HTML入门

HTML入门 HTML全称HyperText Markup Language&#xff0c;中文译为&#xff1a;超文本标记语言。 它有一个同胞兄弟叫&#xff1a;XML&#xff0c;全称Extensible Markup Language&#xff0c;中文译为&#xff1a;可扩展标记语言。 简单来讲&#xff0c;它们都是标记语言。 …...

Python do while 实现案例

在 Python 中没有传统的 do while 循环语法。 但是可以通过使用 while True 结合条件判断来实现类似 do while 的效果。 一、语法 while True:# 执行某些操作#...if not condition:break 这里先无条件地执行一次循环体中的代码&#xff0c;然后在每次循环结束时检查条件&#…...

告别SIFT/ORB!用LoFTR+Transformer搞定低纹理场景的图片匹配(附Python实战代码)

低纹理场景图像匹配实战&#xff1a;LoFTR与Transformer的革新应用 在计算机视觉领域&#xff0c;图像特征匹配一直是三维重建、视觉定位等任务的基础环节。传统方法如SIFT、ORB依赖于特征检测器提取关键点&#xff0c;但在低纹理、重复图案或运动模糊场景中表现往往不尽如人意…...

巨有科技:银发文旅风口来了!康养旅游这样做才赚

随着老龄化社会加深与全民健康意识提升&#xff0c;康养旅游成为2026年文旅行业最具潜力的风口赛道&#xff0c;银发旅游群体持续壮大&#xff0c;成为文旅市场核心增量。但当下康养旅游普遍存在产品单一、服务不专业、运营不规范、适配性不足等问题&#xff0c;传统观光式旅游…...

国产数据库新选择:SpringBoot集成KingbaseES的性能优化全攻略

SpringBoot集成KingbaseES性能调优实战指南 当企业级应用遇到国产数据库新贵KingbaseES&#xff0c;性能优化便成为开发者最关心的核心议题。作为一款兼容PostgreSQL协议的高性能国产数据库&#xff0c;KingbaseES在金融、政务等关键领域展现出越来越强的竞争力。但要让SpringB…...

CentOS 7.6 + Intel Parallel Studio XE 2017:手把手搞定VASP 5.4.4编译环境(附License激活避坑指南)

CentOS 7.6环境下Intel编译器与VASP 5.4.4的深度配置实战 在计算材料科学领域&#xff0c;VASP作为电子结构计算的黄金标准工具&#xff0c;其性能高度依赖底层编译环境的优化。本文将带您深入探索如何在CentOS 7.6系统上&#xff0c;通过Intel Parallel Studio XE 2017构建高性…...

STM32F103C8T6 DHT11温湿度监测系统 HAL库 CubeMX实战(避坑指南)

1. 项目背景与硬件选型 温湿度监测是物联网领域最基础也最实用的功能之一。我最近用STM32F103C8T6和DHT11搭建了一个环境监测节点&#xff0c;整个过程踩了不少坑&#xff0c;也积累了一些实战经验。这个方案特别适合需要低成本、快速上手的场景&#xff0c;比如智能家居、农业…...

Excel办公必备4个技巧:格式转换、隔列插入、限制编辑、文本数字分离

在日常办公中&#xff0c;Excel是我们使用频率最高的软件之一&#xff0c;但很多人只掌握了最基础的录入和简单计算功能&#xff0c;遇到一些“卡脖子”的小问题就束手无策&#xff0c;不得不手动折腾半天。其实&#xff0c;Excel中隐藏着不少实用的小技巧&#xff0c;能帮你轻…...

驾驭AI引用:Geo优化中的内容评分机制与实战策略深度解析

在生成式人工智能&#xff08;Generative AI&#xff09;日益主导信息获取与分发路径的时代&#xff0c;传统搜索引擎优化&#xff08;SEO&#xff09;的范式正被生成式引擎优化&#xff08;Geo&#xff09;所颠覆。Geo不再仅仅关注关键词排名&#xff0c;而是深入探究内容如何…...

ai辅助开发:让快马生成智能助手,链接notepad下载与个性化代码推荐

今天想和大家分享一个有趣的实践&#xff1a;如何用AI辅助开发的方式&#xff0c;让Notepad这个老牌文本编辑器焕发新生。我们平时下载Notepad可能只是简单获取软件&#xff0c;但如果结合AI能力&#xff0c;就能把"下载-使用"的流程升级成"智能助手"体验。…...

第一步:你只需要改这里的所有参数

算数优化算法AOA&#xff0c;2021年新出的智能优化算法&#xff0c;结合SVM做回归拟合预测建模&#xff0c;代码内有详细的注释替换数据就可以使用上次实验室熬大夜调催化加氢产率的SVR模型差点怀疑人生&#xff1a;RBF核随便蒙C和gamma&#xff0c;MSE有时候0.01有时候飘到0.5…...

3步实战指南:轻松搭建抖音直播间弹幕数据抓取系统

3步实战指南&#xff1a;轻松搭建抖音直播间弹幕数据抓取系统 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取&#xff08;2024最新版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 想象一下&#xff0c;你…...