chrome.gcm

說明

使用 chrome.gcm 可讓應用程式和擴充功能透過 Firebase 雲端通訊 (FCM) 收發訊息。

權限

gcm

屬性

MAX_MESSAGE_SIZE

訊息中所有鍵/值組合的大小上限 (以位元組為單位)。

4096

方法

register()

Promise
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()

Promise
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()

Promise
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 (如果錯誤與特定訊息相關)。