0

У меня возникли проблемы с созданием центра уведомлений.Azure Notification Hub: уведомления не отображаются, если отправлено группе

Если я отправляю уведомление по тегу, у которого есть только одна регистрация, связанная с ним, тогда все в порядке. Вот источник:

var alert = "{\"aps\":{\"alert\":\"some message(targeted)\"},\"inAppMessage\": \"text\"}"; 
hub.SendAppleNativeNotificationAsync(alert,"mytag").ContinueWith(t => { 
    var outcome = t.Result; 
    Console.WriteLine(outcome); 
}); 

Но если я пытаюсь отправить мое уведомление всем пользователям, например, так:

var alert = "{\"aps\":{\"alert\":\"some message(all users)\"},\"inAppMessage\": \"text\"}"; 
hub.SendAppleNativeNotificationAsync(alert).ContinueWith(t => { 
    var outcome = t.Result; 
    Console.WriteLine(outcome); 
}); 

тогда никто не получает уведомления. Я проверил монитор на портале Azure, но ошибок не было.

У вас есть идеи?

ответ

2

Поведение, которое вы описали, неверно. Существует одна известная проблема, которая потенциально может привести к такого рода ошибок для Apple, только:

Если некоторые регистрации в ступице Notification имеют маркер недопустимый устройства (это обычно происходит, когда приложение переходит из тестовых APNS производства или если какая-то подделка токены использовались во время тестирования в эмуляторе), тогда APNS завершает соединение во время отправки и всех уведомлений, отправляемых после этого, с использованием того же соединения просто игнорируются. В настоящий момент Notification Hub неправильно обрабатывает эту ситуацию.

Способ исправить - очистить «плохие» регистрации. Если вы занимаетесь разработкой/тестированием, и не важно потерять данные - просто удалите все регистрации. Если у вас много существующих пользователей, напишите мне по электронной почте, и мы попытаемся найти решение для вашего конкретного случая.

+0

Спасибо, я попробую как можно скорее. У меня действительно были плохие регистрации, но почему-то я не придумал их чистить. :) –

+0

Работал как шарм, спасибо. –

+0

@efimovandr С помощью этого узла уведомлений это лучше? –

0

У меня была такая же проблема, и я попытался установить истинное свойство EnableTestSend, но не повезло. Затем я просто удалил теги при отправке уведомлений. Он работал как шарм.

 
NotificationOutcome outcome = null; 
    var alert = "{\"aps\":{\"alert\":\"" + "From " + user + ": " + message + "\",\"sound\":\"default\"}}"; 
outcome = await Notifications.Instance.Hub.SendAppleNativeNotificationAsync(alert); 
Смежные вопросы