新增裝置權杖或註冊 IDs - Amazon Simple Notification Service

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

新增裝置權杖或註冊 IDs

當您第一次向通知服務註冊應用程式和行動裝置時,例如 Apple Push Notification Service (APNs) 和 Firebase Cloud Messaging (FCM),通知服務IDs會傳回裝置權杖或註冊。當您將裝置權杖或註冊新增至 IDs Amazon 時SNS,它們會與 搭配使用PlatformApplicationArnAPI,以建立應用程式和裝置的端點。Amazon SNS建立端點時,EndpointArn會傳回 。EndpointArn 是 Amazon SNS知道將通知訊息傳送至哪個應用程式和行動裝置的方式。

您可以使用SNS下列方法新增裝置權杖並註冊IDs至 Amazon:

  • AWS 使用 手動將單一權杖新增至 AWS Management Console

  • 使用 上傳多個權杖 CreatePlatformEndpoint API

  • 從將來要安裝您的應用程式的裝置上註冊字符

手動新增裝置字符或註冊 ID
  1. 登入 Amazon SNS主控台

  2. 在導覽窗格中,選擇推送通知

  3. 平台應用程式區段中,選取您的應用程式,然後選擇編輯 。如果尚未建立平台應用程式,請立即建立。如需如何執行此動作的詳細資訊,請參閱建立平台應用程式

  4. 選擇新增端點

  5. Endpoint Token (端點字符) 方塊中,根據通知服務的種類輸入字符 ID 或註冊 ID。例如,使用 ADM並FCM輸入註冊 ID。

  6. (選用) 在 User Data (使用者資料) 方塊中,輸入任意資訊來與該端點相關聯。Amazon SNS 不會使用此資料。資料必須為 UTF-8 格式且小於 2KB 。

  7. 選擇新增端點

    使用建立的端點,您可以直接傳送訊息至行動裝置,或傳送訊息至訂閱主題的行動裝置。

若要使用 上傳多個權杖 CreatePlatformEndpoint API

下列步驟說明如何使用 提供的 Java 應用程式 (bulkupload 套件) 範例 AWS ,將數個權杖 (裝置權杖或註冊 IDs) 上傳至 Amazon SNS。您可以使用此範本應用程式,來協助您開始上傳現有字符。

注意

下列步驟使用 Eclipse Java IDE。這些步驟假設您已安裝 , AWS SDK for Java 且您擁有 AWS 的安全憑證 AWS 帳戶。如需詳細資訊,請參閱AWS SDK for Java。如需憑證的詳細資訊,請參閱 AWS 一般參考 中的如何取得安全憑證?

  1. 下載並解壓縮 snsmobilepush.zip 檔案。

  2. 在 Eclipse 中建立新 Java 專案。

  3. SNSSamples 資料夾匯入至新建立 Java 專案的最上層目錄。在 Eclipse 中,以滑鼠右鍵選擇 Java 專案的名稱,然後選擇 Import (匯入),展開 General (一般),選擇 File System (檔案系統),選擇 Next (下一步),導覽到 SNSSamples 資料夾,選擇 OK (確定),再選擇 Finish (完成)。

  4. 下載 OpenCSV 程式庫的副本,並將其新增至bulkupload套件的建置路徑。

  5. 開啟 BulkUpload.properties 套件中的 bulkupload 檔案。

  6. 將以下項目新增到 BulkUpload.properties

    • 要向其新增終端節點的 ApplicationArn

    • CSV 包含字符的檔案位置的絕對路徑。

    • 建立CSV檔案的名稱 (例如 goodTokens.csvbadTokens.csv),用於記錄 Amazon SNS 正確剖析的權杖和失敗的權杖。

    • (選用) 在包含字符的CSV檔案中指定分隔符號和引號的字元。

    • (選用) 用於同時建立端點的執行緒數量。預設為 1 個執行緒。

    您完整的 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
  7. 執行 BatchCreatePlatformEndpointSample.java 應用程式,將權杖上傳至 Amazon SNS。

    在此範例中,為成功上傳至 Amazon 的權杖建立的端點SNS會記錄到 goodTokens.csv,而格式錯誤的權杖則會記錄到 badTokens.csv。此外,您應該會看到寫入 Eclipse 主控台的STDOUT日誌,其中包含類似以下內容的內容:

    <1>[SUCCESS] The endpoint was created with Arn arn:aws:sns:us-west-2:111122223333:app/FCM/fcmpushapp/165j2214-051z-3176-b586-138o3d420071 <2>[ERROR: MALFORMED CSV FILE] Null token found in /mytokendirectory/mytokens.csv
從將來要安裝您的應用程式的裝置上註冊字符

您可以從下列兩個選項中使用其中一項來執行:

  • 使用 Amazon Cognito 服務:您的行動應用程式需要憑證才能建立與 Amazon SNS平台應用程式相關聯的端點。我們建議您使用經過一段期間後便會過期的暫時性憑證。在大部分情況下,建議您使用 Amazon Cognito 建立暫時性安全登入資料。如需詳細資訊,請參閱 Amazon Cognito 開發人員指南。如果您想要在應用程式向 Amazon 註冊時收到通知SNS,您可以註冊以接收將提供新端點 的 Amazon SNS事件ARN。您也可以使用 ListEndpointByPlatformApplicationAPI來取得向 Amazon 註冊的端點完整清單SNS。

  • 使用代理伺服器:如果您的應用程式基礎設施已經為行動應用程式設定完畢,可供其呼叫並在每次安裝中進行註冊,則可以繼續使用此設定。您的伺服器將充當代理,並將裝置權杖傳遞給 Amazon SNS Mobile 推播通知,以及您想要儲存的任何使用者資料。因此,代理伺服器會使用SNS您的 AWS 憑證連線至 Amazon,並使用 CreatePlatformEndpointAPI呼叫上傳權杖資訊。新建立的端點 Amazon Resource Name (ARN) 將會傳回,您的伺服器可以存放此名稱,以便對 Amazon 進行後續發佈呼叫SNS。