( 这篇文章最初发表在 分公司 博客 在这里 ) 想象一下:您想在iOS上开始使用Universal Links,Apple的文档已要求您创建和托管AASA文件。 那么,什么是AASA文件? AASA( apple-app-site-association的缩写)是一个文件,位于您的网站上,并将您的网站域与您的本机应用程序相关联。 换句话说,这是向iOS证明域所有权的一种安全方法。 使用URI方案,这是在iOS 9之前在iOS上打开应用程序的标准方式,应用程序开发人员可以注册自己喜欢的任何URI方案,而iOS无需任何验证即可通过打开应用程序来响应那些URI方案。 例如,如果独立开发人员为测试应用程序注册了fb:// URI方案,那么即使Facebook本地应用程序使用了fb://,也没有阻止它的方法。 AASA文件使Universal Links独特且安全,因为独立开发人员无法在facebook.com域上托管AASA文件。 让我们看一下apple-app-site-association文件的一些基础知识,这些文件将帮助您在域上构建和托管一个文件。 AASA文件包含一个JSON对象,其中包含应作为通用链接包含或排除的应用程序列表和域上的URL路径。 这是一个示例AASA文件: { “应用链接” :{ “应用” :[], “细节” :[ { “ appID”:“ 3XXXXX9M83.io.branch-labs.Branchster”, “路径”:[“不是/ e / *”,“ *”,“ /”,“ / archives / 201?/ *] } ] } } 在AASA JSON中,每个特定于应用程序的域都包含一个appID和path的字典。 让我们看一下AASA JSON对象中的每个键是什么: applinks :由于AASA文件还可以用于其他目的(例如,共享的Web凭据),因此applinks对象定义通用链接使用的文件部分。 apps :apps数组必须存在,但始终为空。 […]
注意:此屏幕快照中定义的域将无法使用,因为它不会返回 与您的团队ID相匹配的 正确的 apple-app-site-association 文件。 您必须配置自己的域,并确保 apple-app-site-association 文件在网络上可用。 用例 应用程序具有一个可以接收UIColor视图控制器ColorViewController ,并且具有颜色选择器,该颜色选择器触发导航到相同的视图控制器类型,并将所选颜色作为数据传递给新实例。 应用程序可以打开一个深链接URL,该URL的路径中包含十六进制字符串。 应用程序应将十六进制字符串映射到UIColor并将其传递给ColorViewController 。 应用程序应使用以下URL格式打开ColorViewController ,并在背景中显示适当的颜色: https:// DOMAIN / color / COLOR_HEX_STRING http:// DOMAIN / colour / COLOR_HEX_STRING https:// DOMAIN / color / COLOR_HEX_STRING http:// DOMAIN / colour / COLOR_HEX_STRING 目的地 它不过是一个简单的视图控制器包装器,它提供了一些附加功能并简化了截断数据(从URL提取的数据)的填充。 Destination的resolve方法是将URL中的参数映射到目的地视图控制器可以接收的数据的地方。 此类目的地需要与URL模式字符串一起注册。 这些用于CoreNavigation的路由匹配机制。 应用委托 注意AppDelegate类中的registerRoutes()方法。 它说任何与传递的数组中的任何字符串匹配的URL都应解析为Color目标类型。 以:冒号)字符开头的所有参数占位符将替换为从URL提取的数据,并传递给Color的resolove(context:)方法。 定义参数占位符的格式: :PARAMETER_NAME 要么 :PARAMETER_NAME(REGEX_MATCH_PATTERN) 访问提取的参数: 让parameter […]
免责声明 :要撰写这篇文章,我必须在互联网上阅读很多东西。 另外,我还复制了其他文章中易于理解的示例和句子,以使本文有意义。 🤓 Apple文档链接提供通用链接。 什么是深层链接? 深层链接是任何将用户引导通过网站或应用程序首页到其内部内容的链接。 例如,直接链接到产品而不是首页。 例如,URL fb://可以打开Facebook应用程序,但是fb://profile/33138223345可以在Facebook应用程序中打开Wikipedia的个人资料。 如果您想与朋友分享来自amazon.com的鞋子,则可以发送一个深层链接,将您的朋友直接带到应用程序中的那些鞋子。 如果没有深层链接,您的朋友将不得不在App Store或Play Store上找到Amazon应用程序,将其打开到首页,找到“搜索”功能,然后尝试找到与您所穿的同一双鞋。 自定义URI方案是移动应用程序深层链接的原始形式。 它们就像为您的应用程序创建一个“专用互联网”,其链接类似于myapp:// path / to / content 。 自定义URI方案的优点是易于设置,并且大多数应用程序已经拥有一个。 缺点是,如果已经安装了相应的应用程序,则用户的设备仅知道此“专用互联网”,并且默认情况下没有优雅的后备选项。 与URI方案进行深度链接的变通办法是使用传统的http://链接来启动Web浏览器。 此链接包含JavaScript重定向到自定义URI方案,该重定向由网络浏览器执行以启动应用程序。 如果由于未安装应用而导致重定向尝试失败,则JavaScript会将用户带到App Store或Play商店。 这仍然是在Android上进行深度链接的主要方法,但是Apple于2015年通过发布Universal Links开始在iOS上阻止了这种方法 。 什么是Apple iOS通用链接? 苹果在iOS 9中引入了Universal Links,以解决自定义URI方案深层链接中缺少优美的后备功能的问题。 通用链接是指向网站和应用程序内的一部分内容的标准Web链接(http://mydomain.com)。 打开通用链接后,iOS会检查该域是否已注册任何已安装的应用程序。 如果是这样,该应用程序将立即启动,而无需加载网页。 如果不是,则将Web URL(可以是到App Store的简单重定向)加载到Safari中。 通用链接在iOS中如何工作? 资料来源:Branch.io 在Universal Links之前,在安装应用程序时打开应用程序的主要机制是尝试在Safari中重定向到应用程序的URI方案(像这样在应用程序的PLIST中注册)。 这将路由逻辑放入了Safari,但是无法检查是否已安装该应用程序。 这意味着开发人员将尝试在无法安装应用程序的情况下100%地调用URI方案,然后在不使用计时器的情况下优雅地回退到App Store。 iOS 9通用链接旨在解决此问题。 iOS将检查是否已注册通用链接( 而不是在包含该应用程序包ID的域中存在一个AASA(苹果应用程序站点关联)文件) ,而不是先单击该链接便打开Safari。 应用程式应开启的路径( […]
Di artikel sebelumnya,第一部分,telah dijelaskan pengertian深度链接,URL URL Schemes和Universal Links。 不,Selanjutnya,bagaimana Implementasi kedua hal tersebut吗? Di bagian kedua ini,ayo,kita bahas bagaimana Implementasi URL Schemes terlebih dahulu! 实施URL方案 Buka Xcode,编辑项目设置->信息 。 Pilih URL类型,kemudian tambahkan URL方案baru dengan klik tombol tanda tambah。 Isak masukan的Terakhir URL方案dennam nama方案baru yang sesuai nama produk dan sesuaikan dengan URL yang disediakan untuk深度链接(contoh:深度链接)。 Pada dasarnya,可实现URL方案dapat ditangani […]
如果应用程序已安装在设备中,则打开一个指向应用程序的https://链接;如果未将应用程序安装在设备中,则继续在safari中打开。 每当用户简单地点击链接时,React Native iOS中的通用链接将重定向到已安装的应用程序,而无需在野生动物园中加载链接。 如何在iOS 9或更高版本中设置通用链接? 步骤1 :确保您的服务器在HTTPS上运行,因为apple-app-site-association文件将仅通过HTTPS提供 第2步:创建不含.json的 apple-app-site-association JSON文件,并使用以下内容进行更新– 请确保AASA文件: 通过HTTPS提供。 使用application / json MIME类型。 不要附加 .json 大小不超过128 Kb(iOS 9.3.1及更高版本中的要求)。 必须在apple-app-site-association中添加活动继续 { “ activitycontinuation”:{ “应用”: [ “ 。” ] }, “应用链接”:{ “应用”: [], “细节”: [{ “ appID”:“ 。”, “路径”:[“ ”] }] } }例:{ “ activitycontinuation”:{ “应用”: [ “ MJ19050596.com.apple.app” ] }, “应用链接”:{ “应用”: […]
Apa Itu深度链接? Deep Link adalah sebuah tautan yang dapat mengarahkan pengguna melewati beranda situs web atau aplikasi ke konten di dalamnya。 Contoh:Melalui URL LinkedIn://linkedin.app/jobs,LinkedIn dengan membuka langsung halaman职位。 Ada dua metode解决方案Deep Link iOS,yaitu URL方案 担 通用链接。 Meskipun URL计划lebih umum digunakan,Universal Links,Apple untuk menghubungkan Web ke aplikasi。 URL方案 URL Schemes链接到“ Deep Link dalam aplikasi mobile” 。 […]