本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將裝置字符與 Amazon SNS 整合以進行行動通知
當您第一次向通知服務註冊應用程式和行動裝置時,例如 Apple Push Notification Service (APNs) 和 Firebase Cloud Messaging (FCM),服務會傳回裝置字符或註冊 IDs。這些字符/IDs會新增至 Amazon SNS,以使用 PlatformApplicationArn API 為應用程式和裝置建立端點。建立端點後,EndpointArn會傳回 ,Amazon SNS 會使用它將通知導向正確的應用程式/裝置。
您可以透過下列方式將裝置字符或註冊 IDs 新增至 Amazon SNS:
-
透過 手動新增單一字符 AWS 管理主控台
-
使用
CreatePlatformEndpointAPI 上傳多個字符 -
為未來的裝置註冊字符
手動新增裝置字符或註冊 ID
-
登入 Amazon SNS 主控台
。 -
在導覽窗格中,選取推送通知。
-
在平台應用程式區段中,選取您的應用程式,然後選擇編輯。如果您尚未建立平台應用程式,請遵循建立 Amazon SNS 平台應用程式指南立即執行此操作。
-
選擇建立端點。
-
在端點字符方塊中,輸入字符或註冊 ID,視您使用的通知服務而定 (例如 FCM 註冊 ID)。
-
(選用) 在使用者資料欄位中輸入其他資料。此資料必須為 UTF-8 編碼且小於 2 KB。
-
選擇建立端點。
建立端點後,您可以將訊息直接傳送到行動裝置或訂閱 Amazon SNS 主題的行動裝置。
使用 CreatePlatformEndpoint API 上傳多個字符
下列步驟說明如何使用 提供的範例 Java 應用程式 (bulkupload 套件) AWS ,將數個字符 (裝置字符或註冊 IDs) 上傳至 Amazon SNS。您可以使用此範本應用程式,來協助您開始上傳現有字符。
注意
下列步驟使用 Eclipse Java IDE。這些步驟假設您已安裝 , 適用於 Java 的 AWS SDK 而且您擁有 AWS 的安全登入資料 AWS 帳戶。如需詳細資訊,請參閱適用於 Java 的 AWS SDK
-
下載並解壓縮 snsmobilepush.zip 檔案。
-
在 Eclipse 中建立新的 Java 專案,並將
SNSSamples資料夾匯入專案。 -
下載 OpenCSV 程式庫
並將其新增至建置路徑。 -
在
BulkUpload.properties檔案中,指定下列項目:-
您的
ApplicationArn(平台應用程式 ARN)。 -
包含字符之 CSV 檔案的絕對路徑。
-
記錄成功和失敗字符的檔案名稱。例如,
goodTokens.csv和badTokens.csv。 -
(選用) 分隔符號、引號字元和要使用的執行緒數量的組態。
您完整的
BulkUpload.properties看起來應與下列類似:applicationarn: arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp csvfilename: C:\\mytokendirectory\\mytokens.csv goodfilename: C:\\mylogfiles\\goodtokens.csv badfilename: C:\\mylogfiles\\badtokens.csv delimiterchar: ',' quotechar: '"' numofthreads: 5 -
-
執行 BatchCreatePlatformEndpointSample.java 應用程式,將權杖上傳至 Amazon SNS。成功上傳的權杖將登入
goodTokens.csv,而格式不正確的權杖將登入badTokens.csv。
從裝置註冊權杖以供未來的應用程式安裝使用
此程序有兩個選項:
- 使用 Amazon Cognito 服務
-
您的行動應用程式可以使用臨時安全登入資料來建立端點。建議使用 Amazon Cognito 來產生臨時登入資料。如需詳細資訊,請參閱 Amazon Cognito 開發人員指南
若要追蹤應用程式註冊,請使用 Amazon SNS 事件在建立新的端點 ARNs時接收通知。
或者,您可以使用
ListEndpointByPlatformApplicationAPI 來擷取已註冊端點的清單。 - 使用代理伺服器
-
如果您的應用程式基礎設施已在安裝時支援裝置註冊,您可以使用伺服器做為代理。它會透過
CreatePlatformEndpointAPI 將裝置字符轉送至 Amazon SNS。Amazon SNS 建立的端點 ARN 將傳回,並且可由您的伺服器存放以供未來訊息發佈使用。