在我的Chrome扩展程序中,可以使用Google日历的API watch method来接收推送通知,而不是在不托管我自己的服务器的情况下进行投票吗?
Firebase / FCM或chrome.gcm可以提供解决方案吗?云可能基于?
答案 0 :(得分:3)
您可以避免长时间轮询,但即使是FCM,您仍然需要托管服务器。
我建议你;
使用Heroku,为您的服务器设置一个免费的NodeJS dyno。您可以使用免费的MongoDB插件作为您的数据库。使用guide here设置服务器。
使用guide here在您的扩展程序中设置FCM客户端。在用户获得授权后,请求install上的通知权限并获取令牌,或者如果您的分机中有登录系统。将令牌发送到您的服务器并根据该用户的ID或您可以从日历通知中跟踪的任何其他唯一ID保存在数据库中。
在Watch API中使用Heroku应用程序URL作为目标。因此,所有通知都将发送到您的Heroku实例。
从Calendar API收到通知时
将该标记用作to
和send message到该设备。根据需要处理设备上的消息。
Calendar API - > Heroku服务器 - > FCM服务器 - >用户设备
意味着不需要长时间轮询'。您的通知将实时发送。根据使用情况,您还可以保留Heroku实例。