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

Send push notification to other user in publish chat group quickblox

我在我的项目中使用 quickblox SDK。 我对此有疑问。

请指教

我想向 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,它总是 return 空。

如何向 PUBLIC 群组中的其他成员发送推送通知?

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

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