3

Использование Xamarin и AWS SNS для получения push-уведомлений. На днях они отлично работали. Сегодня это не так.AWS SNS Android GCM - InvalidPlatformToken

У меня есть устройство Android и устройство iOS. Всякий раз, когда я изменяю что-либо в своем приложении, другое устройство должно получать push-уведомление. Устройство iOS работает.

C# код для подписки на Android:

[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); 
    } 
} 

Опуская некоторые контрольные точки там я вижу, что мой маркер устройства не соответствует маркеру для конечной точки AWS, что я пытаюсь отправлять сообщения. Однако по какой-то причине я продолжаю получать сообщения об ошибках с AWS. Это то, что AWS посылает меня:

{"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"}

Что может быть причиной этого, если я знаю, что лексема я получаю обратно из приложения соответствует фишку моего AWS конечной точки?

+1

Вы нашли решение для этого? Я сталкиваюсь с той же проблемой. – thumper

ответ

Смежные вопросы