我为CalendarList
打开了推送通知渠道。 Google通知我的应用有关在列表中添加/删除/隐藏项目的信息,但不会通知项目本身的更改。
Push notifications docs提到只能观看Acl
,CalendarList
,Events
和Settings
。我尝试注册CalendarList
列表频道,提供特定日历的ID,但这似乎不起作用。
是否可以关注日历的其他属性的更改,例如摘要?
在我看来,另一种方法是执行所有注册帐户的定期同步。但是,如何确保用户在需要时看到具有最新更改的日历?我可以在每次显示日历时触发后台同步,也许会有一些限制。然而,这看起来不是一个非常好的解决方案。
还有其他方法可以让本地存储的日历保持最新状态吗?
答案 0 :(得分:2)
不幸的是,没有办法观察日历属性的变化。 Google日历与更改通知并不完全一致。通知可能会在几分钟后发出。
我保留事件的副本,每当有更新时,我会查看数据库中的复制事件与传入更新之间的区别,并确定用户是否需要查看此更新。为了使本地存储的日历保持最新,我打开日历的推送通知渠道,并定期检查 - 因为不一致 - 看看是否有任何变化。
您还可以在Get event info from resource id on push notification google calendar中查看有关定期同步的答案。