All Products
Search
Document Center

ApsaraVideo Live:Uji kualitas jaringan sebelum panggilan

Last Updated:Feb 14, 2026

Topik ini menjelaskan cara menguji kualitas jaringan sebelum melakukan panggilan.

Pengenalan fitur

ARTC SDK mendukung pengujian kualitas jaringan lokal sebelum bergabung ke channel. Fitur ini membantu mengidentifikasi potensi masalah jaringan lebih awal sehingga Anda dapat mengoptimalkan jaringan dan menghindari tersendat, frame drop, serta gangguan audio selama panggilan, memastikan komunikasi voice dan video real-time yang stabil dan lancar.

Kode contoh

Deteksi kualitas jaringan di Android: Android/ARTCExample/AdvancedUsage/src/main/java/com/aliyun/artc/api/advancedusage/PreJoinChannelTest/PreJoinChannelTestActivity.java.

Lakukan deteksi kualitas jaringan di iOS: iOS/ARTCExample/AdvancedUsage/PreJoinChannelTest/PreJoinChannelTestVC.swift.

Cara kerja

image

Mengambil platform iOS sebagai contoh, ARTC SDK menyediakan metode startLastmileDetect untuk mendeteksi kualitas jaringan lokal sebelum bergabung ke channel. Metode ini mengembalikan skor dan statistik kualitas jaringan. Ikuti langkah-langkah berikut:

  1. Sebelum bergabung ke channel, panggil startLastmileDetect untuk memulai pengujian. Di dalam AliRtcNetworkQualityProbeConfig, tetapkan target pengujian dan bitrate maksimum yang diharapkan.

  2. Setelah memanggil metode ini, SDK memicu callback berikut:

    • onLastmileDetectResultWithQuality: Dipicu 2 detik setelah startLastmileDetect. Mengembalikan skor kualitas jaringan upstream dan downstream, mencerminkan penilaian subjektif.

    • onLastmileDetectResultWithBandWidth: Dipicu 30 detik setelah startLastmileDetect. Mengembalikan statistik jaringan real-time, termasuk tingkat kehilangan paket, fluktuasi jaringan, dan bandwidth yang tersedia, mencerminkan penilaian objektif.

  3. Setelah memperoleh statistik kualitas jaringan, panggil stopLastmileDetect untuk menghentikan pengujian.

Contoh kode

Memulai pengujian kualitas jaringan

Android

Panggil operasi startNetworkQualityProbeTest:

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

iOS

startLastmileDetect - Memulai deteksi kualitas jaringan last-mile

- (int)startLastmileDetect:(AliRtcNetworkQualityProbeConfig *_Nonnull)config;

Windows

AliRtcNetworkProbeConfig config;
config.probeUplink = true;    // Probe upstream network
config.probeDownlink = true;  // Probe downstream network

rtcEngine.startLastmileDetect(config);

II. Terima callback deteksi kualitas jaringan

Android

onNetworkQualityProbeTest: dipicu sekitar 3 detik setelah pengujian dimulai, memberikan wawasan awal mengenai kualitas jaringan.

onNetworkQualityProbeTestResult — Callback yang mengembalikan hasil probe kualitas jaringan. Callback ini dipicu sekitar 30 detik setelah probe dimulai.

public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}

public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}

iOS

onLastmileDetectResultWithQuality - Callback untuk hasil deteksi kualitas jaringan

onLastmileDetectResultWithBandWidth: dipicu sekitar 30 detik setelah pengujian dimulai, memberikan detail kualitas jaringan.

- (void)onLastmileDetectResultWithQuality:(AliRtcNetworkQuality)networkQuality;

- (void)onLastmileDetectResultWithBandWidth:(int)code result:(AliRtcNetworkQualityProbeResult* _Nonnull)result;

Windows

// Handle network quality detection callback (replace onNetworkQualityChanged)
void OnLastmileDetectResultWithQuality(AliEngineNetworkQuality networkQuality) override {
    std::string message = getNetworkQualityString(networkQuality);
    networkTestResultText += "Network detection quality: " + message + "\n";
    std::cout << "=== Network quality detection callback ===" << std::endl;
    std::cout << networkTestResultText << std::endl;
}


// Handle lastmile network detection result callback
void onLastmileDetectResultWithBandWidth(int code,
                                       const AliRtcNetworkProbeResult& result) override {
    std::string message = buildNetworkTestResultMessage(code, result);
    networkTestResultText += message + "\n";
    std::cout << "=== Lastmile detection result callback ===" << std::endl;
    std::cout << networkTestResultText << std::endl;
}

Hentikan deteksi kualitas jaringan

Android

stopNetworkQualityProbeTest - Hentikan pengujian probe kualitas jaringan

public abstract int stopNetworkQualityProbeTest();

iOS

Panggil operasi stopLastmileDetect:

- (int)stopLastmileDetect;

Windows

rtcEngine.stopLastmileDetect();