本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對行動推播通知使用 Amazon SNS 時間即時訊息屬性
Amazon 簡易通知服務 (AmazonSNS) 可為行動推送通知訊息設定存留時間 (TTL) 訊息屬性提供支援。這是在 Amazon 消息正文中為支持此功能的移動推送通知服務(例如 Amazon 設TTL備SNS消息傳遞(ADM)和 Firebase 雲消息傳遞()在發送到 Android 時的現有功能之外。FCM
TTLmessage 屬性用於指定有關訊息的到期中繼資料。這可讓您指定推播通知服務 (例如 Apple 推播通知服務 (APNs) 或FCM必須將訊息傳送至端點的時間長度。如果由於某種原因(例如移動設備已關閉)消息未在指定的範圍內傳遞TTL,則消息將被丟棄,並且不會進一步嘗試傳遞消息。若要TTL在訊息屬性內指定,您可以使用 AWS Management Console、 AWS 軟體開發套件 (SDKs) 或查詢API。
TTL推播通知服務的訊息屬性
以下是推播通知服務的TTL訊息屬性清單,您可以在使用 AWS SDKs或查詢時用來設定API:
推送通知服務 | TTL訊息屬性 |
---|---|
Amazon 設備消息(ADM) | AWS.SNS.MOBILE.ADM.TTL |
蘋果推送通知服務(APNs) | AWS.SNS.MOBILE.APNS.TTL |
蘋果推送通知服務沙箱 (APNs_SANDBOX) | AWS.SNS.MOBILE.APNS_SANDBOX.TTL |
百度雲端推送 (百度) | AWS.SNS.MOBILE.BAIDU.TTL |
火力地堡雲消息傳遞(FCM發送到安卓系統時) | AWS.SNS.MOBILE.FCM.TTL |
視窗推送通知服務 (WNS) | AWS.SNS.MOBILE.WNS.TTL |
每個推播通知服務的處理TTL方式不同。Amazon SNS 提供了所有TTL推送通知服務的抽象視圖,這使得它更容易指定TTL。當您使用 AWS Management Console 來指定 TTL (以秒TTL為單位) 時,只需輸入一次TTL值,Amazon 就SNS會在發佈訊息時計算每個選取的推播通知服務。
TTL是相對於發佈時間。在將推播通知訊息傳遞給特定推播通知服務之前,Amazon 會SNS計算推播通知的停留時間 (發佈時間戳記之間的時間與移交推播通知服務之前的時間),並將剩餘的時間傳遞TTL給特定推播通知服務。如果TTL比停留時間短,Amazon 將SNS不會嘗試發布。
如果您TTL為推播通知訊息指定 a,則該TTL值必須是正整數,除非的值對推播通知服務0
具有特定意義,例如 APNs and FCM (傳送至 Android 時)。如果該TTL值設置為,0
並且推送通知服務沒有特定含義0
,那麼 Amazon SNS 將刪除消息。如需有關使用0
時設定之TTL參數的詳細資訊APNs,請參閱二進位提供者API
決定的優先順序 TTL
Amazon SNS 用來判斷推播通知訊息的TTL優先順序是根據下列順序,其中最低的數字具有最高優先順序:
-
訊息屬性 TTL
-
郵件正文 TTL
-
推播通知服務預設值 TTL (因服務而異)
-
Amazon SNS 默認TTL(4 週)
如果您為相同的訊息設定不同的TTL值 (一個在訊息屬性中,另一個在訊息內文中),Amazon SNS 會修改訊息內文TTL中的值,以符合訊息屬性中的TTL指定值。
TTL使用指定 AWS Management Console
登錄到 Amazon 控SNS制台
。 -
在導覽面板中,選擇 Mobile (行動裝置)、Push notifications (推送通知)。
-
在 Mobile push notifications (行動裝置推送通知) 頁面上,在 Platform applications (平台應用程式) 區段內,選擇應用程式。
-
在「」
MyApplication
頁面上的「端點」區段中,選擇應用程式端點,然後選擇「發佈訊息」。 -
在「訊息詳細資料」區段中,輸入 TTL (推播通知服務必須將訊息傳遞至端點的秒數)。
-
選擇 Publish message (發佈訊息)。