Workflow 运行提醒一直以来 Workflow 在通知方面的功能都有很大的发展空间,比如目前点击单条通知只能进入主应用、不支持定点提醒、不支持后台推送等。当然其中一部分原因是 Workflow 目前还没有离线功能的设计,但是自其被收购以后,这方面的实现估计就更难以期望了。最近在无意中阅读文档时,发现 Workflow 原来还有一种一直被忽视的运行方式——Siri 设置提醒。本文就来简单介绍一下这种运行方式的可用性吧。

分析

某些情境下或许有这样的需求:每天定点提醒我运行某个流程、在我到达某个位置时提醒我运行某个流程。在此之前我一直以为只有第三方应用可以实现:使用如 Launcher、Due 等第三方应用。如今,还有另一个选择:使用 Reminder 原生应用搭配 Siri 创建带有 Deep Link 的提醒

通过 Siri 创建带有 Deep Link 的提醒使用的是 Siri 的一句命令:Remind me about this …当然这句命令在其他某些应用也是可以同理使用的,但第三方应用必须要首先适配此特性。仔细查阅后发现,原来 Siri 这样的操作从 iOS 9 以来就已经支持了,虽然没有深入探究 Workflow 什么时候开始适配的,但至少我是一直没有注意到的。

对比

前文提及的两种实现方法都大同小异,但处理的方式又各有不同。

  • 如 Launcher、Due 等第三方应用:收到提醒通知后,点击该条通知,将先进入该第三方应用,再跳转至 Workflow 并运行,即要跨过一个应用才能进入 Workflow;Launcher
  • 使用带有 Deep Link 提醒的 Reminder 原生应用:收到提醒通知后,展开该条通知(下拉或重按)并选择 Open Workflow,将直接进入 Workflow 并运行。Reminder

可见使用原生 Reminder 有先天的优势,可以直接定位到 Workflow 的流程。而其优缺点也很明显,优点有:

  • 不需要跨过中间应用;
  • 未处理或未清除的提醒会一直保留在 Lock Screen,不容易忘记。

缺点有:

  • 设置为每天提醒后应用会一直显示角标,而 Reminder 却没有像第三方应用那样的通知样式定义;
  • 只能做到提醒人自行运行,不可能做到定时自动运行或后台运行。这是 iOS 的限制,在线形式的 Workflow 永远都不可能跨越,所以嫌进入 main app 麻烦的话仍只能通过 Widget 运行。

实现

设置的方法与常规设置提醒不同,要带上 Deep Link 只能通过 Siri 创建1

  1. 进入 Workflow 并定位到具体一个流程;Reminder-1
  2. 长按 Home 键唤起 Siri,英文语言使用Remind me about this today命令、中文语言使用五分钟后提醒我这件事命令(建议期限说得简单一点,创建后再按需调整);Reminder-2
  3. 调整提醒时间、频率或地点;Reminder-3
  4. 收到通知后下拉或重按展开,选择 Open Workflow。Reminder-4

总结

在 Workflow 通知功能真正完善起来之前,这是我认为最佳的定时提醒运行 Workflow 的方案。这在如每日签到、定时浏览等情景比较实用,而除此之外首选的运行方式还是 Widget。再过几天 WWDC 2017 就要举办了,iOS 11 将带来什么特性、Workflow 的前景将如何,还是很值得期待的。


如有问题,欢迎留言或邮件咨询