chrome.gcm

說明

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

權限

gcm

屬性

MAX_MESSAGE_SIZE

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

4096

方法

register()

chrome.gcm.register(
  senderIds: string[],
)
: Promise<string>

向 FCM 註冊應用程式。註冊 ID 會由 callback 傳回。如果使用相同的 senderIds 清單再次呼叫 register,系統會傳回相同的註冊 ID。

參數

  • senderIds

    string[]

    允許傳送訊息至應用程式的伺服器 ID 清單。檔案中至少要包含一個寄件者 ID,最多不得超過 100 個。

傳回

  • Promise<string>

    Chrome 116 以上版本

send()

chrome.gcm.send(
  message: object,
)
: Promise<string>

根據內容傳送訊息。

參數

  • 訊息

    物件

    透過 FCM 傳送給對方的訊息。

    • 資料

      物件

      要傳送至伺服器的訊息資料。不允許使用不區分大小寫的 goog.google,以及區分大小寫的 collapse_key 做為鍵前置字元。所有鍵/值組合的總和不得超過 gcm.MAX_MESSAGE_SIZE

    • destinationId

      字串

      要將訊息傳送至的伺服器 ID,由 Google API 控制台指派。

    • messageId

      字串

      訊息的 ID。應用程式範圍內的每則訊息都必須有專屬 ID。如需選取及處理 ID 的建議,請參閱 Cloud Messaging 說明文件

    • timeToLive

      號碼 選填

      訊息的存留時間 (以秒為單位)。如果無法在該時間內傳送訊息,系統會引發 onSendError 事件。存留時間為 0 表示訊息應立即傳送,如果無法傳送則應失敗。存留時間的預設值為 86,400 秒 (1 天),最大值為 2,419,200 秒 (28 天)。

傳回

  • Promise<string>

    Chrome 116 以上版本

unregister()

chrome.gcm.unregister(): Promise<void>

從 FCM 取消註冊應用程式。

傳回

  • Promise<void>

    Chrome 116 以上版本

事件

onMessage

chrome.gcm.onMessage.addListener(
  callback: function,
)

透過 FCM 收到訊息時觸發。

參數

  • callback

    函式

    callback 參數如下:

    (message: object) => void

    • 訊息

      物件

      • collapseKey

        字串 選填

        訊息的收合鍵。詳情請參閱「不可摺疊和可摺疊的訊息」。

      • 資料

        物件

        訊息資料。

      • 來自

        字串 選填

        發出訊息的傳送者。

onMessagesDeleted

chrome.gcm.onMessagesDeleted.addListener(
  callback: function,
)

當 FCM 伺服器必須刪除應用程式伺服器傳送給應用程式的訊息時,就會觸發此事件。如要瞭解如何處理這項事件,請參閱「訊息生命週期」。

參數

  • callback

    函式

    callback 參數如下:

    () => void

onSendError

chrome.gcm.onSendError.addListener(
  callback: function,
)

無法將訊息傳送至 FCM 伺服器時觸發。

參數

  • callback

    函式

    callback 參數如下:

    (error: object) => void

    • 錯誤

      物件

      • 詳細資料

        物件

        與錯誤相關的其他詳細資料 (如有)。

      • errorMessage

        字串

        描述問題的錯誤訊息。

      • messageId

        字串 選填

        如果錯誤與特定訊息相關,則為該訊息的 ID。