亲爱的Apple,请测试您的开发工具更改(以通用链接开始)
Apple的软件质量现在一直借出批评。Marco Arment帮助将其带到了与他的博客文章“苹果失去了功能高地的最前沿。遵循的是一个如此宣布的火灾剧,当Apple公开宣布iOS 9时,它将新版本框架是“提升基础”的机会 - 为经常使用的应用程序提供安全性,性能和改进等内容。
不幸的是,它的开始很摇晃。在9.2更新中突破其七年标准,在最近的9.3更新中对共享Web凭据惨败,软件质量肯定会留下需要的东西。
这一次,苹果在软件发布之前批评了批评者,释放通常是紧密的高管,谈谈其持续的努力来改进和升级软件。由于开放式反馈苹果是iOS开发人员的新的和欢迎的开发,我想借此机会来解决一块值得关注的iOS 9软件:通用链接。
为什么开发人员为iOS开发应用程序
我开始为Android的移动软件开发职业建筑。当时,我有一个三星Galaxy S II,并渴望开始建造工具。到达一百亿人口袋的强大设备的前景令人难以置信的诱人。我基于一些疯狂的想法建立了一些简单的应用程序,但没有任何东西起飞。
所以,我决定一个尝试。它一般认为,随着Apple用户的感兴趣的应用更多,IOS应用程序会产生更多的资金,并且被认为有更具可能的收入。两个平台之间的差异立即识别。
我第一次打开Xcode并遵循一些简单的教程。拖放小部件用简单,美丽的动画烘焙?图形,故事板样式布局实际工作,而无需编辑XML?我曾经合作过的任何IDE的最美丽的方法自动完成?天啊!这是编程。
现在,几年后,我经营了一个被称为分支机构的深度链接公司,它用于成千上万的IOS和Android应用程序。什么是深入联系?要简单地说出,它是尝试为应用程序的链接工作的艺术,以与他们为网站工作的方式相同:单击链接时,它会打开应用程序并向您展示您单击的页面。技术支持将应用程序作为网站作为可访问的应用,并显着提高手机上的用户体验。
听起来有点熟?它是苹果旨在与通用链接进行的,除了它不一直工作。
什么是通用链接?
通用链接是Apple在iOS 9中推出的一个新功能,以帮助改善移动在传统营销活动中包含他们的应用程序的移动深度联系。通过移动开发社区举行了相当大的兴奋,在过去六年内花了楼宇的技术机制之外,这一产品遇到了相当大的兴奋:URI方案。
通用链接承诺了一个美丽的用户体验,在点击链接并安装了应用程序时,该应用程序将立即打开并显示加载页面。(分支将环路链接纳入我们的平台并通过安装的分析和深度链接的能力扩展。)
但是,有一个重要问题:环球链接并不实际工作,苹果似乎对响应关于错误的开发人员雷达似有兴趣。
有什么问题?
让我们走一些主要问题。
1.他们不是普遍的。根本
Apple以一种方式实施了通用链接,以迫使主要应用程序平台(Facebook,Twitter,Pinterest等)对处理外部链接的方式进行大量和有害的变化。目前,大多数这些Feed样式应用程序句柄外部链接的方式是拦截单击并打开内部WebView中的链接。这允许他们对用户如何导航Web进行跟踪,但仅在应用程序的范围内。触发通用链接需要它们在外部发送单击用户,并禁用他们跟踪的能力,这是他们业务的核心。
因此,如果您计划在这些平台上使用链接,则必须构建特殊边缘案例处理,以支持与遗留方法的深度链接。Facebook拥有自己的App Links标准,它对普遍链接有类似的功能,但其旗舰IOS应用程序甚至不支持自己的标准。截至2016年3月,基本上是不可能以可靠的方式将您的应用程序开出您的应用程序。
很少有应用程序今天支持通用链接,大多数是Apple建造的应用程序,如邮件,注释和邮件。
2.通用链接不适用于电子邮件(或其他)广告系列。
电子邮件是与用户互动的公司的主要沟通渠道,并且在移动营销中变得越来越相关。由于电子邮件广告系列的卷和复杂性,大多数品牌最终使用SIXTHRU,OUNDECY或SENVID等外部提供商。
这些提供商提供了一系列服务,其中一个服务是打开,单击和转换跟踪。为了让他们点击跟踪,它们必须在重定向中包装原始链接,以便在发送到目标之前击中提供商的服务器。
听起来有点熟?它基本上是您每天收到的每台交易和营销电子邮件的描述。坏消息:在这种情况下使用通用链接是不可能的。您无法在重定向中缠绕通用链接,并仍然有效。因此,您要么“Universify”重定向域,要么完全放弃单击跟踪。我们谈过的每个营销买家都表示这是他们的交易破碎机。
3.它们很容易被用户打破,难以重新启用。
它目前对用户(或应用程序开发人员来说)令人难以置信的容易,以在手机上永久禁用通用链接。单击通用链接后,用户只需单击屏幕右上角的域名。如果您源自通用链接,您将注意到iOS 9中有一个后退按钮和域的链接。以下是LinkedIn的示例:
如果我要点击'linkedin.com,'它将打开safari并永久禁用我的设备的通用链接。有几种方法可以重新启用它们,但对于所有意图和目的,用户永远不会淘汰。
4.该功能几乎不可能调试和测试。
对于开发人员来说,验证功能功能的能力对于开发至关重要。调试通用链接很容易成为Web服务器配置,开发人员门户配置和本机应用程序配置的6-7步骤过程。沿途犯错是非常容易的。忘记结构化JSON文件中的最终括号您必须在您自己的服务器上托管?破碎的通用链接。没有在应用程序构建中包含权利文件?破碎的通用链接。这是奸诈。
尽管万向链接可能会破坏,但没有单个验证工具可以帮助开发人员调试。我们不得不建立自己的通用链接验证者(我们向公众开放)。没有它,开发人员必须通过每个步骤,检查每行代码,以确保他们没有错过关键步骤。需要五分钟的时间可能需要一两天或两次调试。
苹果如何改善
通用链路特征的根本问题是它缺乏彻底性和用例测试。从我们所知道的,该功能尚未与平台上的主要应用程序讨论或与需要在其顶部进行建立的开发人员进行审核。即使是文档也在发布后大幅变化,没有通知,强迫开发人员重新实施他们在上个月内建造的内容。
通用链接是一个开发人员工具。开发人员工具非常适合个人产品,为企业提供建立与用户建立强大关系的机会。世界上有很少的其他类型的产品,要求其用户在可以使用它之前成为产品的每一个细节的专家。对于作为移动链接工具的产品复杂,母公司几乎不可能预测人们认为使用它的所有方式或所有由分散的全球市场引起的边缘案件。社区反馈和彻底测试是提供所有必要改进的唯一方法。
在推出开发人员工具时,苹果将受益于采取更开放的立场。如果它应用了它适用于硬件开发的相同的客户 - 第一心态,以创建其开发人员平台产品,质量将大幅提高。没有公司可以假装完全了解其客户的权利。一旦Apple开始在发布前听听,我知道我们将开始在IOS平台上显着地看到更少且更稳定的版本。
Alex Austin是分支指标的创始人兼首席执行官。