2016-10-10 1 views
1

J'essaie d'envoyer une notification push pour diviser et ensuite obtenir ces données à l'application cliente en utilisant FCM et Amazon SNS.Envoyer le registre des jetons au serveur ne fonctionne pas

J'ai mis en œuvre ce qui suit.

String customPushData = "my custom data"; 
CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest(); 

platformEndpointRequest.setCustomUserData(customPushData); 
platformEndpointRequest.setToken(token); 
platformEndpointRequest.setPlatformApplicationArn(platformApplicationArn); 
pushClient.setRegion(Region.getRegion(Regions.AP_NORTHEAST_1)); 

CreatePlatformEndpointResult result = pushClient.createPlatformEndpoint(platformEndpointRequest); 
String endpointArn = result.getEndpointArn(); 

Lorsque j'ai essayé de déboguer cela. puis,

curseur n'a pas bougé de

CreatePlatformEndpointResult result = pushClient.createPlatformEndpoint(platformEndpointRequest); 

Quand je vérifie dans mon application dans console.aws.amazon.com/sns alors aucun jeton enregistré.

Où puis-je me tromper et comment puis-je traiter pour envoyer des données à sns et revenir à un autre périphérique?

Tout hep serait grandement apprécié.

Répondre

0

À la fin, je l'ai fait fonctionner de la manière suivante. J'ai inscrit AsyncTask et je fais les changements suivants.

new AsyncTask<Void, Void, Void>(){ 

      @Override 
      protected Void doInBackground(Void... params) { 

       AWSCredentials awsCredentials = new BasicAWSCredentials("access Key", "secret Key"); 
       AmazonSNSClient pushClient = new AmazonSNSClient(awsCredentials); 

       CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest(); 
       platformEndpointRequest.setToken(regToken); 
       platformEndpointRequest.setPlatformApplicationArn(platformApplicationArn); 
       pushClient.setRegion(Region.getRegion(Regions.Region_Name)); 

       CreatePlatformEndpointResult result = pushClient.createPlatformEndpoint(platformEndpointRequest); 
       Log.e("Registration result",result.toString()); 

     return null; 
} 

Je reçois l'endpointARN en réponse.