選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Firebase Cloud Messaging 端點的 Amazon SNS 管理

焦點模式
Firebase Cloud Messaging 端點的 Amazon SNS 管理 - Amazon Simple Notification Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理和維護裝置字符

您可以遵循下列步驟,確保行動應用程式推播通知的可交付性:

  1. 將所有裝置字符、對應的 Amazon SNS 端點 ARNs 和時間戳記存放在您的應用程式伺服器上。

  2. 移除所有過時字符,並刪除對應的 Amazon SNS 端點 ARNs。

在您應用程式的初始啟動時,您將收到裝置的裝置權杖 (也稱為註冊權杖)。此裝置權杖是由裝置的作業系統開採,並與 FCM 應用程式繫結。收到此裝置字符後,您可以將它註冊到 Amazon SNS 作為平台端點。建議您將裝置權杖、Amazon SNS 平台端點 ARN 和時間戳記儲存到您的應用程式伺服器或其他持久性存放區。若要設定 FCM 應用程式以擷取和存放裝置權杖,請參閱 Google Firebase 文件中的擷取和存放註冊權杖

請務必維護up-to-date字符。您的使用者的裝置字符可以在下列情況下變更:

  1. 行動應用程式會在新裝置上還原。

  2. 使用者解除安裝或更新應用程式。

  3. 使用者會清除應用程式資料。

當您的裝置字符變更時,建議您使用新的字符更新對應的 Amazon SNS 端點。這可讓 Amazon SNS 繼續與已註冊的裝置通訊。您可以在行動應用程式中實作下列虛擬程式碼來執行此操作。它描述了建立和維護已啟用平台端點的建議實務。此方法可以在每次行動應用程式啟動時執行,或在背景中做為排程任務執行。

虛擬程式碼

使用下列 FCM 虛擬程式碼來管理和維護裝置字符。

retrieve the latest token from the mobile OS if (endpoint arn not stored) # first time registration call CreatePlatformEndpoint store returned endpoint arn endif call GetEndpointAttributes on the endpoint arn if (getting attributes encountered NotFound exception) #endpoint was deleted call CreatePlatformEndpoint store returned endpoint arn else if (token in endpoint does not match latest) or (GetEndpointAttributes shows endpoint as disabled) call SetEndpointAttributes to set the latest token and enable the endpoint endif endif

若要進一步了解權杖更新需求,請參閱 Google Firebase 文件中的定期更新權杖

偵測無效的字符

當訊息以無效的裝置字符傳送至 FCM v1 端點時,Amazon SNS 將收到下列其中一個例外狀況:

  • UNREGISTERED (HTTP 404) – 當 Amazon SNS 收到此例外狀況時,您將收到一個交付失敗事件,其中 FailureTypeInvalidPlatformToken,而與端點相關聯的 FailureMessage平台字符無效。 當交付失敗時,Amazon SNS 會停用您的平台端點,但有此例外狀況。

  • INVALID_ARGUMENT (HTTP 400) – 當 Amazon SNS 收到此例外狀況時,表示裝置字符或訊息承載無效。如需詳細資訊,請參閱 Google Firebase 文件中的 ErrorCode

由於 INVALID_ARGUMENT 可以在這些情況下傳回,Amazon SNS 將傳回 FailureTypeInvalidNotification,而通知內文FailureMessage的 是無效的。 當您收到此錯誤時,請確認您的承載正確。如果正確,請確認裝置字符是up-to-date。在此情況下,當交付失敗時,Amazon SNS 不會停用您的平台端點。

另一個您會遇到InvalidPlatformToken交付失敗事件的情況是,註冊的裝置字符不屬於嘗試傳送該訊息的應用程式。在此情況下,Google 會傳回 SENDER_ID_MISMATCH 錯誤。當交付失敗時,Amazon SNS 會停用您的平台端點,但有此例外狀況。

當您為應用程式設定交付狀態記錄時,您可以在 CloudWatch 中使用從 FCM v1 API 收到的所有觀察到的錯誤碼。

若要接收應用程式的交付事件,請參閱 可用的應用程式事件

移除過時的字符

當訊息傳遞至端點裝置開始失敗時,權杖會被視為過時。Amazon SNS 會將這些過時字符設定為平台應用程式的停用端點。當您發佈至停用的端點時,Amazon SNS 會傳回具有 FailureTypeEventDeliveryFailure事件EndpointDisabled,且端點FailureMessage已停用。若要接收應用程式的交付事件,請參閱 可用的應用程式事件

當您從 Amazon SNS 收到此錯誤時,您需要移除或更新平台應用程式中的過時字符。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。