Search code examples
javaandroidapplozic

Applozic sdk, unable to create new group programmatically


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...


Solution

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