iOS Universal Links(通用链接)详细教程

news2024/9/23 17:24:02

一:Universal Links是用来做什么的?

iOS9.0推出的用于应用之间跳转的一种机, 通过一个https的链接启动app。如果手机有安装需要启动的app,可实现无缝跳转。如果没有安装,会打开网页。

实现场景:微信链接无缝跳转App, 网页链接无缝跳转App

二:Universal Links实现步骤

移动端iOS实现:

1:找到app的Bundle Identifler 和Team ID并记录

Bundle Identifler所在的位置 :

图1

Team ID所在的位置:打开https://developer.apple.com/account页面,登录apple 开发者账号,划到页面下方,找到会员资格详细信息: 

图2

 2:app添加Associated Domains:

图3

图4
图5

Associated Domains格式:applinks:域名  例如:applinks:developer.apple.com 

服务端实现:

1:创建apple-app-site-association文件

 新建一个txt文件,命名:apple-app-site-association ,将以下json文本复制进去,并修改teamID和Bundle Identifler。

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "YourTeamID.YourBundleIdentifler",
                "paths": [
                    "*"
                ]
            }
        ]
    }
}

details:是数组,可以有多个数据,即可支持多个app

appID:team ID和Bundle Identifler组成,中间有个.

paths:可以指定路径,*是通配符,即该域名下的所有路径都可以访问app

保存以后,txt文件需要去掉后缀。

注意事项:文件需要存放在后台的根目录下的.well-known,最终的访问路径是:https://域名/.well-known/apple-app-site-association文件url在safari打开,右击选择检查元素,如下:

图6

三:测试

测试方法1:

重新安装一个最新的,并启动一下app。在浏览器输入Associated Domains的域名和apple-app-site-association文件中的允许路径,例如上文中的域名是developer.apple.com,path是*,所以在浏览器输入https://developer.apple.com(也可以输入https://developer.apple.com/123 因为path写的全路径,所以只要是https://developer.apple.com开头的都可以识别),就可以看到下方效果(safari自动弹出打开app的弹框,点击打开可以跳转到app):

测试方法2:

在备忘录输入https://developer.apple.com,长按该链接,可以弹出app选项(点击在app中打开,可以直接跳到app里),如下图:

四:问题统计

上述的Universal Links配置步骤完成还是无法跳转?

        第一步:核对apple-app-site-association文件的appID的Bundle Identifler 和Team ID是否正确。

       第二步:app是否是重新安装,或者第一次启动,要确保app下载了apple-app-site-association,后台可看到请求日志

       第三步:核对apple-app-site-association文件的格式和内容可参考图6,apple-app-site-association文件相关配置可让后台技术人员查阅相关资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1380862.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式系统的三字真经CAP

文章目录 前言C(Consistency 数据一致性)A(Availability 服务可用性)P(Partition Tolerance 分区容错性)CAP理论最后 前言 你好,我是醉墨居士,我一起探索一下分布式系统的三字真经C…

贝叶斯分类器(公式推导+举例应用)

文章目录 引言贝叶斯决策论先验概率和后验概率极大似然估计朴素贝叶斯分类器朴素贝叶斯分类器的优点与缺点优点缺点 总结实验分析 引言 在机器学习的世界中,有一类强大而受欢迎的算法——贝叶斯分类器,它倚仗着贝叶斯定理和朴素的独立性假设&#xff0c…

程序员副业之AI文库项目(超详细完整全流程)

引言 大家好,我是小黑,今天给大家介绍一个特别简单的项目,用AI辅助咱们来编写各种word,PPT等资料上传到百度文库、原创力、道客巴巴、csdn等平台赚取被动的睡后收益。 但要注意,只是辅助,即便是用AI辅助&…

SpringBoot项目里用MultipartFile作为入参获取到的file为什么null

前言: 最近在项目中用到了Excel模板导入功能,但是在测试阶段用Postman测试时,通过Post请求,传到后端的File一直为null。其中前端传参和请求都没问题,后端的接参也没问题,问题出在过滤器的复用上。 问题场…

Matlab字符识别实验

Matlab 字符识别OCR实验 图像来源于屏幕截图,要求黑底白字。数据来源是任意二进制文件,内容以16进制打印输出,0-9a-f’字符被16个可打印字符替代,这些替代字符经过挑选,使其相对容易被识别。 第一步进行线分割和字符…

【QT】标准对话框

目录 1 概述 2 QFileDialog对话框 1.选择打开一个文件 2.选择打开多个文件 3.选择已有目录 4.选择保存文件名 3 QColorDialog对话框 4 QFontDialog对话框 5 QInputDialog标准输入对话框 1.输入文字 2.输入整数 3.输入…

