发送推送通知给发布聊天组中的其他用户quickblox
问题描述:
我在我的项目中使用了quickblox SDK。 我对此有疑问。发送推送通知给发布聊天组中的其他用户quickblox
PLZ建议
我想推送通知发送给其他用户在公共聊天组。 我可以通过创建一个事件与私人聊天做出来,送到朋友这样
public void createEvent(String message, List<Integer> userIds) {
StringifyArrayList<Integer> userIds_ = new StringifyArrayList<Integer>(userIds);
QBEvent event = new QBEvent();
event.setUserIds(userIds_);
event.setEnvironment(QBEnvironment.PRODUCTION);
event.setNotificationType(QBNotificationType.PUSH);
HashMap<String, Object> messageData = new HashMap<>();
messageData.put("message", message);
messageData.put("firID", KApp.getInstance().getCurrentUser().getId());
messageData.put("name", KApp.getInstance().getCurrentUser().getName());
event.setMessage(messageData);
QBPushNotifications.createEvent(event).performAsync(new QBEntityCallback<QBEvent>() {
@Override
public void onSuccess(QBEvent qbEvent, Bundle bundle) {
System.out.print("Create event success");
System.out.print(qbEvent.toString());
}
@Override
public void onError(QBResponseException e) {
System.out.print("Create event error : " + e.getLocalizedMessage());
}
});
}
但随着公共聊天对话框,我不能得到列表中的用户ID,它送花儿给人空车返回。
如何向PUBLIC组中的其他成员发送推送通知?
答
因为所有用户都可以在公共组聊天中聊天,所以发送推送到PUBLIC_GROUP是没有意义的。如果您需要通知对话者,请使用GROUP对话框。注意:在PUBLIC_GROUP中,当用户处于脱机状态时,由于PUBLIC_GROUP对话框不包含occupants_ids,您也不会收到有关消息的推送。
答
PUBLIC_GROUPS是开放组。 GROUP和PUBLIC_GROUP的区别在于,它不保留相关参与者的记录,如user_ids或unread_count。您必须将参与者数据存储在您自己的后端服务器中或本地。
感谢您的回复。在我的scenero中,作者创建和空发布聊天,然后其他用户可以稍后加入,所以用户列表不会从头开始清除,所以我不能用户GROUP对话框,任何其他解决方案? –
如果您想通知您的QuickBlox应用程序中关于创建新的PUBLIC_GROUP的所有用户,可以使用广播推送通知。因为它像往常一样创建QBEvent,但不设置userIds。 –