3

Verwenden von Xamarin und AWS SNS, um Push-Benachrichtigungen zu erhalten. Sie funktionierten neulich gut. Heute sind sie nicht.AWS SNS Android GCM - InvalidPlatformToken

Ich habe ein Android-Gerät und ein iOS-Gerät. Wenn ich etwas in meiner Anwendung ändere, sollte das andere Gerät eine Push-Benachrichtigung erhalten. Das iOS-Gerät funktioniert.

C# -Code auf Android für Ihre Anmeldung:

[Service(Exported = false)] 
public class RegistrationIntentService : IntentService 
{ 
    static object locker = new object(); 

    public RegistrationIntentService() : base("RegistrationIntentService") { } 

    protected override void OnHandleIntent(Intent intent) 
    { 
     try 
     { 
      Log.Info("RegistrationIntentService", "Calling InstanceID.GetToken"); 
      lock (locker) 
      { 
       var instanceID = InstanceID.GetInstance(this); 
       var token = instanceID.GetToken(
        "shhh it's a secret.", GoogleCloudMessaging.InstanceIdScope, null); 

       Log.Info("RegistrationIntentService", "GCM Registration Token: " + token); 
       SendRegistrationToAppServer(token); 
       Subscribe(token); 
      } 
     } 
     catch (Exception e) 
     { 
      Log.Debug("RegistrationIntentService", "Failed to get a registration token"); 
      return; 
     } 
    } 

    void SendRegistrationToAppServer(string token) 
    { 
     // Add custom implementation here as needed. 
     //... handling my token on the back-end 
    } 

    void Subscribe(string token) 
    { 
     var pubSub = GcmPubSub.GetInstance(this); 
     pubSub.Subscribe(token, "/topics/global", null); 
    } 
} 

einige Stützpunkte dort Dropping kann ich sehen, dass mein Gerät Token für den AWS Endpunkt das Token übereinstimmt, die ich versuche, Nachrichten zu senden. Aus irgendeinem Grund erhalte ich Fehlermeldungen von AWS. Dies ist, was AWS mir sendet:

{"DeliveryAttempts":1,"EndpointArn":"arn:aws:sns:...:endpoint/GCM/...","EventType":"DeliveryFailure","FailureMessage":"Platform token associated with the endpoint is not valid","FailureType":"InvalidPlatformToken","MessageId":"...","Resource":"arn:aws:sns:...:app/GCM/...","Service":"SNS","Time":"2016-03-28T18:22:59.360Z"}

Was dies verursacht werden könnte, wenn ich weiß, dass das Token ich aus der Anwendung immer wieder stimmt mit dem Zeichen meiner AWS Endpunkt?

+1

Haben Sie eine Lösung dafür gefunden? Ich treffe genau das gleiche Problem. – thumper

Antwort