填写标题、地点、日期和时间、时区、重复、受邀人、提醒和备注,然后下载 .ics 文件或直接在日历中打开。您也可以粘贴日程,或附加文档或照片,一次创建多个活动。

如何为 .ics 事件添加提醒或通知?

提醒是事件内部的一个 VALARM 块:ACTION:DISPLAY 表示屏幕通知,TRIGGER:-PT30M 表示偏移量,其中 PT 引出一个 ISO 8601 时长,前面的减号表示在开始前而非开始后触发。ICS Maker 在表单中提供提醒选项,并为每个提醒写入一个 VALARM,偏移量始终以分钟表示——提前一天就是 -PT1440M。一个事件在此处最多可携带十个提醒,但它们是否都能生效取决于读取文件的日历:有些日历会在此基础上另外添加自己的默认提醒,有些则会完全剥离导入事件中的提醒,以防下载的文件在设备上安排通知。

它写入的代码块

BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Reminder
TRIGGER:-PT30M
END:VALARM

VALARM 位于事件内部而非旁边,因此它会随事件一起传递。ACTION:DISPLAY 是屏幕上的通知——所有日历都支持的一种。另外两种方式,AUDIO 和 EMAIL,可移植性要差得多:EMAIL 尤其会要求读取该文件的日历发送邮件,而大多数日历都会直接拒绝这样做。

解读触发器

TRIGGER:-PT30M 是一个时长,而不是一个时间点,减号才是使其在事件之前触发的关键——正号则会在开始之后触发,这在需要后续跟进提醒时偶尔会用到。这些字母是 ISO 8601 时长格式:PT 引出具体时间,因此 PT30M 是三十分钟,PT2H 是两小时,P1D 是一天。本工具始终以分钟表示偏移量——提前一天是 -PT1440M 而不是 -P1D,两者时长相同,但后者更有可能被挑剔的解析器拒绝。

触发器也可以与结束时间关联(TRIGGER;RELATED=END:-PT15M,即会议结束前十五分钟),或者使用绝对时刻而非偏移量。这两种方式都需要手动编辑下载后的文件;表单提供的是相对开始时间的偏移量,这也是绝大多数提醒所需要的形式。

多个提醒,以及它们能否保留下来

一个事件可以携带任意数量的提醒——提前一周做准备、提前一小时出发、提前五分钟加入通话——每一个都是独立的代码块。它们能否全部生效,取决于打开该文件的日历:提醒是事件的一部分,但拥有自己默认通知设置的日历可能会在此基础上另外添加一个,而有些日历则会完全剥离导入事件中的提醒,以防文件在你的手机上安排通知。在信任一批导入的提醒之前,先检查导入后的第一个事件。

常见问题

如何在事件开始前 15 分钟设置提醒?
在下载前从提醒列表中选择该选项,文件就会包含一个触发值为 -PT15M 的 VALARM。减号表示在开始之前;打开该文件的日历会自行安排通知。
一个事件可以设置多个提醒吗?
可以。RFC 5545 对事件内 VALARM 块的数量没有限制,在此处添加第二个提醒就会写入第二个代码块;本工具设定的上限是十个。提前一天和提前十分钟的组合是常见搭配。
为什么导入文件后我的提醒没有出现?
这取决于读取文件的日历。有些日历会对所有导入内容套用自己的默认通知,有些会保留文件中的提醒,还有些则出于策略考虑忽略导入的提醒,以防下载的文件在你的设备上安排通知。导入后请打开该事件检查提醒字段,然后再将文件发送给其他人。
TRIGGER:-PT1H 是什么意思?
表示事件开始前一小时。PT 在 ISO 8601 中引出一个具体时长,1H 表示一小时,前面的减号使偏移量从开始时间向前推算。如果没有减号,则会在事件开始一小时后触发。