[JMessage phonegap API--Android版本]sendTextMessage後造成id異常, 無法再執行getHistoryMessages

StevenYanBI30
2018-01-03 08:29 831 0

Android JMessage phonegap API v3.0.23版本
發現一個異常狀況

從下面網址的文檔上
https://github.com/jpush/jmessage-phonegap-plugin/wiki/APIs#gethistorymessages
提到getHistoryMessages這支API的parameter用法:
从最新的消息开始获取历史消息。当 from = 0 && limit = -1 时,返回所有历史消息。

但實際上
目前透過REST API建立起來的聊天室
再透過Jmessage phonegap API去call sendtextmessage 送訊息
接著Android透過phonegap gethistorymessages API
下from = 0 && limit = -1
會得到undefine

探究原因, 發現可能是id這個欄位會有跳號的情況發生
當透過sendtextmessage 送訊息時
Jmessage server端會記錄一個字段, id
只要一個聊天室送過第二筆聊天內容
這時候送的第二筆聊天內容, id會跳過3跟4, 從jemessage端獲得的id=5
但此時getHistoryMessages下from = 0 && limit = -1
就會得到undefine (因為id=3,4消失了)

重現的步驟為:
1. 透過REST API, post一個request, 创建群组  (POST /v1/groups/)
2. 此時下phonegap api的getHistoryMessages, from=0, limit=-1, 可以正常拿到
     id=1的數據, 為系統訊息
3. 兩三分鐘後, 透過Jmessage phonegap API去call sendTextMessage,
    此時手機端馬上接著call phonegap API getHistoryMessages, from:0 to:-1 , 可以正常取得 id:1 仍舊為系統資料, id:2 就是剛剛手機sendTextMessage發的訊息
    但過5秒後, 再下同樣的getHistoryMessages, from:0 to:-1, 就會拿到undefined
4. 接著嘗試再Call sendtextmessage 由手機端送出第二則訊息, 發現其id=5, 中間已經skipid=3, id=4
    當然這時候, getHistoryMessages, from:0 to:-1 , 也會拿到undefined資訊

因此, 看起來似乎是第一次的Jmessage phonegap API sendTextMessage 之後
再下getHistoryMessages, from:0 to:-1 就無法正常運作, 跟規格文檔提的不相符合

想麻煩官方高手們協助查看問題

1个回答

热门排序
  • hev1n | Still wate...
    2018-01-05 05:36

    更新下插件,再试一下呢。