1

Я работаю с Azure Notification Hub, и я хочу отправить push-уведомление всем зарегистрированным устройствам в .NET backend. Но я не уверен, что этот способ будет отправлен на все устройства, потому что у меня нет возможности проверить количество принятых сообщений push. Итак, как я могу отправить push-сообщение всем устройствам или убедиться, что этот путь верен?Отправлять push-уведомление всем зарегистрированным устройствам с концентратором уведомлений Azure в .NET.

public static async Task<bool> SendBroadcast(string msg) 
    { 
     try 
     { 
      var notificationHubClient = NotificationHubClient.CreateClientFromConnectionString(ConfigurationManager.AppSettings["ServiceBusPushNotificationConnectionString"], ConfigurationManager.AppSettings["ServiceBusPushNotificationName"]); 
      Dictionary<string, string> param = new Dictionary<string, string>(); 
      param.Add("message", msg); 
      param.Add("alert", msg); 
      var template = new TemplateNotification(param); 
      var result = await notificationHubClient.SendNotificationAsync(template); 
      Console.WriteLine(JsonConvert.SerializeObject(result)); 
      return true; 
     } 
     catch (Exception exception) 
     { 
      Console.WriteLine(exception.Message); 
      return false; 
     } 
    } 
+0

Небольшое замечание, 'result' имеет тип' NotificationOutcome' который имеет опору 'Failure' и подпирать' Success' оба типа долго. Таким образом, вы возвращаете true, в то время как оно может быть ложным (fail)? –

ответ

0

Вы должны использовать тег, как описаны в Routing and Tag Expressions:

Единственный способ для решения конкретных регистраций является связать их с меткой, то целевым этим тегом. Как описано в Регистрации Управление, чтобы получать push-уведомления, приложение должно зарегистрировать дескриптор устройства в центре уведомлений. После регистрации , созданного в центре уведомлений, бэкэнд приложения может отправить на него push . Бэкэнд приложения может выбрать регистрации для ориентации конкретного уведомления в следующих способах:

  1. Broadcast: все регистрации в ступице уведомления получить уведомление .

  2. Тег: все регистрации, содержащие указанный тег, получают уведомление .

  3. выражение Tag: все регистрации которых набор тегов соответствуют указанному выражению получить уведомление.

Обратите внимание, there're limitations on broadcast messages, что вам нужно принять во внимание.

Посмотрите на Breaking News App Sample на подробную информацию о том, как использовать широковещательные уведомления.

0

Если вы не указали выражение тега, это значит, что оно транслируется. Все устройства получат уведомление. Вы можете отслеживать, сколько устройств получено с помощью Tele Teleform. См. Ниже ссылки для этого.

https://msdn.microsoft.com/en-us/library/azure/mt608135.aspx https://azure.microsoft.com/en-us/blog/push-notification-hub-telemetry-expiry-update/

Смежные вопросы