之前也陆陆续续看过一些介绍App Clip的技术文章,发现这些文章几乎千篇一律,差不多都是「苹果技术文档」和「WWDC视频截图」的拼装,以及「WWDC视频讲解」和「网上同类文章」的复述,却很少谈及App Clip真正落地的业务场景和涉及的技术问题。
App Clip发布后,我开始负责App Clip的技术调研工作,也是沾团队的光,约到了一个App Clip lab,感受了一把白天看WWDC,晚上和WWDC讲解人一对一交流的体验,虽然我们团队最后决定先暂停App Clip的开发,但是在调研App Clip的过程中,也确实发现了很多值得思考之处。
先说一个结论:不要因为看了WWDC和一些技术文章,就对App Clip有过分美好的幻想,至少从目前来看,App Clip的坑还很多。
线下支付
看过WWDC视频的小伙伴们可能已经察觉到了,视频中介绍的场景90%以上都是线下支付的场景,不知道苹果的本意是不是希望通过App Clip去抢占o2o市场,虽然说的是「不用安装商家App」即可通过App Clip享受便捷服务,快速完成下单。可在中国,用户绝大部分的时候本来就不需要下载商家App,难道小程序不香嘛?况且就算真的有这种需求,目前能够满足的也仅仅是iOS 14系统以上的iOS用户。所以这种线下支付的场景,至少在目前看来,App Clip甚至称不上现有方案的一个有效替代方案。
线上拉新
既然线下支付推进困难重重,那肯定很多人会把目光重新看向线上场景。因为App Clip具备「及时可用」的特点,让用户不用下载完整的App即可享受到App的部分功能,那不妨就把App Clip做为一个拉新的入口,把Clip当做「试用装」吸引用户,等用户习惯了,再引导用户下载App。理想虽然很美好,可现实中怎么把「试用装」交到用户手中呢?我们知道,App Clip的调用场景目前主要就5种,二维码、Safari Smart Banner、NFC、Map和Message。
其中NFC需要物理介质,Map需要实体店,它们对于纯线上的App来说很难找到应用的场景。
Message更不用说了,首先国人对Message聊天的需求本来就不大,也总不能群发带Clip的短信给用户吧?
对二维码,我们是抱有美好的期待的,希望用户通过第三方SDK将二维码分享给好友,然后好友通过二维码调起App Clip,逻辑满分。但尴尬的是,App Clip的二维码,只能通过「系统相机」才能调起。我相信绝大部分的人看到二维码,第一反应都是拿微信去扫一扫,想要培养用户使用「系统相机」扫码的习惯恐怕很难。
那最后剩下的就是Safari这种方式了,这就需要我们想方设法的让用户在Safari里打开这个链接,注意,必须是Safari里打开,在第三方App里的WebView是没有办法显示Smart Banner的,自然也就没办法调起App Clip。
即便Safari貌似是纯线上App最适用的场景了,但是这种方式还存在一个问题,那就是用户的操作路径过长。以第三方分享为例,用户在第三方App接受到好友分享的链接后,打开Clip最短的操作路径可能如下:
即便我们不考虑业务场景,单纯从技术角度看,实现一个App Clip本身恐怕也不会是一个轻松的过程。
代码拆分
苹果希望App Clip和App提供一致的体验,刚看完WWDC的视频,一开始真的会给人一种实现一个App Clip 「So Easy」的感觉,只要复用原有的工程,随便勾勾选选,把文件加到Clip的Target下,一个精美小巧的App Clip就呈现在眼前了。
可事实上呢?通常我们需要尽可能复用现有的业务来开发Clip,可除非你所在的项目业务足够简单,或者组件化做的足够彻底,否则你会发现摘Clip的代码是一件几乎无法实现的事情,很可能需要先做大量的技术重构。当然你也可以将原有代码复制出来,重写一份,可是这样下来,为了保持与完整App的功能一致性,就需要付出维护两套代码的时间成本。
包大小限制
10M是App Clip包大小的上限,对于现在动辄一二百M的应用来说,如何用10M来完成目标功能,也是一个不小的挑战。一方面还是上面提到的代码拆分的问题,如果组件化时,基础层划分的颗粒度不够细致,很可能导致上层业务依赖的基础组件过多,从而影响包大小。另一方面,如果App Clip的功能一直是增量的,那必然会导致未来的某一天会超过10M的限制,为避免这一问题,还需要根据新增功能对包大小的影响,配合产品完成现有业务功能的调整。
后台活动
App Clip不支持后台处理活动,这里的后台活动不单指beginBackgroundTaskWithExpirationHandler:这种后台任务,经过实际测试,甚至连「正常的网络请求」以及「NSData转 NSString」等操作,在后台执行都是不是完全可靠的,再结合视频里说的:
In addition, app Clip can’t perform background activity, such as doing background networking with URLSession or maintaining Bluetooth connections when the app clip isn’t in use.
对于不能执行的background activity目前包括什么,咱无从得知,但从安全的角度看,尽量不在后台搞事情,肯定是第一原则,只是不知道把后台的监听都去掉,你的项目是否还能work~
唯一标识
如果想把App Clip当做拉新的手段,那可能就会涉及到一个问题:如果识别出当前App用户曾是App Clip用户?
我们知道如果用户手机上存在App Clip的情况下,又下载了对应的App,是可以进行数据迁移的。那如果用户的Clip因为一段时间未使用被系统自动删除了,此后用户又下载了App,该怎么设置用户的唯一标识呢?
要知道Clip在被系统删除时,也会清空其存储在Keychain中的数据,至于IDFA,Shared Keychain那就更别想了,Clip压根不开放这个能力。当然肯定还是有一些其他方式能够对用户进行唯一标识,比如有些防作弊的SDK,就可以标识唯一的设备ID,这就看大家各显神通了。当然,如果不关心这种case的话就另说了。
第三方App调起
App Clip可以通过Url Scheme或者Universal Link调起第三方App,但是第三方App却不能通过Url Scheme和Universal Link调起App Clip,说白了就是能调出去但是回不来。第三方登录、第三方分享、第三方支付可能都会受到影响。
不支持企业包
企业证书是没法配置App Clip的,如果项目是使用同一个工程,通过不同的configuration切换企业版和正式版,可能还需要注意一个额外的问题,App Clip是通过Build Phases中的Embed App Clip集成到主Target中的,而Build Phases又没办法区分configuration,如果想区分版本去添加Embed App Clip,就只能打企业包时,单独去修改Project文件了。
Pods
可能目前CocoaPods对App Clip的支持还不够完善,写Demo时发现如果App Clip需要依赖Pods的话,pod install后,在Build Phases中是不会自动生成Embed Pods Frameworks的,这就会导致编译时报image not found的错误,目前解决的办法就是手动添加一下Embed Pods Frameworks。
当然,对于App Clip的最终落地来说,技术原因终归是次要的,最关键还要看如何找到适合自己产品的业务场景。在苹果线上培训的时候,认识了一个团队的开发,说他们想用App Clip做AR,当时我就觉得这个想法还挺好的。可能对于很多产品来说没有这么新颖的玩法,其实倒也不必太在意,对于苹果来说他们也很清楚目前的现状,据他们自己说也在和美国总部沟通,当然结果如何,咱不得而知,但毕竟留个念想嘛,万一未来App Clip的入口放开了呢~
本文由哈喽比特于4年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/LMuzAO40jnLW_3msWIu19w
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。