Przetwarzanie wielu powiadomień za pomocą PushSharp dla ios i Androida

Zaimplementowałem usługę Windows, która działa co 3 minuty i odpytuje bazę danych o powiadomienia, które są gotowe do wysłania. Zbieram je na listę określa, czy jest to powiadomienie ios, czy android, a następnie dzwoni do PushBrokera (rozwiązanie PushSharp jest dołączone jako rozwiązanie kompilowane w moim projekcie rozwiązania). Następnie iteruję pozycje na liście, aby przetwarzać je w następujący sposób:

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

   }

Wiadomości są wysyłane pomyślnie, jednak problem, który mam, polega na 1. próbie odzyskania odpowiedzi po pomyślnym wysłaniu wiadomości lub niepowodzeniu, powodu niepowodzenia itp. Są to delegaty w kodzie pushsharp, dzięki czemu mogę zalogować się odpowiedzi na naszą bazę danych. Dla wyjaśnienia ... Muszę wiedzieć, jaka próba wejścia (identyfikator urządzenia) pochodzi z odpowiedzi błędu. Nie jestem w stanie określić przez wygenerowane wiadomości od delegatów powiadomienia, ponieważ dane nie są powiązane z żadną konkretną próbą dostarczenia urządzenia. 2. Chcę także mieć możliwość zachowania kodu pushsharp bez modyfikacji i metod wywołania z mojego kodu, aby ograniczyć problemy z łączeniem, gdy w przyszłości wprowadzone zostaną zmiany w kodzie pushsharp. Jakieś sugestie? Byłbym wdzięczny, jeśli ktoś może podać mi przykłady użycia zdarzeń odpowiedzi i delegatów do pobierania informacji o każdej próbie wysłania powiadomienia. Dziękuję Ci.

questionAnswers(1)

yourAnswerToTheQuestion