ChrisdeBorg Ответов: 1

Отправить push-уведомление на сервер Apple APNS


Привет!

Я хочу отправить push-уведомление нашим мобильным клиентам iOS с помощью сервера APNs, но получаю ответ "недопустимый токен устройства" от APNs.

Что - то не так ?

У меня есть действительные сертификаты и файлы p12, я использовал токен устройства, который получил на свой iphone.

Вот какой-то серверный код:

Что я уже пробовал:

string certPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "nlcprod.p12");
                bool exist = File.Exists(certPath);
                var cert = File.ReadAllBytes(certPath);
                var appleSettings = new PushSharp.Apple.ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, cert, "");
                var pushBroker = new PushSharp.Apple.ApnsServiceBroker(appleSettings);

                pushBroker.OnNotificationFailed += (notification, aggregateEx) =>
                {
                    string strEx = aggregateEx.ToString();
                };
                pushBroker.OnNotificationSucceeded += PushBroker_OnNotificationSucceeded;
               // PushSharp.Apple.ApnsServiceConnection connection = new ApnsServiceConnection(appleSettings);

                JObject jObject = JObject.Parse(str);
                ApnsNotification apnsNotification = new ApnsNotification
                {
                    DeviceToken = "97056623 0caedd1c 0c96a264 f16cbf57 d9fa7236 08046144 6160ee95 94616364",
                    Payload = JObject.Parse("{\"aps\":{\"badge\":1,\"sound\":\"oven.caf\",\"alert\":\"testmessage\"}}")
                };

                //connection.Send(apnsNotification);
                pushBroker.Start();
                pushBroker.QueueNotification(apnsNotification);

1 Ответов

Рейтинг:
2

User 7429338

Я замечаю две вещи:

1. маркер устройства не должен содержать пробелов. Попробуйте удалить их.

2. основываясь на названии ваших сертификатов, вы используете производственный сертификат. Для этого требуется токен производственного устройства, который вы получите, когда ваше приложение будет построено с помощью специального профиля подготовки или профиля подготовки AppStore. Вы используете профиль разработки?

Если нет, то можете ли вы поделиться кодом для получения маркера устройства?