Обратный вызов Push Sharp выполнен успешно, но уведомление не получено?

Я использую библиотеку push sharp для отправки уведомлений на устройства IOS.

Я использую этот класс PushNotificationService

Я регистрирую события, которые будут срабатывать после получения обратного вызова от APNS.

            pushBroker.OnNotificationSent += OnNotificationSent;
            pushBroker.OnNotificationFailed += OnNotificationFailed;
            // Note for apple a notification is either successful or failed
            pushBroker.OnDeviceSubscriptionExpired += OnDeviceSubscriptionExpired;
            pushBroker.OnDeviceSubscriptionChanged += OnDeviceSubscriptionChanged;
            pushBroker.OnChannelException += OnChannelException;
            pushBroker.OnChannelCreated += OnChannelCreated;
            pushBroker.OnChannelDestroyed += OnChannelDestroyed;
            pushBroker.OnServiceException += OnServiceException; 

Когда я отправляю уведомление, это событие (OnNotificationSent) запускается

Я регистрирую ответ от APNS.

Я оживляю этот ответ:

Идентификатор успешного устройства

Однако уведомление не дошло до моего устройства?

Любая причина ?


person user123456    schedule 21.03.2016    source источник
comment
Какую версию PushSharp вы используете?   -  person Florian-Rh    schedule 04.04.2016
comment
Версия @GuyMontag PushSharp 2.2.1   -  person user123456    schedule 05.04.2016
comment
Вы почти на две основные версии отстаете от текущей. Могу я предложить обновиться до 4.0.4? Использование немного отличается, но не сложнее. Документация доступна здесь: github.com/Redth/PushSharp   -  person Florian-Rh    schedule 05.04.2016
comment
Я обновился до последней версии, и я все еще получаю ту же ошибку.   -  person user123456    schedule 07.04.2016
comment
Итак, pushBroker_OnNotificationSucceeded вызывается, но ваше устройство не получает никаких сообщений? Это происходит со всеми уведомлениями, в том числе сразу после запуска брокера? Однажды я столкнулся с такой ошибкой, и в моем случае это была потеря соединения с прокси. Это произошло через ~30 минут после инициализации соединения.   -  person Florian-Rh    schedule 07.04.2016
comment
на самом деле я отправляю около 50000 устройств IOS. Но у меня есть таймер, который выполняется каждые 10 секунд. Этот таймер поставит в очередь пакет из 300 устройств. В первой партии 300. Я получаю ConnectionError. В то время как остальные об успешных событиях возникают, и в нем говорится, что уведомление было отправлено, однако для некоторой части успешных устройств. уведомление не доходит.   -  person user123456    schedule 07.04.2016
comment
@ user123456 У меня та же проблема. Я также обновил свой PushSharp до последней версии. Кто-нибудь нашел ответ на это?   -  person disasterkid    schedule 21.06.2016


Ответы (1)


Вы должны использовать эту серверную библиотеку для push-уведомлений в С#: https://github.com/bytefish/FcmSharp Шаги, описанные для его использования, включают необходимость ссылки на файл serviceAccountKey.json, который загружается из консоли Firebase. Это файл, который включает аутентификацию на канале. Без этого включения отправка уведомлений ненадежна.

person Mich    schedule 15.06.2019