在发布聊天组quickblox中向其他用户发送推送通知

时间:2017-08-08 16:04:30

标签: android push quickblox

我在我的项目中使用了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组中的其他成员发送推送通知?

2 个答案:

答案 0 :(得分:1)

将推送发送到PUBLIC_GROUP是没有意义的,因为所有用户都可以在公共群聊中聊天。如果需要通知对话框的占用者,请使用GROUP对话框。注意:在PUBLIC_GROUP中,当用户离线时,您也不会收到有关消息的推送,因为PUBLIC_GROUP对话框不包含occupants_ids。

答案 1 :(得分:0)

PUBLIC_GROUPS是开放组。 GROUP和PUBLIC_GROUP之间的区别在于它不会保留关联参与者的记录,例如 user_ids unread_count 。您必须将参与者数据存储在您自己的后端服务器中,或者本地存储。