AgoraRTC
Introduction
Agora.io is on a mission to change the way the world communicates. Agora is known for developing the industry-leading real-time communication framework that serves over 10 billion minutes a month of real-time video, audio, and live interactive broadcasting.
Prerequisites
You must have an account with Agora.IO to interact with the API. Create your development account at: https://docs.agora.io/en
Note: There are certain factors that affect plugin's workload possibilities such as Bubble application plan, user’s connection bandwidth, type of connection and Agora limitations related to device and browser / OS version. Please follow Agora's and its plugin's documentation carefully to properly configure the plugin.
Getting Agora API Keys
Sign up as developer: https://docs.agora.io/en

2. Open the Console (https://console.agora.io) , go to Project Management tab and create new project

3. In the pop-up window enter your project name and select APP ID + APP Certificate

Note: Create an APP ID + APP Certificate application in the project management dashboard for Streaming Component.
4. Get the App ID and APP Certificate for your project

5. Place App ID and App Certificate in the Bubble > plugins settings tab:

You're all set to use plugin actions, events and states.
Plugin installation
Streaming
Place Element to the page and set mode to 'Stream' and role to 'Host'

2. Place to another page Element and set mode to 'Stream' and role to 'Audience'

For streaming you need to generate token before start.

And add this token in field

Real-Time Calls
Place element to the page, set mode to Real-time Call and set unique id for remote user group

Add an group to the page and set it id

AgoraRTC

Since AgoraRTC version 4 and below uses those dependencies that browsers now no longer support, version 4.5+ of the library was released. The new item works on the latest up-to-date version.
The new version of the library allows using only one element for both streaming and real time calls.
Fields
Title
Description
Type
Remote Users Group ID
Group where will be displayed video tracks of remote users.
text
Codec
The codec that the Web browser uses for encoding.
enum
Automatic change
Change automatic supported by the Web browser codec.
yes\no
Mode
Element use mode.
enum
Role
If mode is "Stream" this field change role of user.
enum
Log level
Sets the Agora log mode.
enum
Safari 12.1 or earlier does not support the VP8 codec.
States
Title
Description
Type
Connected to room
Indicate if current user is connected to the room.
yes/no
Video is enabled
Indicate if current user video is enabled
yes/no
Microphone is enabled
Indicate if current user microphone is enabled
yes/no
List of cameras
Return list of all available by browser cameras
List of text
List of microphones
Return list of all available by browser microphones
List of text
Number of users
Return number of users in channel
Number
User Leave Reason
Reason why user leave channel
Text
Joined User uid
UID of joined user
Text
Leaved User uid
UID of leaved user
Text
User UID
Current User UID
Text
Current Used Microphone
Return label of current used microphone
Text
Current Used Camera
Return label of current used camera
Text
In Streaming Mode Number of users
return only number of hosts.
Events
Title
Description
Joined
Is triggered then current user is joined to the channel
Agora is not compatible
Is triggered then Web browser not support AgoraRTC
User joined
Is triggered then an user is joined to the channel
User left
Is triggered then an user leave the channel
User joined
and User left
triggers only in real-time calls. In Streaming this events is triggered only by host.
Actions
Join

Try to connect user to RTC or Stream
Title
Description
Type
Room Name
Name of room there to connect
Text
Enable video
Connect with video
yes/no
Enable audio
Connect with audio
yes/no
Token for streaming
Token generated by API Call for streaming
Text
Screen Sharing
Use screen sharing instead of camera
yes/no
Screen With Audio
Allow to share audio with screen sharing (only if supported by browser)
yes/no
Leave
Leave from current connected room.
Mute\Unmute
Mute or unmute himself.
Disable\enable Video
Disable or enable video from himself.
Set Camera Settings

Change camera and camera mode.
Title
Description
Type
Camera Label
Camera label. Can be find in state returned by element List of cameras
text
Optimization Mode
Transmission optimization mode. Whether to prioritize video quality or smoothness. Supported only in Chrome.
enum
Set Microphone Settings

Change microphone and microphone settings.
Title
Description
Type
Microphone Label
Label of microphone to set. Get it from state returned by plugin element List of microphones
.
Text
Acoustic echo cancellation
Whether to enable acoustic echo cancellation.
Yes/No
Audio gain control
Whether to enable audio gain control.
Yes/No
Automatic noise suppression
Whether to enable automatic noise suppression.
Yes/No
Get Number of users
Publish number of users in state Number of users
Mute All
Mute all another users
Unmute All
Unmute all another users
Last updated
Was this helpful?