Himawari-8 数据下载【利用FTP】

1 波段介绍 2 注册 数据下载之前,必须进行注册 JAXA Himawari Monitor | Registration 注册后,在邮箱里点击同意 邮箱会给出FTP的账号信息 3 下载FTP软件 点击进行新站点的新建 设置刚才邮箱里的主机、用户和密码 选择远程站点,选择自己…

【JaveWeb教程】(25) JDBC、数据库连接池、Lombok 详细代码示例讲解(最全面)

目录 2. JDBC介绍(了解)2.1 介绍2.2 代码2.3 问题分析2.4 技术对比 3. 数据库连接池3.1 介绍3.2 产品 4. lombok4.1 介绍4.2 使用 2. JDBC介绍(了解) 2.1 介绍 通过Mybatis的快速入门,我们明白了,通过Mybatis可以很方便的进行数据库的访问操作。但是大…

wpf使用Popup封装数据筛选框--粉丝专栏

类似于DevExpress控件的功能 这是DevExpress的winform筛选样式,如下: 这是DevExpress的wpf筛选样式,如下: 这是Excel的筛选样式,如下: 先看效果 本案例使用wpf原生控件封装,功能基本上都满足…

Python Web开发库之vcrpy 使用详解

概要 在现代Web开发中,HTTP请求是不可避免的一部分。然而,通过网络发送HTTP请求可能会导致一些问题,如慢速响应、网络不稳定和API限制。为了解决这些问题,Python社区开发了一些工具和库,其中之一就是vcrpy。vcrpy是一…

RabbitMQ 的基本概念

一 MQ 的基本概念 1 MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。消息队列就是所谓的存放消息的队列。 消息队列解决的不是存放消息的队列的⽬的,解决的是通信问…

C++I/O流——(2)预定义格式的输入/输出(第二节)

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 含泪播种的人一定能含笑收获&#xff…

基于EEMD-SpEn(样本熵)联合小波阈值去噪

代码原理 以样本熵为阈值的EEMD联合小波阈值去噪方法是一种结合了经验模态分解(EEMD)、样本熵和小波阈值去噪的信号处理方法,用于去除信号中的噪声。 下面是具体的步骤: 1. 经验模态分解(EEMD)&#xff…

uniapp 开发小程序的时候使用自定义 tabbar 时出现切换页面闪烁的情况

问题:在使用自定义组件的时候可以看到页面切换明显的闪烁, 这种体验是很不好的, 当然最好的方式就是使用原生导航栏, 不要搞花里胡哨的东西。 来看下体验不好的效果 优化调整 先说思路,就是仍然设置原生 tabbar, 在应用启动的时候主动隐藏原生 tabba…

计算机网络 —— 数据链路层

数据链路层 3.1 数据链路层概述 数据链路层把网络层交下来的数据构成帧发送到链路上,以及把收到的帧数据取出并上交给网络层。链路层属于计算机网络的底层。数据链路层使用的信道主要由以下两种类型: 点对点通信。广播通信。 数据链路和帧 链路&…

国足2024亚洲杯首战!Python爬取每场比赛双方球队的近期交战战绩

一、爬取目标 二、完整源码 #""""""""""""""""""""""""""""""""""""""…

30 树的定义

树的定义 树的度?叶节点? 注意:k为叶节点 孩子/双亲/子孙/祖先 树的高度? 有序树 森林 树的一些操作: 粗略的框架代码: 省略。。。 小结: 树是线性表的扩展

vcruntime140.dll已加载,但找不到入口点的处理方法分享

当遇到错误提示“vcruntime140.dll已加载,但找不到入口点”时,很多人可能会感到困惑,不知道如何去处理这个问题。不过没有必要紧张,在这里我会为大家详细解释 vcruntime140.dll 文件是什么,并指导大家如何高效地解决 v…

2024年中职网络安全——Windows操作系统渗透测试(Server2105)

Windows操作系统渗透测试 任务环境说明: 服务器场景:Server2105服务器场景操作系统:Windows(版本不详)(封闭靶机)需要环境加Q 目录 1.通过本地PC中渗透测试平台Kali对服务器场景进行系统服务…

让网页自动化测试更简便,流程图设计工具为您解决痛点

在数字化时代,网页自动化测试已经成为提高工作效率、保证项目质量的重要手段。然而,传统的自动化测试往往需要复杂的编程技能,对非专业人员来说门槛较高。为了解决这个问题,我们向您推荐一款创新的设计工具,它可以通过…