假设我在两台计算机上安装了扩展,并且我用同一个谷歌帐户登录了这两台计算机。
chrome.pushMessaging.getChannelId会为两台计算机返回相同的值吗?有没有任何方法可以要求每个单独的安装都有自己的通道?我在任何地方都找不到这些现成的信息。
这个问题是在Stack Overflow上提出的https://stackoverflow.com/questions/13235810/google-cloud-messaging-and-identity,但没有给出答案。
根据我的观察,Channel ID对于用户的帐户是唯一的,而不是对于安装是唯一的。但我不确定这是否是故意的行为,也不确定我是否可以指望这种情况一直存在。
我真的认为Channel ID是每个应用程序ID,并将保持这种状态。否则,想想向安装了100000个应用程序的用户发送消息会有多复杂。您必须保存100000个通道ID的文件,并且调用API 100000次需要很长时间,因为通道ID是发送消息的API调用的一部分
对不起。。。我错了。引用https://developer.chrome.com/apps/cloudMessaging:
"推送消息服务向客户端返回一个频道ID;该ID专门链接到您的应用程序ID和用户。"
如果服务器需要向应用程序的所有安装发送消息,则需要跟踪这些应用程序发送到服务器的频道ID,并将消息发送到这些频道ID。