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