2016-12-31 8 views
1

quickchlox android sdkをグループチャットアプリケーションに使用していますが、オフライン時にメッセージが送信された場合はプッシュ通知を受信できません。だから、私は未読のメッセージ数を問い合わせることにしましたが、サーバから0を取得しています。ユーザーがオンラインになっていないときに通知を受け取れるようにするためのグループチャットダイアログを表示するには、どうすればいいか分かりません。quickbloxで未読メッセージ数を受信して​​いません

これは私が未読メッセージを照会するために使用されるコードです:

Set<String> dialogIds = new HashSet<String>(); 
String groupChatId = groupChat.getDialogId(); 
System.out.println("GroupChat Id: "+groupChatId); 
dialogIds.add(groupChatId); 
QBChatDialog chatDialog = new QBChatDialog(groupChatId); 
QBMessageGetBuilder messageGetBuilder = new QBMessageGetBuilder(); 
messageGetBuilder.setLimit(500); 
messageGetBuilder.sortDesc("date_sent"); 
QBRestChatService.getTotalUnreadMessagesCount(dialogsIds).performAsync(new QBEntityCallback<Integer>() { 
@Override 
public void onSuccess(Integer total, Bundle params) { 
    Log.i(TAG, "total unread messages: " + total); 
    // if you have more then one dialog you can get each value with params.getInt(dialog_id) 
} 

@Override 
public void onError(QBResponseException e) { 
    e.printStackTrace(); 
} 
}); 

答えて

1

最初の部分は正しいです:

Set<String> dialogIds = new HashSet<String>(); 
String groupChatId = groupChat.getDialogId(); 
dialogsIds.add(groupChatId); 

しかし、その後、あなたがdialogIdsを使用していませんでした。

QBRestChatService.getTotalUnreadMessagesCount(dialogIds).performAsync(new QBEntityCallback<Integer>() { 
    @Override 
    public void onSuccess(Integer total, Bundle params) { 
     Log.i(TAG, "totat messages: " + total); 
     // if you have more then one dialog you can get each value with params.getInt(dialog_id) 
    } 

    @Override 
    public void onError(QBResponseException e) { } 
}); 
+0

私は 'QBRestChatService.getTotalUnreadMessagesCount'を使用し、それは私がメッセージのカップルを送っても、 '0'を返して、間違ったコードを掲載= Amは申し訳ありません:そしてまた、代わりにgetDialogMessages()のは、次のようgetTotalUnreadMessagesCount()を使用する必要があります別のユーザーのアカウントを使用してグループチャットに –

+0

あなたの質問を編集してください – GVillani82

+0

私はそれをしました。あなたが私が問題を解決するのを助けることができるかどうかをチェックしてください。 –

関連する問題