說明
使用 chrome.gcm,讓應用程式和擴充功能透過 Firebase 雲端通訊 (FCM) 傳送及接收訊息。
權限
gcm屬性
MAX_MESSAGE_SIZE
訊息中所有鍵/值組合的大小上限 (以位元組為單位)。
值
4096
方法
register()
browser.gcm.register(
senderIds: string[],
): Promise<string>
向 FCM 註冊應用程式。callback 會傳回註冊 ID。如果再次使用相同的 senderIds 清單呼叫 register,系統會傳回相同的註冊 ID。
參數
-
senderIds
string[]
允許傳送訊息至應用程式的伺服器 ID 清單。檔案應包含至少 1 個、最多 100 個寄件者 ID。
傳回
-
Promise<string>
Chrome 116 以上版本 Chrome 148 以上版本支援 browser.*註冊完成後,系統會解析。
send()
browser.gcm.send(
message: object,
): Promise<string>
根據內容傳送訊息。
參數
-
訊息
物件
透過 FCM 傳送給另一方的訊息。
-
資料
物件
要傳送至伺服器的訊息資料。不區分大小寫的
goog.和google,以及區分大小寫的collapse_key,都不得做為鍵前置字串。所有鍵/值組合的總和不得超過gcm.MAX_MESSAGE_SIZE。 -
destinationId
字串
Google API 控制台指派的伺服器 ID,用於傳送訊息。
-
messageId
字串
訊息 ID。在應用程式範圍內,每則訊息的 ID 都不得重複。如需挑選及處理 ID 的建議,請參閱雲端通訊說明文件。
-
timeToLive
數字 選填
訊息存留時間 (以秒為單位)。如果無法在該時間內傳送訊息,系統會引發 onSendError 事件。存留時間為 0 表示應立即傳送訊息,如果無法傳送,則會失敗。存留時間的預設值為 86,400 秒 (1 天),最大值為 2,419,200 秒 (28 天)。
-
傳回
-
Promise<string>
Chrome 116 以上版本 Chrome 148 以上版本支援 browser.*訊息成功排入傳送佇列後,系統會解析。如果發生錯誤,系統會拒絕 Promise。
unregister()
browser.gcm.unregister(): Promise<void>
從 FCM 取消註冊應用程式。
傳回
-
承諾<void>
Chrome 116 以上版本 Chrome 148 以上版本支援 browser.*取消註冊完成後,系統會解析。如果 Promise 未拒絕,表示取消註冊成功。
事件
onMessage
browser.gcm.onMessage.addListener(
callback: function,
)
透過 FCM 收到訊息時觸發。
參數
-
callback
函式
callback參數如下:(message: object) => void
-
訊息
物件
-
collapseKey
字串 選填
訊息的收合鍵。詳情請參閱「不可收合和可收合訊息」。
-
資料
物件
訊息資料。
-
來自
字串 選填
傳送訊息的寄件者。
-
-
onMessagesDeleted
browser.gcm.onMessagesDeleted.addListener(
callback: function,
)
當 FCM 伺服器必須刪除應用程式伺服器傳送至應用程式的訊息時,就會觸發這個事件。如要進一步瞭解如何處理這項事件,請參閱「訊息生命週期」。
參數
-
callback
函式
callback參數如下:() => void
onSendError
browser.gcm.onSendError.addListener(
callback: function,
)
無法將訊息傳送至 FCM 伺服器時觸發。
參數
-
callback
函式
callback參數如下:(error: object) => void
-
錯誤
物件
-
詳細資料
物件
錯誤的其他詳細資料 (如有)。
-
錯誤訊息
字串
說明問題的錯誤訊息。
-
messageId
字串 選填
如果錯誤與特定訊息有關,則為該訊息的 ID。
-
-