ПРОБЛЕМА с уведомлением Apple PushSharp от версии 4.0.10.0 до Testflight

Я создал файл .p12 рабочей версии для отправки уведомлений на iPhone и установил приложение с помощью testflight.

При отправке уведомления из моего примера консольного приложения я всегда получаю обратный вызов, отправленный уведомлением, но уведомление не приходит на устройство.

Моя версия Pushsharp — 4.0.10.0, и код для отправки уведомления выглядит примерно так:

  public static void SendAppleNotification()
    {
        // Configuration (NOTE: .pfx can also be used here)
        var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Sandbox, "C:\\Users\\MancMiniUser\\Documents\\visual studio 2013\\Projects\\PushSharpDemo\\PushSharpDemo\\Resources\\P12CertifyPIE.p12", "1234");

        // Create a new broker
        var apnsBroker = new ApnsServiceBroker(config);

        // Wire up events
        apnsBroker.OnNotificationFailed += (notification, aggregateEx) =>
        {

            aggregateEx.Handle(ex =>
            {

                // See what kind of exception it was to further diagnose
                if (ex is ApnsNotificationException)
                {
                    var notificationException = (ApnsNotificationException)ex;

                    // Deal with the failed notification
                    var apnsNotification = notificationException.Notification;
                    var statusCode = notificationException.ErrorStatusCode;

                    Console.WriteLine("Apple Notification Failed: ID={apnsNotification.Identifier}, Code={statusCode}");

                }
                else
                {
                    // Inner exception might hold more useful information like an ApnsConnectionException           
                    Console.WriteLine("Apple Notification Failed for some unknown reason : {ex.InnerException}");
                }

                // Mark it as handled
                return true;
            });
        };

        apnsBroker.OnNotificationSucceeded += (notification) =>
        {
            Console.WriteLine("Apple Notification Sent!");
        };

        // Start the broker
        apnsBroker.Start();


        // Queue a notification to send
        apnsBroker.QueueNotification(new ApnsNotification
        {
            DeviceToken = "3cfcc2ceefe6675d89b063e2e39d03503b3917250e6743d185c755e9e2c3579d",
            Payload = JObject.Parse("{\"aps\":{\"alert\":\"Hello from sourabh v.4.0 Tester.\",\"badge\":\"1\"}}")

        });

        // Stop the broker, wait for it to finish   
        // This isn't done after every message, but after you're
        // done with the broker
        apnsBroker.Stop();
    }

Может ли кто-нибудь помочь мне с этим, почему уведомление не получено, хотя приходит уведомление об обратном вызове?


person Saurabh Sashank    schedule 05.05.2016    source источник


Ответы (1)


Вы создали производственный сертификат, а затем используете его как ApnsConfiguration.ApnsServerEnvironment.Production.

  • var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, "C:\Users\MancMiniUser\Documents\visual studio 2013\Projects\PushSharpDemo\PushSharpDemo\Resources\P12CertifyPIE.p12", "1234");
person P5194    schedule 10.05.2016