Je tente d'utiliser AWS SNS pour les notifications push pour mon application. J'ai installé avec succès l'enregistrement des ARN des points de terminaison individuels en utilisant les informations d'utilisateur et l'identifiant de regsitration.AWS SNS - Push to GCM
Je peux envoyer un message individuel par l'amende de la console, mais je ne peux pas sembler comprendre comment l'envoyer par programmation (JAVA)
chemin Console: (travail)
http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-directmobile.html
manière initialisées via 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());
}
Ce produit actuellement une erreur des éléments suivants:
En utilisant EndpointARN pour (Confirmé valide) Paramètre non valide: TargetArn Raison: Aucun critère trouvé pour la arn cible spécifiée (Service: AmazonSNS; Code d'état: 400; Code d'erreur: InvalidParameter;
utilisant SNS application ARN (Triple case est cochée est valide)
Paramètre non valide: TargetArn Raison: arn: aws: sns: ap-sud-xxxxxxxxx-xxxx est pas valide pour publier (service: AmazonSNS; code d'état: 400; code d'erreur: InvalidParameter;
il y a une documentation here mais il semble assez vieux et ne fonctionne pas plus
..Ma question est: Comment puis-je envoyer des notifications Push à un EndpointARN individuel dans AWS SNS par programmation en utilisant Java et AWS SDK.
J'ai rencontré une erreur similaire un peu récemment. J'ai dû ** définir la région ** associée à mon point de terminaison pour qu'elle soit accessible par votre connexion. L'avez-vous fait explicitement? – ccjmne
Oui, je l'ai fait plus tôt lors de la création du point de terminaison. Définissez l'objet SNSClient sur ma région. Merci pour les suggestions cependant. – Yonkee