Google 日历推送通知 - 发送到源本身的通知

Posted

技术标签:

【中文标题】Google 日历推送通知 - 发送到源本身的通知【英文标题】:Google Calendar Push notification - notification sent to the source itself 【发布时间】:2018-07-30 18:45:01 【问题描述】:

我最近为 Google 日历配置了 Google 推送通知。我已经使用推送通知来通知在观看的日历中创建/更新/删除的事件,它工作得非常好,我使用 2 向同步。

但是,我在此设置中发现了一个小故障。我有一个本地应用程序,我在其中创建一个事件。它与谷歌日历同步(使用 API 调用),谷歌再次将事件通知给我的本地应用程序。这会导致事件重复。

如何区分以下两种情况下收到的推送通知?

案例 1: 用户在 Google 日历中创建的或由其他一些应用程序创建的事件 - 这必须与我的应用程序的日历同步

案例 2:我的本地应用程序添加到 Google 日历的事件 -- 这应该被识别为重复

之前,如果添加事件的 Google 项目(在 api 控制台中创建)与接收推送通知的项目相同,则 Google 不会通知事件的更改。现在这没有发生。

对此的任何帮助表示赞赏。提前致谢!

【问题讨论】:

【参考方案1】:

你可以

    保留您的应用程序创建的事件/日历的 ID 列表,并检查是否在您的数据库中找到推送通知中的事件/日历资源。如果没有,请创建一个新的。 使用资源上创建/更新的时间戳来确定是否发生了您的应用程序未同步的事情

【讨论】:

推送通知只会通知更改,我们不会获得有关创建或删除事件的任何信息。收到通知时,将获取并同步最近时间的所有事件。将每个事件与现有事件列表进行比较在计算上是昂贵的。如果在添加此类事件时谷歌不发送通知会更好。 为什么不直接在本地保存事件?等待谷歌同步告诉你你添加了哪些事件

以上是关于Google 日历推送通知 - 发送到源本身的通知的主要内容,如果未能解决你的问题,请参考以下文章

停止谷歌推送通知,回复“找不到项目的频道”

如何从设备本身发送 Firebase 推送通知? [复制]

无法向 Google Smart Display 发送推送通知

未发送“Google 我的商家”推送通知用于问答

您如何向从应用程序本身订阅主题的用户发送 Firebase 推送通知

如何在 iOS 中使用 Google Firebase 向特定用户发送推送通知?