Google日历或其他程序如何处理此问题?

时间:2010-07-14 23:33:17

标签: c# .net

我正在尝试构建一个通知程序(将来会发送电子邮件警报,然后是短信警报)。

但是,我不确定如何处理这种情况,我不确定谷歌日历是否试图解决这个问题(因为他们也受到影响)或者他们只是不关心。

假设用户A为7/20/2010设置会议并与用户B共享其日历,然后转到谷歌日历并添加4天的提醒(因此用户B应该在7/16/2010收到电子邮件提醒)

现在,用户B突然将会议更改为2010年7月15日,但用户B通知不会更改。我去看它仍然设置为4天(所以提醒我猜测将在16日发送)。

所有网站都处理这个问题,如果是这样的话怎么办?

就像你依赖于电子邮件提醒一样,你可能会因为他们可能没有检查在线应用程序而搞砸了,因为他们可能会发送电子邮件提醒,告诉我什么时候来。

一些解决方案

  1. 用户A通过电子邮件发送所有更改内容(对我的网站来说不是一个非常好的选择,因为这是我想要开车的卖点之一,如果您进行了更改,所有订阅者都会知道更改)。

  2. 当用户A自动更改时,会向所有订阅者发送电子邮件,告知他们的通知日期可能不同步。 - 所以选择,但我宁愿有更好的东西。

  3. 尝试确定通知是否超出范围并尝试向上或向下移动以使其在范围内。因此,在我的示例中,我会强制订阅者通知为5天而不是4天。

  4. 这个选项再次没问题,但如果我喜欢改变用户背后的东西,我就不会这样做。此外,这可能很难确定通过它减少或减少多少。

2 个答案:

答案 0 :(得分:1)

我没有看到#3的问题。提醒请求不是永久性的“用户数据”,它是在固定日期之后没有意义的临时数据。如果用户请求提前4天通知并且组织者将会议移动到3天之后,那么尊重用户“请求”的最佳方式是立即通知他们。不通知他们是不能完全履行他们的要求。

另一种方式是,当移动会议以使请求过期时,您已经丢失了“用户数据”。请求在发送或过期后没有任何意义或相关性。您的应用无法满足用户请求,仅仅是因为您无法预料到会议组织者。我认为您可以通过立即发送包含事件已移动的通知的提醒来挽救请求背后 intent 的碎片。

答案 1 :(得分:0)

我建议每次用户更改活动日期时,该活动的所有订阅者都必须通过电子邮件/短信收到即时通知,这将说明

“活动A已于2010年7月20日至2010年7月16日由Mr.X移动。您的日历已更新。”

此外,您应该在活动开始前1-2天移动所有提醒(除非已经是同一天)。