繫結至所提供應用程式的訊息服務。
簽名:
export declare class Messaging
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
應用程式 | 應用程式 | 與目前 Messaging 服務執行個體相關聯的應用程式。 |
方法
方法 | 修飾符 | 說明 |
---|---|---|
enableLegacyHttpTransport() | 允許針對 sendEach() 和 sendEachForMulticast() 使用舊版 HTTP/1.1 傳輸功能。 |
|
send(訊息, dryRun) | 透過 FCM 傳送指定訊息。 | |
sendAll(messages, dryRun) | 透過 Firebase 雲端通訊傳送指定陣列中的所有訊息。使用批次處理,將整份清單當做單一 RPC 呼叫傳送。與 send() 方法相比,這個方法是傳送多則訊息的效率大幅提升的方式。從傳回值取得的回應清單會對應 MulticastMessage 中的權杖順序。如果此方法產生錯誤,即代表總失敗。也就是說,無法傳送清單中的任何訊息。如果部分失敗,會傳回 BatchResponse 值。 |
|
sendEach(messages, dryRun) | 系統會透過 Firebase 雲端通訊傳送指定陣列中的每則訊息。與 Messaging.sendAll() 不同,這個方法會針對指定陣列中的每則訊息,發出單一遠端程序呼叫 (RPC)。從回傳值取得的回應清單會對應至 messages 的順序。如果這個方法或 BatchResponse 發生錯誤,則表示總失敗。也就是說,無法傳送清單中的任何訊息。如果發生部分失敗或失敗,系統只會傳回 BatchResponse 傳回值。 |
|
sendEachForMulticast(訊息, dryRun) | 將指定的多點傳播訊息傳送給指定的所有 FCM 註冊權杖。這個方法會使用背景的 Messaging.sendEach() API 傳送特定訊息給所有目標收件者。從傳回值取得的回應清單會對應 MulticastMessage 中的權杖順序。如果這個方法發生錯誤,或 BatchResponse 發生所有失敗情形,則表示總失敗。也就是說,系統可能會傳送清單中的訊息。如果發生部分失敗或失敗,系統只會傳回 BatchResponse 傳回值。 |
|
sendMulticast(訊息, dryRun) | 將指定的多點傳播訊息傳送給指定的所有 FCM 註冊權杖。這個方法實際上會使用 sendAll() API,將特定訊息傳送給所有目標收件者。從傳回值取得的回應清單會對應 MulticastMessage 中的權杖順序。此方法的錯誤表示總失敗,意味著訊息沒有傳送至清單中的任何權杖。如果部分失敗,會傳回 BatchResponse 值。 |
|
sendToCondition(condition, payload, 選項) | 將 FCM 訊息傳送至條件。如需程式碼範例和詳細說明文件,請參閱傳送至條件。 | |
sendToDevice(RegistrationTokenOrTokens, payload, 選項) | 將 FCM 訊息傳送至與所提供註冊權杖相對應的單一裝置。如需程式碼範例和詳細說明文件,請參閱傳送至個別裝置。取用 registrationToken 傳送至單一裝置,或接收包含權杖陣列的 registrationTokens 參數,並傳送至多部裝置。 |
|
sendToDeviceGroup(notificationKey, payload, 選項) | 將 FCM 訊息傳送到與指定通知鍵相對應的裝置群組。如需程式碼範例和詳細說明文件,請參閱傳送至裝置群組。 | |
sendToTopic(topic, payload, 選項) | 將 FCM 訊息傳送至主題。如需程式碼範例和詳細說明文件,請參閱傳送至主題。 | |
subscribeToTopic(RegistrationTokenOrTokens, 主題) | 將裝置訂閱 FCM 主題。如需程式碼範例和詳細說明文件,請參閱訂閱主題。你也可以選擇提供一系列權杖來訂閱多部裝置。 | |
unsubscribeFromTopic(RegistrationTokenOrTokens, 主題) | 取消訂閱裝置與 FCM 主題。如需程式碼範例和詳細說明文件,請參閱取消訂閱主題。您也可以提供一組權杖來取消訂閱多部裝置。 |
Messaging.app
與目前 Messaging
服務執行個體相關聯的應用程式。
簽名:
get app(): App;
範例
var app = messaging.app;
Messaging.enableLegacyHttpTransport()
當 HTTP/2 傳輸實作結果達到與舊版 HTTP/1.1 實作項目相同的穩定性時,就會移除這個 SDK。
允許針對 sendEach()
和 sendEachForMulticast()
使用舊版 HTTP/1.1 傳輸。
簽名:
enableLegacyHttpTransport(): void;
傳回:
void
範例
const messaging = getMessaging(app);
messaging.enableLegacyTransport();
messaging.sendEach(messages);
Messaging.send()
透過 FCM 傳送指定訊息。
簽名:
send(message: Message, dryRun?: boolean): Promise<string>;
參數
參數 | 類型 | 說明 |
---|---|---|
訊息 | 傳送訊息 | 訊息酬載。 |
模擬測試 | 布林值 | 是否以模擬測試 (僅限驗證) 模式傳送訊息。 |
傳回:
承諾<字串>
訊息成功遞交 FCM 服務進行傳送後,保證會履行並提供專屬訊息 ID 字串的保證。
Messaging.sendAll()
請改用 Messaging.sendEach()。
透過 Firebase 雲端通訊傳送指定陣列中的所有訊息。使用批次處理,將整份清單當做單一 RPC 呼叫傳送。相較於 send()
方法,這個方法在傳送多則訊息時更有效率。
從傳回值取得的回應清單會對應至 MulticastMessage
中的符記順序。如果此方法產生錯誤,即代表總失敗。也就是說,無法傳送清單中的任何訊息。如果部分失敗,會傳回 BatchResponse
值。
簽名:
sendAll(messages: Message[], dryRun?: boolean): Promise<BatchResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
訊息 | 訊息[] | 非空白陣列,最多可包含 500 則訊息。 |
模擬測試 | 布林值 | 是否在模擬測試 (僅限驗證) 模式下傳送訊息。 |
傳回:
Promise<BatchResponse>
Promise 已完成,其中包含代表傳送作業結果的物件。
Messaging.sendEach()
透過 Firebase 雲端通訊傳送指定陣列中的每則訊息。
與 Messaging.sendAll() 不同,這個方法會針對指定陣列中的每則訊息,發出單一遠端程序呼叫 (RPC)。
從傳回值取得的回應清單會對應至 messages
的順序。如果這個方法或 BatchResponse
發生錯誤,則表示總失敗。也就是說,無法傳送清單中的任何訊息。如果發生部分失敗或失敗,系統只會傳回 BatchResponse
傳回值。
簽名:
sendEach(messages: Message[], dryRun?: boolean): Promise<BatchResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
訊息 | 訊息[] | 非空白陣列,最多可包含 500 則訊息。 |
模擬測試 | 布林值 | 是否在模擬測試 (僅限驗證) 模式下傳送訊息。 |
傳回:
Promise<BatchResponse>
Promise 已完成,其中包含代表傳送作業結果的物件。
Messaging.sendEachForMulticast()
將指定的多點傳播訊息傳送至當中指定的所有 FCM 註冊權杖。
這個方法會在背景中使用 Messaging.sendEvery() API 將特定訊息傳送給所有目標收件者。從傳回值取得的回應清單會對應至 MulticastMessage
中的符記順序。如果這個方法發生錯誤,或 BatchResponse
發生所有失敗情形,則表示總失敗。也就是說,系統可能會傳送清單中的訊息。如果發生部分失敗或失敗,系統只會傳回 BatchResponse
傳回值。
簽名:
sendEachForMulticast(message: MulticastMessage, dryRun?: boolean): Promise<BatchResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
訊息 | 多點傳播訊息 | 包含最多 500 個符記的多點傳播訊息。 |
模擬測試 | 布林值 | 是否以模擬測試 (僅限驗證) 模式傳送訊息。 |
傳回:
Promise<BatchResponse>
Promise 已完成,其中包含代表傳送作業結果的物件。
Messaging.sendMulticast()
將指定的多點傳播訊息傳送至當中指定的所有 FCM 註冊權杖。
這個方法實際上會使用 sendAll()
API,將指定訊息傳送給所有目標收件者。從傳回值取得的回應清單會對應至 MulticastMessage
中的符記順序。此方法的錯誤表示總失敗,意味著訊息沒有傳送至清單中的任何權杖。如果部分失敗,會傳回 BatchResponse
值。
簽名:
sendMulticast(message: MulticastMessage, dryRun?: boolean): Promise<BatchResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
訊息 | 多點傳播訊息 | 包含最多 500 個符記的多點傳播訊息。 |
模擬測試 | 布林值 | 是否以模擬測試 (僅限驗證) 模式傳送訊息。 |
傳回:
Promise<BatchResponse>
Promise 已完成,其中包含代表傳送作業結果的物件。
Messaging.sendToCondition()
請改用 Messaging.send()。
將 FCM 訊息傳送至條件。
如需程式碼範例和詳細說明文件,請參閱「傳送至條件」一節。
簽名:
sendToCondition(condition: string, payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingConditionResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
條件 | 字串 | 決定訊息傳送主題的條件。 |
payload | MessagingPayload | 訊息酬載。 |
選項 | 訊息選項 | 選用選項,可用於修改訊息。 |
傳回:
Promise<MessagingConditionResponse>
訊息送出後已實現伺服器回應的承諾。
Messaging.sendToDevice()
請改用 Messaging.send()。
這個外掛程式能將 FCM 訊息傳送至與指定註冊權杖相對應的裝置。
如需程式碼範例和詳細說明文件,請參閱「傳送至個別裝置」一文。取用 registrationToken
傳送至單一裝置,或接收包含權杖陣列的 registrationTokens
參數,並傳送至多部裝置。
簽名:
sendToDevice(registrationTokenOrTokens: string | string[], payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingDevicesResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
RegistrationTokenOrTokens | 字串 |字串 [] | |
payload | MessagingPayload | 訊息酬載。 |
選項 | 訊息選項 | 選用選項,可用於修改訊息。 |
傳回:
Promise<MessagingDevicesResponse>
訊息送出後已實現伺服器回應的承諾。
Messaging.sendToDeviceGroup()
請改用 Messaging.send()。
這個外掛程式能將 FCM 訊息傳送至與指定通知鍵相對應的裝置群組。
如需程式碼範例和詳細說明文件,請參閱「傳送至裝置群組」一文。
簽名:
sendToDeviceGroup(notificationKey: string, payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingDeviceGroupResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
通知鍵 | 字串 | 訊息目的地裝置群組的通知鍵。 |
payload | MessagingPayload | 訊息酬載。 |
選項 | 訊息選項 | 選用選項,可用於修改訊息。 |
傳回:
Promise<MessagingDeviceGroupResponse>
訊息送出後已實現伺服器回應的承諾。
Messaging.sendToTopic()
請改用 Messaging.send()。
將 FCM 訊息傳送至主題。
如需程式碼範例和詳細說明文件,請參閱「傳送到主題」一節。
簽名:
sendToTopic(topic: string, payload: MessagingPayload, options?: MessagingOptions): Promise<MessagingTopicResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
主題 | 字串 | 要傳送訊息的主題。 |
payload | MessagingPayload | 訊息酬載。 |
選項 | 訊息選項 | 選用選項,可用於修改訊息。 |
傳回:
Promise<MessagingTopicResponse>
訊息送出後已實現伺服器回應的承諾。
Messaging.subscribeToTopic()
將裝置訂閱 FCM 主題。
如需程式碼範例和詳細說明文件,請參閱「訂閱主題」一文。你也可以選擇提供一系列權杖來訂閱多部裝置。
簽名:
subscribeToTopic(registrationTokenOrTokens: string | string[], topic: string): Promise<MessagingTopicManagementResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
RegistrationTokenOrTokens | 字串 |字串 [] | |
主題 | 字串 | 要訂閱的主題。 |
傳回:
Promise<MessagingTopicManagementResponse>
已在裝置訂閱主題後已實現伺服器回應的承諾。
Messaging.unsubscribeFromTopic()
為裝置取消訂閱 FCM 主題。
如需程式碼範例和詳細說明文件,請參閱「取消訂閱特定主題」一文。您也可以提供一組權杖來取消訂閱多部裝置。
簽名:
unsubscribeFromTopic(registrationTokenOrTokens: string | string[], topic: string): Promise<MessagingTopicManagementResponse>;
參數
參數 | 類型 | 說明 |
---|---|---|
RegistrationTokenOrTokens | 字串 |字串 [] | |
主題 | 字串 | 要取消訂閱的主題。 |
傳回:
Promise<MessagingTopicManagementResponse>
已承諾在裝置取消訂閱主題後已實現伺服器回應。