2013-05-30 41 views
1

我在通過Worklight發送推送通知時遇到以下問題。在設備上接收到時周圍65個字符 工作燈:推送通知消息長度和格式 - 限制

  • 有效載荷消息已移除所有間隔
  • 像我發送「這是測試消息」,但對 -

    1. 推送消息長度是非常有限它收到「Thisisatestmessage

      現在,什麼是特殊的工作燈推送郵件的大小有限,我知道蘋果說2 56字節。但是,Worklight允許哪些內容?

      以及爲什麼有效載荷正在移除空格。即使我從一個後端Java服務發送消息

      我推適配器:

      function generalNotification(userId, msgTitle, MsgContents, org, logo){ 
          var userSubscription = WL.Server.getUserNotificationSubscription('aahadPushAdapter.GeneralPushSource', userId); 
          if (userSubscription==null){ 
           return { result: "No subscription found for user :: " + userId }; 
          } 
          WL.Logger.debug("Sending Push >> userId:: " + userId + ", Message:: " + MsgContents); 
          WL.Server.notifyAllDevices(userSubscription, { 
           badge: 1, 
           sound: "sound.mp3", 
           activateButtonLabel: "Read", 
           alert: msgTitle, 
           payload: { 
            msg : MsgContents,o:org,l:logo 
           } 
          }); 
          return { result: "Notification sent to user :: " + userId }; 
      } 
      

      後端Java代碼

      DataAccessService service = WorklightBundles.getInstance().getDataAccessService(); 
      String parm = "['" + userID + "','"+ msgTitle + "','"+ msgContents+ "','"+org + "','"+logo +"']"; 
      ProcedureQName pushMethod = new ProcedureQName("aahadPushAdapter","transNotification"); 
      InvocationResult results = service.invokeProcedure(pushMethod, parm); 
      jsonObj = results.toJSON(); 
      msg = "Push Sent successfully to " + userID + " " + (String)jsonObj.get(""); 
      

      請檢查這個代碼建議,如果有什麼東西在這裏丟失?

      感謝

    回答

    0
    1. 是否空格剝離也發生在Push Notifications sample application provided in the IBM Worklight Getting Started training material?因爲對我而言,事實並非如此。

      如果它只發生在您的應用程序中,則需要了解您如何處理消息。

    2. 正如我在別處發表的評論中提到的那樣,Worklight沒有提出任何限制 - 每個PNS(APNS,MSPN,GCM)都有其自身的限制。

    的256個字節不僅有效載荷的消息部分,但有效載荷的全部,所以它可能是對剩下的消息部分只有65個字符,但同樣,這不在Worklight的控制之下。

    我自己還沒有完成這項工作,但是您可以開始剝離有效負載並查看它何時失敗,這將是Worklight視角中的最小有效負載。

    該信息在原理上並不長。

    另一種可能增加消息傳遞的方式(在有效負載的其餘大小中)是使用別名,以便傳遞更少的信息,因此消息的剩餘空間更大。

    +0

    非常感謝,如果你指出我上面給出的代碼中缺少任何東西。我正在嘗試別名,以獲得更多的消息空間。但是對於刪除的空格,我不知道爲什麼會發生,我採取了相同的示例代碼並將其擴展。謝謝 – AAhad

    0

    在APNS有效負載中剝離空間似乎是一個缺陷。我在應用程序中看到了相同的行爲,並能夠在入門材料中重現它。作爲解決方法,我將「_」放在有效內容中作爲空間的佔位符,然後在worklight客戶端中將其刪除。

    +0

    你能詳細說明一下嗎?如果我使用培訓樣本併發送推送通知,則在客戶端應用程序中 - 在顯示通知文本的彈出窗口中,有空格。 –

    +0

    @David,你是否也面臨郵件大小問題?以及您正在測試的環境,再加上WL版本。謝謝 – AAhad

    +0

    我沒有遇到郵件大小問題,但沒有測試它。我正在Mac上使用Worklight 5.0.6。 –