Processando várias notificações com PushSharp para ios e android

Implementei um serviço do windows que é executado a cada 3 minutos e pesquisa um banco de dados para notificações que estão prontas para serem enviadas. Coleta-os em uma lista determina se é um ios ou uma notificação do Android e, em seguida, chamo o PushBroker (a solução PushSharp é incluída como uma solução compilada no meu projeto de solução) e depois iterar os itens da lista para processá-los da seguinte maneira:

    static void ProcessIOS(List<Client> IOS)
   {
       PushBroker push = new PushBroker();
       push.OnNotificationSent += NotificationSent;
       push.OnChannelException += ChannelException;
       push.OnServiceException += ServiceException;
       push.OnNotificationFailed += NotificationFailed;
       push.OnDeviceSubscriptionExpired += DeviceSubscriptionExpired;
       push.OnDeviceSubscriptionChanged += DeviceSubscriptionChanged;
       push.OnChannelCreated += ChannelCreated;
       push.OnChannelDestroyed += ChannelDestroyed;
       foreach (var entry in IOS)
           {
               string dev = entry.Device_Id.ToString();
               string load = entry.Push_Payload.ToString();
               int count = entry.Unread_Count;
              var appleCert = File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "../../../productionfile.p12"));
               push.RegisterAppleService(new ApplePushChannelSettings(true, appleCert, "password")); //Extension method
                     push.QueueNotification(new AppleNotification()
                                          .ForDeviceToken(dev)
                                          .WithAlert(load)
                                          .WithBadge(count));
                  }

   }

As mensagens são enviadas com sucesso, no entanto, o problema que estou tendo é 1. tentando recuperar as respostas quando a mensagem foi enviada com sucesso, ou com falha, motivo da falha, etc ... estes são delegados dentro do código pushsharp para que eu possa registrar o respostas ao nosso banco de dados. Para esclarecimentos ... eu preciso saber qual tentativa de entrada (deviceID) as respostas de erro são de. Não consigo dizer pelas mensagens geradas pelos delegados notificationsent, pois os dados não estão vinculados a nenhuma tentativa de entrega de dispositivo em particular. 2. Eu também quero ser capaz de manter o código pushsharp como está sem modificações e métodos de chamada do meu código para reduzir problemas de mesclagem quando qualquer atualização for feita no código pushsharp no futuro. Alguma sugestão? Se alguém puder me dar algum exemplo de como usar os eventos de resposta e os representantes para recuperar as informações de cada tentativa de envio de notificação, eu agradeceria. obrigado.

questionAnswers(1)

yourAnswerToTheQuestion