join method

Future<CallJoinData> join({
  1. required Uri url,
  2. ClientSettingsUpdate? clientSettings,
  3. String? token,
})

Joins a room, optionally with the settings from the given ClientSettingsUpdate.

The provided settings are applied on top of any pre-configured settings, as if CallClient.updateInputs and/or CallClient.updatePublishing were invoked on this CallClient with the provided settings. If no settings are provided, the currently configured ones apply.

If device permissions have not been requested, or new permissions are required due to updated input settings, the user will be prompted for permissions for the affected devices.

// Join with default settings
try callClient.join(url: URL(string: "https://example.daily.co/my-room")!)

// Join without microphone
callClient.join(
  url: Uri.parse("https://example.daily.co/my-room"),
  clientSettings: ClientSettingsUpdate.set(
    inputs: const InputSettingsUpdate.set(
      microphone: MicrophoneInputSettingsUpdate.set(isEnabled: BoolUpdate.set(false)),
  ))
);

// Join with custom camera settings
callClient.join(
  url: Uri.parse("https://example.daily.co/my-room"),
  clientSettings: ClientSettingsUpdate.set(
    inputs: const InputSettingsUpdate.set(
    camera: CameraInputSettingsUpdate.set(
      isEnabled: BoolUpdate.set(true),
      settings: VideoMediaTrackSettingsUpdate.set(
        width: IntUpdate.set(4098)
      )
    ),
  ))
);

Implementation

Future<CallJoinData> join({required Uri url, ClientSettingsUpdate? clientSettings, String? token}) =>
    _platformBridge.join(_native, url, clientSettings, token);