iOS中的通用链接
免责声明 :要撰写这篇文章,我必须在互联网上阅读很多东西。 另外,我还复制了其他文章中易于理解的示例和句子,以使本文有意义。 🤓
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。 应用程式应开启的路径( ),以建立与连结相关联的网域,然后检查是否已安装对应的应用程式。 如果当前已安装该应用程序,则将其打开。 如果不是,则Safari将打开,并会加载http(s)链接。
从功能上讲,它允许您使用一个链接来打开您的应用程序或打开您的移动网站。
如何在iOS中设置通用链接?
资料来源:Branch.io
1.配置您的应用以注册批准的域
- 在developer.apple.com上注册您的应用程序。
- 在您的应用标识符上启用“关联域”。
- 滚动视图大小与Autolayout:框架是紧凑型/任何尺寸的类600×480,大于iphone5?
- 将多张图像保存到相机胶卷中,只保存了几张
- 禁用allowBackgroundLocationUpdates(CLLocationManager)在启用后不起作用
- 通过iphone上的HTML5video元素,我如何检测“暂停”和“完成”之间的区别?
- presentModalViewController从应用程序委托
- 开始触摸的次数不等于完成触摸的次数
- 理解在@interface声明中使用“(Private)”
- iOS:使用AudioUnitRender的模拟器中的错误
- 为什么这打破UILabel adjustsFontSizeToFitWidth?