2013-03-11 81 views
0

我有一个工作灯通知适配器 - 和有效载荷看起来像这样:允许notificationData中最大的Worklight有效负载是什么?

WL.Server.notifyAllDevices(userSubscription, { 
     badge: 1, 
     sound: "sound.mp3", 
     activateButtonLabel: "ClickMe", 
     alert: notificationText, 
     payload: { 
      valueOne : inp1, 
      valueTwo : inp2, 
      valueThree : inp3 
     } 
    }); 

调用此2倍的一个例子是下面 - 从messages.log消息:

[

3/11/13 23:37:52:595 GMT] 00000981 com.notnoop.apns.internal.ApnsConnectionImpl     W Failed to send message [email protected] trying again 
java.net.SocketException: Connection closed by remote host 
    at com.ibm.jsse2.qc.k(qc.java:71) 
    at com.ibm.jsse2.h.write(h.java:29) 
    at java.io.OutputStream.write(OutputStream.java:86) 
    at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:161) 
    at com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:46) 
    at com.notnoop.apns.internal.AbstractApnsService.push(AbstractApnsService.java:52) 
    at com.notnoop.apns.internal.ApnsServiceImpl.push(ApnsServiceImpl.java:36) 
    at com.worklight.integration.notification.apns.ApplicationConnection.sendNotification(ApplicationConnection.java:84) 
    at com.worklight.integration.notification.apns.APNSMediator.sendNotification(APNSMediator.java:85) 
    at com.worklight.integration.notification.Mediator$4.run(Mediator.java:174) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:482) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:345) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:177) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) 
    at java.lang.Thread.run(Thread.java:780) 

[3/11/13 23:41:53:849 GMT] 00000bff com.notnoop.apns.internal.ApnsConnectionImpl     W Exception while waiting for error code 
java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:200) 
    at java.net.SocketInputStream.read(SocketInputStream.java:132) 
    at com.ibm.jsse2.a.a(a.java:100) 
    at com.ibm.jsse2.a.a(a.java:125) 
    at com.ibm.jsse2.qc.a(qc.java:207) 
    at com.ibm.jsse2.qc.a(qc.java:488) 
    at com.ibm.jsse2.e.read(e.java:32) 
    at java.io.InputStream.read(InputStream.java:113) 
    at com.notnoop.apns.internal.ApnsConnectionImpl$1MonitoringThread.run(ApnsConnectionImpl.java:102) 

但是,如果我减少我的有效载荷只有2个值 - 它的作品。是2某种限制?

干杯

回答

1

对有效载荷值大小没有限制。 SocketException是否发生在你始终与更多的2值?

+0

是的!它对你更有用吗? – RenegadeAndy 2013-03-12 11:38:58

+0

从苹果页面:通知有效负载允许的最大大小为256字节。见[this](http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html) – 2013-03-12 16:03:18

+0

啊哈!因此,如何最好地衡量当前的总有效载荷大小 - 因为苹果有效载荷包括徽章,警报等等+ WL有效载荷本身 - 使得计算工作灯中的完整有效载荷大小相当困难。 – RenegadeAndy 2013-03-12 17:58:36

相关问题