我在我的项目中使用了quickblox SDK。 我对此有疑问。
Plz建议
我想向PUBLIC聊天组中的其他用户发送推送通知。 我可以通过创建活动进行私聊,并发送给这样的朋友
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());
}
});
}
但是使用PUBLIC聊天对话框,我无法获得列表用户ID,它总是返回空白。
如何向PUBLIC组中的其他成员发送推送通知?
答案 0 :(得分:1)
将推送发送到PUBLIC_GROUP是没有意义的,因为所有用户都可以在公共群聊中聊天。如果需要通知对话框的占用者,请使用GROUP对话框。注意:在PUBLIC_GROUP中,当用户离线时,您也不会收到有关消息的推送,因为PUBLIC_GROUP对话框不包含occupants_ids。
答案 1 :(得分:0)
PUBLIC_GROUPS是开放组。 GROUP和PUBLIC_GROUP之间的区别在于它不会保留关联参与者的记录,例如 user_ids 或 unread_count 。您必须将参与者数据存储在您自己的后端服务器中,或者本地存储。