React Native DailyIframe properties
When using react-native-daily-js
, you can provide specific properties to the DailyIframe class, in addition to using a set of relevant DailyIframe properties.
Configure the DailyIframe
You can pass a properties
object that configures the DailyIframe
to any of the factory methods. (You can also set these properties when you call the load()
or join()
methods).
DailyIframe properties
Optional as a DailyIframe property if a url is passed to the join()
method. Otherwise, required.
Optional meeting token
(Used with the join()
method).
Optional: the default language of Daily Prebuilt
Currently suppported languages are:
-
"de"
: German -
"en"
: English -
"es"
: Spanish -
"fi"
: Finnish -
"fr"
: French -
"it"
: Italian -
"jp"
: Japanese -
"ka"
: Georgian -
"nl"
: Dutch -
"no"
: Norwegian -
"pt"
: Portuguese -
"pl"
: Polish -
"ru"
: Russian -
"sv"
: Swedish -
"tr"
: Turkish -
"user"
: Uses the browser's current language setting (defaults to English if the language is not one of the above supported language)
⚠️ This configuration property only applies when building on top of the Daily call object. Must be passed as property of a dailyConfig
object.
Optional: Setting to true will disable hardware video light when participant camera is disabled.
Default: false
Optional: Sets the participant's userName
Optional: Receive all audio, video, and screen tracks from all call participants
Default: true
⚠️This configuration property is not supported when using Daily Prebuilt.
It only applies to the previous prebuilt video chat UI or when building with the Daily call object. It also only works over an sfu network connection type.
Setting to false means no tracks will be received until they are explicitly subscribed to. Read more in our beta docs or on our blog.
Optional: set the audio track, device, or initial state for the call.
Default: true
⚠️This configuration property is not supported when using Daily Prebuilt.
Pass false only if the participant's audio should remain muted the entire call.
Pass a device ID string (like you get back from enumerateDevices()
to specify what audio input device to use.
Or pass a MediaStreamTrack object to use that audio/video track directly. If you pass a MediaStreamTrack, you're responsible for managing the lifecycle of that track. If you pass a Device ID string, the Daily API will manage the media track for that device.
Optional: set the video track, device, or initial state for the call.
Default: true
⚠️This configuration property is not supported when using Daily Prebuilt.
Pass false only if the participant's video should remain muted the entire call.
Pass a device ID string (like you get back from enumerateDevices()
) to specify what video input device to use.
Or pass a MediaStreamTrack object to use that audio/video track directly. If you pass a MediaStreamTrack, you're responsible for managing the lifecycle of that track. If you pass a Device ID string, the Daily API will manage the media track for that device.
Optional: Takes a media receive settings object (see updateReceiveSettings()
for details). Specifies the receive settings to use right away upon joining the call.
Optional: Requests that a participant sends video spatial layers with specific simulcast encodings (maxBitrate
, maxFramerate
, and scaleResolutionDownBy
) to the server. Must be passed as a property of a dailyConfig
object. See a full explanation in the guide to scaling large calls.
Optional (Advanced): Configures the sender's audio tracks (microphone or screenAudio) to be either music
or speech
. When set to music
, a 256kbps stereo audio track will be sent to other participants. When set to speech
, browser defaults will be applied.
Default: null
.
Must be passed as a property of a dailyConfig
object.
This feature is available both to custom apps and Daily Prebuilt.
Optional (Advanced): Allows for audio media constraints to be defined. Must be passed as a property of a dailyConfig
object. The value passed can be a MediaTrackConstraints
object or true
to get react-native-webrtc
's default behavior, which may be different from Daily's defaults.
Constraints will be used when Daily invokes getUserMedia()
.
If micAudioMode
is set to music
, this property will be overwritten in favor of the music
settings.
Optional (Advanced): Allows for video media constraints to be defined. Must be passed as a property of a dailyConfig
object. The value passed can be a MediaTrackConstraints
object or true
to get react-native-webrtc
's default behavior, which may be different from Daily's defaults.
Constraints will be used when Daily invokes getUserMedia()
.
React Native specific properties (reactNativeConfig)
androidInCallNotification
Optional: title to display in the Android "ongoing call" notification
If you need a localized title, set this property to your localized string
Default: "In a call"
Optional: subtitle to display in the Android "ongoing call" notification
If you need a localized subtitle, set this property to your localized string
Default: "You're in a call. Tap to open it."
Optional: name of Android drawable resource to display in Android "ongoing call" notification
Default: "ic_daily_videocam_24dp", a video camera icon
Optional: whether to disable the Android "ongoing call" notification entirely
Default: false
CAUTION: only set this property if you plan to provide your own Android foreground service, which is important to keeping the call alive and connected while your app is in the background.
Changing this property is not recommended for most apps.
disableAutoDeviceManagement
Optional: whether to disable automatic audio device management, which encompasses audio device selection and configuration (controlled by nativeInCallAudioMode()
) as well as auto-muting the mic based on loss of audio focus.
Default: false
CAUTION: only set this property if you plan to manage native audio routing yourself.
Changing this property is not recommended for most apps.
Optional: whether to disable automatic video device management, which auto-mutes the camera when the app is backgrounded.
Default: false
CAUTION: Auto-muting is especially important on iOS since your app can't capture video while in the background anyway, so it's better to let other participants know.
Changing this property is not recommended for most apps.