`
frank1998819
  • 浏览: 751948 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

iOS Universal Links教程(转)

    博客分类:
  • iOS
 
阅读更多

原作者: https://www.jianshu.com/p/f1a1e1833eec

 

最近有个需求, 是通过链接跳转到应用内部,现在iOS主流的方案有两个

  • schema
  • Universal Links

现在分析下两个方案

一、两种方式的简介

schema

schema是iOS9之前比较主流的一种跳转方案了, 更多的是用在了两个APP相互跳转中。也可以在Safari中输入schema://跳转到App内部

 
通过schema方式跳转App


其实这种方式很不顺滑,在每次跳转的时候都会弹框询问。如果iPhone中如果没有安装则会直接弹出错误提示

 
通过schema找不到对应的应用


正常产品的思路是如果手机中没有安装APP的话,应跳转到App Store下载页面。我与前端小伙伴沟通后,因为schema跳转失败是没有错误码返回的。前端使用计时器计时,如果在规定时间内没有跳转到APP,则认为是失败的。这种设计确实有一些体验不好。
而且在微信中输入schema链接,也无法跳转到APP。因为schema并没有走http/https链接,微信也无法识别。

 
微信聊天中输入schema是无法跳转的

 

使用Safari打开知乎首页,可直接跳转到知乎项目中,并没有弹框询问,我想是时候拥抱新技术了。

Universal Links

1.简介

建议大家先看看苹果官方文档Support Universal Links
Universal Links(通用链接)是iOS9.0出的新技术。如果我们的应用支持通用链接,那么就可以通过https链接来打开APP(手机中已经安装此APP),或者跳转到https链接(手机中没有安装此APP)。

简单说一下通用链接的特性

  • 唯一性:不像自定义的schema链接,通用链接不会被其它的APP所使用。因为它使用标准的https链接到你自己的域名。【因为你的域名不会被其他人所使用】
  • 安全性:当用户下载APP的时候,iOS会检查你上传到web服务器的文件以确保您的网站允许您的应用程序以其名义打开网址。因为只有本人有权利创建且上传该文件到服务器,所以网站和APP的关联是安全的。
  • 灵活性:甚至在iOS设备没有安装你项目的时候通用链接也会正常工作。当设备没有安装APP的时候,点击通用链接会在Safari展示你网站的内容。
  • 灵活性:一个通用链接可以同时作用于项目和网站中。
  • 灵活性:其它APP可以在不知道你的APP是否安装的情况下与你的APP通信
2.使用条件

1.有一个注册的域名。
2.支持https请求,并且CA证书是有效的,这个需要与后端同事进行确认。
3.可上传一个json文件到web服务器
4.APP版本至少为iOS9及以上
5.Xcode版本为7以上

二、通用链接使用说明

首先我们先设置几个全局来方便大家理解

分享到:
评论

相关推荐

    iOS Universal Links 使用方法

    applinks:{ apps:[], details:[ { appID:teamID.bundleID, paths:[*] } ] } } paths说明: 填写:”/customer/” 当用户点击网址”你的域名/customer/list”这个链接的时候,才会跳转到你的app 如果点击”...

    iOS 通用链接(Universal Link)配置详解

    iOS 通用链接(Universal Link)配置 什么是通用链接? 通用链接是iOS9推出的一项新功能,如果你的应用(app)支持通用链接(Universal Link)之后,iOS用户能够在点击网页的链接的时候无缝的重定向到已经安装的app...

    iOS防止在WKWebView中打开Universal Link的方法

    在iOS开发中,Universal Link是一种链接技术,允许用户点击一个链接后直接在应用程序内打开,而不是被引导到Safari浏览器。然而,在某些情况下,我们可能希望在WKWebView中阻止Universal Link的直接跳转,比如为了...

    Universal Links如何在iOS和Android平台上实现(解决方案).md

    Universal Links如何在iOS和Android平台上实现(解决方案).md

    apple-app-site-association

    iOS Universal links 配置文件

    iOS通用文件Demo下载

    iOS 通用文件,UniversalLinks

    Go-Go写的iOSuniversallinks转发服务

    Universal Links 是 iOS 9 提供的应用间跳转机制,允许你从一个 app 跳转到另一个 app 的某个页面。关于 Universal Links 的实现细节,见 Apple 官方文档。

    ios-Jump application.zip

    总的来说,iOS应用跳转是一个涉及多个层面的复杂话题,包括URL Scheme的设置、Universal Links的配置、应用内部的导航逻辑等。通过阅读提供的文章和研究压缩包中的资源,你将能够有效地在你的应用中实现各种跳转功能...

    ios源码之打开其他应用openURL.rar

    在iOS开发中,"打开其他应用(openURL)"是开发者经常遇到的一个需求,它涉及到iOS的URL Scheme和Universal Links等技术。本源码压缩包“ios源码之打开其他应用openURL.rar”很可能是提供了一个简单的示例,展示了如何...

    ios-应用间跳转.zip

    而Universal Links是苹果在iOS 9中引入的新特性,它提供了更安全、更直接的应用间链接方式,避免了被中间页面拦截的问题。 1. **URL Scheme**:创建自定义URL Scheme需要在你的Info.plist文件中添加一个键值对,键...

    iOS俩个app传值

    这个过程涵盖了多种方法,包括URL Scheme、Universal Links、Pasteboard、iCloud、Apple Watch扩展等。下面我们将详细探讨这些方法及其实施步骤。 1. **URL Scheme**: URL Scheme是iOS中最基础的App间通信方式。每...

    iOS---从浏览器启动应用程序

    Universal Links是苹果在iOS 9中引入的一种特性,旨在解决之前通过Custom URL Schemes进行应用间跳转的问题,如安全性不足和无法在Safari中正确处理。通过Universal Links,开发者可以将网站内容和iOS应用关联起来,...

    Apple-Push:.NET 的推送通知示例

    苹果推这是一个关于如何使用 .NET 与 Apple 推送通知服务交互的快速示例。 您将需要在 iOS 开发中心设置配置文件时... 此外,您将需要将用于测试的 iOS 设备的设备令牌。 此 URL 讨论如何注册推送通知和接收设备令牌。

    uni_links:Flutter插件,用于接受传入链接

    它支持两种主要的链接技术:Universal Links(通用链接)和Custom Schemes(自定义协议),在iOS和Android平台上都能很好地工作。通过使用uni_links,开发者可以方便地集成这两种链接机制,确保用户点击外部链接时...

    iOS开发动态更换app图标

    另一种方法是通过自定义URL Scheme或Universal Links来触发图标更换。当用户点击特定链接时,可以调用App内的方法来更改图标。但这需要用户手动触发,不如按Home键自动更换直观。 4. **运用Notification Service ...

    ios-应用程序跳转.zip

    首先,iOS支持两种主要的应用程序间跳转方式:URL Scheme和Universal Links。 1. **URL Scheme**: URL Scheme是一种自定义的协议,类似于http或https,但由开发者定义,用于自己的应用。通过注册一个唯一的URL ...

    ios一个app应用内部调用另一个新的app应用

    综上所述,iOS应用间的调用是通过URL Scheme、Universal Links或App Clips等技术实现的,它增强了应用间的互动性,为用户提供了一种无缝的跨应用体验。在实际应用中,开发者需要注意配置、安全性和用户体验等方面的...

    IOS应用源码——PhotoAppLink for iOS.rar

    URL Scheme可以自定义应用程序的协议,使得其他应用能够启动它,而Universal Links则是一种更安全、更可靠的方式,可以将网站内容与应用内容关联起来。 在iOS应用开发中,良好的架构设计也至关重要。"PhotoAppLink...

Global site tag (gtag.js) - Google Analytics