0

createChannel method returns null when implementing group chat using applozic sdk, android.

      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);
        }
    });

here, channel object is always null although the ChannelInfo object is created.Someone please do help...

Ramees Thattarath
  • 1,093
  • 11
  • 19

3 Answers3

1

We added an async task you can use this async task for creating a group/channel pass the details like group members, group name and some details are optional.

UPDATE:

 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();
Sunil Kumar
  • 468
  • 5
  • 12
0

Creating Group with applozic

Create a group with a specific group type

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

Public group with type : Channel.GroupType.PUBLIC.getValue().intValue()

Open group with type : Channel.GroupType.OPEN.getValue().intValue()

Note: Group meta data is optional

Setting group meta data for messages like created group, left group, removed from group, group deleted, group icon changed and group name changed.

Note: If the channel meta data is set as empty String, no notification is sent to other users in the group/channel.

 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);

Following place holders will be replaced

ChannelMetadata.ADMIN_NAME : admin name of the group

ChannelMetadata.USER_NAME : user name of the user

ChannelMetadata.GROUP_NAME : group name

Please check the docs for this https://www.applozic.com/docs/android-chat-sdk.html

Community
  • 1
  • 1
Arsal Imam
  • 2,882
  • 2
  • 24
  • 35
0

In 5.34 version ChannelService.getInstance(WelcomeActivity.this).createChannel(channelInfo) assign variable of AlResponse.

and AlResponse is null after ChannelService.getInstance(WelcomeActivity.this).createChannel(channelInfo)

slfan
  • 8,950
  • 115
  • 65
  • 78
Ya Si
  • 819
  • 7
  • 12
  • ChannelService.getInstance(WelcomeActivity.this).createChannel(channelInfo) does not work properly. I used AlChannelCreateAsyncTask and now Ok! – Ya Si Mar 29 '19 at 07:14