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 清單。其中應包含至少 1 個,最多 100 個傳送者 ID。

  • 回呼

    函式選用

    callback 參數如下所示:

    (registrationId: string)=>void

    • registrationId

      字串

      FCM 指派給應用程式的註冊 ID。

傳回

  • Promise<string>

    Chrome 116 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

send()

Promise
chrome.gcm.send(
  message: object,
  callback?: function,
)

根據訊息內容傳送訊息。

參數

  • 訊息

    物件

    要透過 FCM 傳送給另一方的訊息。

    • 資料或曾存取這類資料的人員

      物件

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

    • destinationId

      字串

      接收 Google API 控制台所指派訊息的伺服器 ID。

    • messageId

      字串

      訊息的 ID。應用程式範圍內的每則訊息都必須是專屬的值。如需挑選及處理 ID 的建議,請參閱雲端通訊說明文件

    • timeToLive

      數字 選填

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

  • 回呼

    函式選用

    callback 參數如下所示:

    (messageId: string)=>void

    • messageId

      字串

      發出回呼的訊息 ID。

傳回

  • Promise<string>

    Chrome 116 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

unregister()

Promise
chrome.gcm.unregister(
  callback?: function,
)

從 FCM 取消註冊應用程式。

參數

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Chrome 116 以上版本

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

活動

onMessage

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

透過 FCM 收到訊息時觸發。

參數

  • 回呼

    功能

    callback 參數如下所示:

    (message: object)=>void

    • 訊息

      物件

      • collapseKey

        字串 選用

        訊息的收合鍵。詳情請參閱無法收合及可收合的郵件

      • 資料或曾存取這類資料的人員

        物件

        訊息資料。

      • 來自

        字串 選用

        核發郵件的寄件者。

onMessagesDeleted

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

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

參數

  • 回呼

    功能

    callback 參數如下所示:

    ()=>void

onSendError

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

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

參數

  • 回呼

    功能

    callback 參數如下所示:

    (error: object)=>void

    • 錯誤

      物件

      • 詳細資料

        物件

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

      • errorMessage

        字串

        說明問題的錯誤訊息。

      • messageId

        字串 選用

        出現這個錯誤的訊息 ID (如果與特定訊息有關)。