我試圖使用AWS SNS推送通知我的應用程序。我已經使用用戶信息和註冊ID成功設置了單個端點ARN的註冊。AWS SNS - 推到GCM
我可以通過控制檯精發送個人信息,但是我似乎無法弄清楚如何發送程序(JAVA)
控制檯方式:(工作)
http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-directmobile.html
經由JAVA嘗試方式:
private void publishToSNSEndpoint(String username) {
// Find an entry of a users SNS registration and Endpoint ARN
SNSPush pushConfig = snsPushService.findByUsername(username);
//Get ARN to String
String endpointARN = pushConfig.getSNSEnpointARN();
//Generate SNS Push to user
String message = "{\"title\":\"Test_Title\",\"description\":\"Test_Description\"}";
PublishRequest publishRequest = new PublishRequest();
publishRequest.setMessage(message);
publishRequest.setTargetArn(endpointARN);
PublishResult publish = client.publish(publishRequest);
//print MessageId of message published to SNS topic
System.out.println("MessageId - " + publish.getMessageId());
}
這目前產生以下的誤差:
使用使用EndpointARN(確認有效)無效的參數: TargetArn原因:沒有終點找到目標阿爾恩指定 (服務:AmazonSNS;狀態碼:400;錯誤代碼:InvalidParameter;
使用SNS應用ARN(三重檢查,這是有效的)
無效參數:TargetArn原因: 阿爾恩:AWS:SNS:AP-東南XXXXXXXXX-XXXX是無效的發佈到 (服務:AmazonSNS;狀態代碼:400;錯誤代碼:參數無效;
有一些文檔here但似乎很老了,不能再工作
。我的問題是:我如何發送推送通知到個人EndpointARN在AWS SNS程序使用Java和AWS的SDK。
我遇到類似的錯誤最近一些。我必須**設置與我的端點相關聯的區域**,以便它可以通過您的連接訪問。已經明確設定了嗎? – ccjmne
是的,我在早期的EndPoint創建過程中這麼做過。將SNSClient對象設置爲我的區域。謝謝你的建議。 – Yonkee