0

使用applozic sdk,android实现群聊时createChannel方法返回null。

      List<String> channelMembersList =  new ArrayList<String>();
    channelMembersList.add(p.getMobile());
    channelMembersList.add("9567600846");
    channelMembersList.add("8089117582");

    final ChannelInfo channelInfo  = new ChannelInfo("GroupName",channelMembersList);
    channelInfo.setType(Channel.GroupType.PRIVATE.getValue().intValue());
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
             channel = ChannelService.getInstance(WelcomeActivity.this).createChannel(channelInfo);
        }
    });

在这里,尽管 ChannelInfo 对象已创建,但通道对象始终为空。请帮助...

4

3 回答 3

1

我们添加了一个异步任务,您可以使用此异步任务来创建组/通道传递详细信息,如组成员、组名称和一些详细信息是可选的。

更新:

 AlChannelCreateAsyncTask.TaskListenerInterface channelCreateTaskListener = new AlChannelCreateAsyncTask.TaskListenerInterface() {
        @Override
        public void onSuccess(Channel channel, Context context) {
            Log.i("Group","Group response :"+channel);

        }

        @Override
        public void onFailure(ChannelFeedApiResponse channelFeedApiResponse, Context context) {

        }

    };

    List<String> groupMembersUserIdList = new ArrayList<>();
    groupMembersUserIdList.add("user1");
    groupMembersUserIdList.add("user2");
    groupMembersUserIdList.add("user3");//Note:while creating group exclude logged in userId from list
    ChannelInfo channelInfo = new ChannelInfo("Group name",groupMembersUserIdList);
    channelInfo.setType(Channel.GroupType.PUBLIC.getValue().intValue()); //group type
    channelInfo.setImageUrl(""); //pass group image link URL
    //channelInfo.setChannelMetadata(channelMetadata); //Optional option for setting group meta data
    //channelInfo.setClientGroupId(clientGroupId); //Optional if you have your own groupId then you can pass here

    AlChannelCreateAsyncTask channelCreateAsyncTask = new AlChannelCreateAsyncTask(context,channelInfo,channelCreateTaskListener);
    channelCreateAsyncTask.execute();
于 2016-11-23T15:08:02.460 回答
0

在 5.34 版本 ChannelService.getInstance(WelcomeActivity.this).createChannel(channelInfo)中分配AlResponse.

并且AlResponse之后为空ChannelService.getInstance(WelcomeActivity.this).createChannel(channelInfo)

于 2019-03-29T06:14:53.060 回答
0

用applozic创建组

创建具有特定组类型的组

Channel.GroupType.PRIVATE.getValue().intValue()

公共组类型:Channel.GroupType.PUBLIC.getValue().intValue()

打开组类型:Channel.GroupType.OPEN.getValue().intValue()

注意:组元数据是可选的

为创建群组、离开群组、从群组中移除、群组删除、群组图标更改和群组名称更改等消息设置群组元数据。

注意:如果频道元数据设置为空字符串,则不会向组/频道中的其他用户发送通知。

 ChannelMetadata channelMetadata = new ChannelMetadata();
 channelMetadata.setCreateGroupMessage(ChannelMetadata.ADMIN_NAME + " created " + ChannelMetadata.GROUP_NAME);
 channelMetadata.setAddMemberMessage(ChannelMetadata.ADMIN_NAME + " added " + ChannelMetadata.USER_NAME);
 channelMetadata.setRemoveMemberMessage(ChannelMetadata.ADMIN_NAME + " removed " + ChannelMetadata.USER_NAME);
 channelMetadata.setGroupNameChangeMessage(ChannelMetadata.USER_NAME + " changed group name " + ChannelMetadata.GROUP_NAME);
 channelMetadata.setJoinMemberMessage(ChannelMetadata.USER_NAME + " joined");
 channelMetadata.setGroupLeftMessage(ChannelMetadata.USER_NAME + " left group " + ChannelMetadata.GROUP_NAME);
 channelMetadata.setGroupIconChangeMessage(ChannelMetadata.USER_NAME + " changed icon");
 channelMetadata.setDeletedGroupMessage(ChannelMetadata.ADMIN_NAME + " deleted group " + ChannelMetadata.GROUP_NAME);

以下占位符将被替换

ChannelMetadata.ADMIN_NAME : admin name of the group

ChannelMetadata.USER_NAME : user name of the user

ChannelMetadata.GROUP_NAME : group name

请查看此https://www.applozic.com/docs/android-chat-sdk.html的文档

于 2016-11-18T15:03:47.473 回答