1

我正在使用Azure通知中心,並且我想向.NET後端中的所有註冊設備發送推送通知消息。但我不確定這種方式會發送到所有設備,因爲我沒有辦法檢查收到推送消息的設備數量。 那麼,怎麼樣,我可以發送推送消息給所有設備,或者可以確保這種方式是正確的?使用.NET向Azure通知中心的所有註冊設備發送推送通知

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'類型都是長。所以你迴歸真實,雖然它可能是錯誤的(失敗)? –

回答

0

您需要使用的標籤,在Routing and Tag Expressions描述:

針對特定註冊的唯一方法是將它們與 標籤關聯,然後再指定標籤。如註冊 管理中所述,爲了接收推送通知,應用程序必須在註冊通知中心上註冊設備句柄 。在通知集線器上創建的註冊爲 後,應用程序後端可以向其發送推送 通知。該應用程序後端可以選擇 註冊在以下 方式與特定的通知目標:

  1. 廣播:通知中心所有註冊接收 通知。

  2. 標籤:包含指定標籤的所有註冊都會收到 通知。

  3. 標籤表達:其標籤集合與 指定表達式匹配的所有註冊都會收到通知。

注意,there're limitations on broadcast messages,你需要考慮到。請參閱Breaking News App Sample關於如何使用廣播通知的詳細信息。

相關問題