本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將裝置權杖與 Amazon SNS for mobile Notification 整合
當您第一次使用通知服務註冊應用程式和行動裝置時,例如 Apple Push Notification Service (APNs) 和 Firebase Cloud Messaging (FCM),IDs會從通知服務傳回裝置權杖或註冊。當您將裝置權杖或註冊新增至 IDs Amazon 時SNS,它們會與 搭配使用PlatformApplicationArn
API,以建立應用程式和裝置的端點。Amazon SNS建立端點時,EndpointArn
會傳回 。EndpointArn
是 Amazon SNS知道將通知訊息傳送至哪個應用程式和行動裝置的方式。
您可以使用SNS下列方法新增裝置權杖並註冊IDs至 Amazon:
-
AWS 使用 手動將單一權杖新增至 AWS Management Console
-
使用 上傳多個權杖
CreatePlatformEndpoint
API -
從將來要安裝您的應用程式的裝置上註冊字符
手動新增裝置字符或註冊 ID
-
登入 Amazon SNS主控台
。 -
在導覽窗格中,選擇推送通知 。
-
在平台應用程式區段中,選取您的應用程式,然後選擇編輯 。如果尚未建立平台應用程式,請立即建立。如需如何執行此動作的詳細資訊,請參閱建立 Amazon SNS平台應用程式。
-
選擇新增端點。
-
在 Endpoint Token (端點字符) 方塊中,根據通知服務的種類輸入字符 ID 或註冊 ID。例如,使用 ADM並FCM輸入註冊 ID。
-
(選用) 在 User Data (使用者資料) 方塊中,輸入任意資訊來與該端點相關聯。Amazon SNS 不會使用此資料。資料必須為 UTF-8 格式且小於 2KB 。
-
選擇新增端點。
使用建立的端點,您可以直接將訊息傳送至行動裝置,或將訊息傳送至訂閱主題的行動裝置。
若要使用 上傳多個權杖 CreatePlatformEndpoint
API
下列步驟說明如何使用 提供的 Java 應用程式 (bulkupload
套件) 範例 AWS ,將數個權杖 (裝置權杖或註冊 IDs) 上傳至 Amazon SNS。您可以使用此範本應用程式,來協助您開始上傳現有字符。
注意
下列步驟使用 Eclipse Java IDE。這些步驟假設您已安裝 , AWS SDK for Java 且您擁有 AWS 的安全憑證 AWS 帳戶。如需詳細資訊,請參閱AWS SDK for Java
-
下載並解壓縮 snsmobilepush.zip 檔案。
-
在 Eclipse 中建立新 Java 專案。
-
將
SNSSamples
資料夾匯入至新建立 Java 專案的最上層目錄。在 Eclipse 中,以滑鼠右鍵選擇 Java 專案的名稱,然後選擇 Import (匯入),展開 General (一般),選擇 File System (檔案系統),選擇 Next (下一步),導覽到SNSSamples
資料夾,選擇 OK (確定),再選擇 Finish (完成)。 -
下載 OpenCSV 程式庫
的副本,並將其新增至 bulkupload
套件的建置路徑。 -
開啟
BulkUpload.properties
套件中的bulkupload
檔案。 -
將以下項目新增到
BulkUpload.properties
:-
要向其新增終端節點的
ApplicationArn
。 -
包含權杖之CSV檔案位置的絕對路徑。
-
要建立CSV的檔案名稱 (例如
goodTokens.csv
和badTokens.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
-
-
執行 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。您也可以使用
ListEndpointByPlatformApplication
API來取得向 Amazon 註冊的端點完整清單SNS。 -
使用代理伺服器:如果您的應用程式基礎設施已經為行動應用程式設定完畢,可供其呼叫並在每次安裝中進行註冊,則可以繼續使用此設定。您的伺服器將充當代理,並將裝置權杖傳遞給 Amazon SNS行動推播通知,以及您想要儲存的任何使用者資料。因此,代理伺服器會使用SNS您的 AWS 憑證連線至 Amazon,並使用
CreatePlatformEndpoint
API呼叫上傳權杖資訊。新建立的端點 Amazon Resource Name (ARN) 將會傳回,您的伺服器可以存放此名稱,以便對 Amazon 進行後續發佈呼叫SNS。