Network Probe
Supported from SDK version 5.2.5.
The startNetworkProbe
method allows users to perform network quality probing before joining an RTC room. It provides real-time feedback on round-trip latency, uplink/downlink packet loss rates, and network quality metrics through corresponding callbacks.
Complete network quality probing before joining a room. The SDK does not support network probing during ongoing RTC calls.
Enable RTC Network Probe
Call the startNetworkProbe
method of the RCRTCEngine
object to initiate network quality probing. Implement the onNetworkProbeUpLinkStats
, onNetworkProbeDownLinkStats
, and onNetworkProbeFinished
methods to receive related events.
engine.onNetworkProbeStarted = (int code, String? errMsg) {
if (code == 0) {
// Network probe started successfully
}
};
// Start network probing
engine.startNetworkProbe(this);
void onNetworkProbeUpLinkStats(RCRTCNetworkProbeStats stats) {
// Reports uplink network probe data
}
void onNetworkProbeDownLinkStats(RCRTCNetworkProbeStats stats) {
// Reports downlink network probe data
}
void onNetworkProbeFinished(int code, String? errMsg) {
// Network probe completed (code 0 indicates normal termination, non-zero indicates interruption)
}
Initiate RTC Network Probe
Before joining a room, call startNetworkProbe
to begin network quality probing. Upon successful initiation, registered callbacks will report probe results approximately every 2 seconds, including bandwidth, packet loss, jitter, and round-trip latency metrics for both uplink and downlink.
The total probing duration is approximately 30 seconds. After this period, probing automatically stops, triggering the onNetworkProbeFinished
callback with code 0 to notify the application.
Calling APIs like joinRoom
or unInit
before automatic termination (onNetworkProbeFinished
code == 0) will interrupt ongoing probing, resulting in a non-zero callback code.
Example code:
engine.onNetworkProbeStarted = (int code, String? errMsg) {
if (code == 0) {
// Network probe started successfully
}
};
// Start network probing
engine.startNetworkProbe(this);
Terminate RTC Network Probe
Probing automatically stops after ~30 seconds. To force termination earlier, call the stopNetworkProbe
method.
// Callback for stopping network probe
engine?.onNetworkProbeStopped = (int code, String? errMsg) {
if (code == 0) {
// Network probe stopped successfully
}
};
// Stop network probing
engine.stopNetworkProbe();