App Clip 初探
App Clip,苹果版的小程序 !
不知道有没有给腾讯
付版权费。
接下来,探究一下 App Clip 到底是什么?
App Clip 开发概述
App Clip 是轻量版的 app,提供某些功能供用户在某些场景下进行使用。你可以在 Xcode 中的主 app 工程里面添加一个 app clip 目标程序。app clip
目标程序可以与主 app 共用代码
和 assets
。可以通过 Xcode
在真机或模拟器上调试你的 app clip 程序。需要特别说明的是,你需要在你的网络服务器上做一些配置以便去验证你发布的 app clip
程序。
以上是对苹果开发者官网 Creating an App Clip 关于 App Clip 概述的翻译。如有不妥,望指正。下面贴一下原文:
An app clip is a lightweight version of your app that offers some of its
functionality where and when people need it. With Xcode, you can add an app
clip target to your app’s Xcode project and share code and assets between the
app clip and app. Like you do with other targets in your project, you use Xcode
to build, run, and debug your app clip in a simulator or on a device. In addition,
you must configure your web server to enable the system to verify your app
clip’s authenticity.
通过以上概述,你会发现
- App Clip 也是一个应用,对应一个单独的 targe,提供的功能比较单一;
- App Clip 与主工程共享代码和 assets,开发调试依然是 Xcode;
- 发布的时候需要在网络服务器上做一些特别配置;
从以上三点不难发现,app clip 就是新瓶装旧酒,换汤没换药!唯一的变化就是 app 开发多了一种玩法!
这里是 explore app clips 的一个视频介绍,先睹为快!
如何创建 App Clip
首先你得有一个创建好的工程。这里我用 Xcode 12 beta
创建一个名为 AppClipDemo 的工程。然后在菜单栏通过路径 File -> New -> Target... -> App Clip
创建一个 app clip 的 target。
这里命名为
CoffeeClip
,点击 Finish
。这样一个 app clip
的工程就创建完成了。
FullClip.png
接下来就是具体的开发了。由于 app clip 与 app 是共用一套代码的,所以当你 app 开发完成的时修改,把相应的代码以及 assets 共享给 app clip 即可。关于共享的过程比较简单,可以参考 explore app clips。
app clip
由于其对大小的限制,最好不超过 10M,所以你需要尽可能减少不必要的代码。这就要求整个工程的模块化程度比较高,耦合性比较小。对于目前的很多重耦合的工程来说,不得不说是一个重要的挑战!
App Clip 审核
app clip 是需要审核的。也就是说,app
有的待遇, app clip
有;app
没有的待遇,app clip
也会有。具体往下看!
App Clip 开发建议
唯一性
一个 app
只能对应一个 app clip
,app clip
所提供的所有功能必须是主 app
所支持的。即 app clip 是 app 的子集!
安装
当前有以下几种方式可以安装 app clip.
- NFC 或扫码;
- 基于地理位置信息的
Siri
建议; - 地图 app 内部提供的链接;
- 网页顶部的 app 推荐条;
- 通过 Message 应用分享的链接;
安装方式的选择对于精准推广自己的 app clip 很有帮助!
管理
App Clip 是 iOS 系统进行管理的,不会显示在屏幕上。对于那些经过一定时间不再使用的 app clip 应用系统会直接清理掉。所以,要想抓住用户,app clip 必须能提供非常好的体验,说不定用户还能通过 app clip 去下载你的 app。
包大小
最好不要超过 10M。如果超过 10M 呢?估计要在审核过程中看你跟苹果面谈的怎么样了!
API 限制
注意,以下 framework
的 API
是对 app clip
say no 的!
CallKit
,CareKit
, CloudKit
, HealthKit
, HomeKit
, ResearchKit
, SensorKit
, Speech
隐私保护
想通过 app clip 追踪其它的 app 或 app clip 一直都是不支持的。后台任务也是不允许的,所以后台的网络活动以及持续的定位是被禁止的。下面一些数据 app clip 访问不到的。
- 运动和健康数据;
- 苹果音乐以及视频数据;
- 通讯录,文件,消息,提醒和照片
所有的这些隐私限制其实就是让你专注于用户的 app clip 体验,不要邪门歪道去侵扰用户。
其它
下面一些功能最好不要放到 app clip 里面去。翻译不动了!
- Advanced networking features like Bonjour, or configuration of local Wi-Fi networks
- App extensions
- Customization and settings; for example, creation of a settings bundle
- Data handoff and document opening
- In-app purchases and in-app provisioning of payment cards
- Low-level Unix functionality; for example, BSD notifications
- Multiple scenes on iPad
- Registration of custom URL schemes
- Requests for user reviews of the app, using StoreKit’s
request<wbr>Review(in:)
method - Searches for paired Bluetooth devices
最后问题来了
app clip 它到底香不香呢?