1

假設我在兩臺計算機上安裝了我的擴展程序,並且使用同一個Google帳戶登錄了兩臺計算機。谷歌雲消息傳遞的Chrome channelId每個設備都是唯一的?

請問chrome.pushMessaging.getChannelId爲兩臺計算機返回相同的值嗎?有什麼辦法可以要求每個單獨的安裝都有自己的渠道嗎?我無法在任何地方找到這些信息。

在Stack Overflow https://stackoverflow.com/questions/13235810/google-cloud-messaging-and-identity問這裏的問題,但沒有給出答案。

從我觀察到的情況來看,渠道ID對用戶帳戶是唯一的,而不是唯一的安裝。但我不確定這是否是有意的行爲,或者我總是可以指望這種情況。

回答

0

我真的認爲頻道ID是每個應用ID,並且會保持這種狀態。否則,請考慮將消息發送到100,000次安裝您的應用程序的複雜程度。您必須保留100,000個渠道ID的文件,並且調用API需要很長時間100,000次,因爲渠道ID是發送消息的API調用的一部分。

對不起......我錯了。要引用https://developer.chrome.com/apps/cloudMessaging

「推送消息傳遞服務向客戶端返回一個通道ID;此ID明確鏈接到您的應用ID和用戶。」

如果服務器需要發送消息到應用程序的所有安裝,它需要跟蹤這些應用程序發送到服務器的通道ID,並將消息發送到這些通道ID。