2012-07-20 126 views
0

我使用android C2DM发送通知。我正在使用C2dmSharp。 我正尝试将200个不同的通知发送到我的手机。服务器端我得到一个确定的响应,其ID = [发送消息的ID](如文档here),所以我想我的服务器做得很好。但在我的手机上,我只收到几个通知...不是200!好吧,我知道这不是一项有保证的服务,但它就像90%的未发送的通知。我做错了什么?实际上是否可以将200条消息连续发送到一台设备?Android C2DM消息丢失了?

如果你知道一个更好的地方要问这个,请赐教:)

我使用this发送通知

下面的代码:

if (notificationService != null) 
      { 
       notificationService.Start(); 
       foreach (var itemToProcess in itemsToProcess) 
       { 
        itemToProcess.NotificationDateTime = DateTime.Now; 
        mobile.SubmitChanges(); 

        string deviceToken = GetCleanDeviceToken(itemToProcess.MobileDevice.PushNotificationIdentifier); 
        var extras = new NameValueCollection(); 
        extras.Add("salemessage", itemToProcess.MobileDeviceNotificationText.Text); 
        extras.Add("ismultisale", "false"); 
        if (itemToProcess.SaleId.HasValue) extras.Add("saleid", itemToProcess.SaleId.Value.ToString()); 
        try 
        { 
         Thread.Sleep(200); 
         notificationService.QueueMessage(deviceToken, extras, "key"); 
        } 
        catch (Exception exception) 
        { 
         //logging 
        } 
       } 

       notificationService.Stop(); 
      } 
+0

C2DM已弃用,因此有替代Google Cloud Messaging(GCM)。 – 2012-07-20 13:00:34

+0

GCM是否适用于4.1之前的Android版本? – Alexis 2012-07-20 13:05:20

+0

我用2.3.4上的那个 – 2012-07-20 13:15:19

回答