createChannel static method

Future<GroupChannel> createChannel(
  1. GroupChannelParams params, {
  2. OnUploadProgressCallback? progress,
})

#################### SECURITY TIPS #################### Before launching, you should review "Allow creating group channels from SDK" under ⚙️ Sendbird Dashboard -> Settings -> Security. It's turned on at first to simplify running samples and implementing your first code. Most apps will want to disable "Allow creating group channels from SDK" as that could cause unwanted operations. #################### SECURITY TIPS #################### Creates a channel with given params.

After this method completes successfully, channel event such as ChannelEventHandler.onUserJoined, ChannelEventHandler.onUserReceivedInvitation and/or ChannelEventHandler.onChannelOperatorsUpdated can be invoked based on the given params.

Implementation

/// Creates a channel with given [params].
///
/// After this method completes successfully, channel event such as
/// [ChannelEventHandler.onUserJoined],
/// [ChannelEventHandler.onUserReceivedInvitation] and/or
/// [ChannelEventHandler.onChannelOperatorsUpdated] can be invoked based
/// on the given [params].
static Future<GroupChannel> createChannel(
  GroupChannelParams params, {
  OnUploadProgressCallback? progress,
}) async {
  final sdk = SendbirdSdk().getInternal();
  final currentUserId = sdk.state.userId ?? '';
  if (params.userIds?.isEmpty ?? true) {
    params.userIds = [currentUserId];
  } else if (params.userIds?.contains(currentUserId) == false) {
    params.userIds?.add(currentUserId);
  }
  return sdk.api.send<GroupChannel>(
      GroupChannelCreateRequest(params, onProgress: progress));
}