全部产品
Search
文档中心

ApsaraVideo Live:Uji kualitas jaringan sebelum panggilan

更新时间:Dec 04, 2025

Topik ini menjelaskan cara menguji kualitas jaringan sebelum melakukan panggilan.

Pengenalan fitur

ARTC SDK mendukung pengujian kualitas jaringan lokal sebelum bergabung ke channel guna mengidentifikasi potensi masalah jaringan dan menanganinya lebih awal. Fitur ini membantu mencegah gangguan seperti tersendat, frame drop, dan gangguan audio, sehingga memastikan stabilitas serta kelancaran panggilan voice dan video real-time.

Contoh kode

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

iOS: iOS/ARTCExample/AdvancedUsage/PreJoinChannelTest/PreJoinChannelTestVC.swift

Cara kerja

Mengambil platform iOS sebagai contoh, ARTC SDK menyediakan metode startLastmileDetect untuk mendeteksi kualitas jaringan lokal sebelum bergabung ke channel, serta mengembalikan skor dan statistik kualitas jaringan. Prosedurnya adalah sebagai berikut:

  1. Sebelum bergabung ke channel, panggil startLastmileDetect untuk memulai pengujian kualitas jaringan. Konfigurasikan parameter pengujian dalam AliRtcNetworkQualityProbeConfig, termasuk target pengujian dan bitrate maksimum yang diharapkan.

  2. SDK memicu callback berikut:

    • onLastmileDetectResultWithQuality: Dipicu 2 detik setelah startLastmileDetect dipanggil. Callback ini mengembalikan skor jaringan upstream dan downstream, yang mencerminkan penilaian subjektif.

    • onLastmileDetectResultWithBandWidth: Dipicu 30 detik setelah startLastmileDetect dipanggil. Callback ini mengembalikan data real-time mengenai kondisi jaringan, termasuk tingkat kehilangan paket, fluktuasi jaringan, dan bandwidth yang tersedia, yang mencerminkan penilaian objektif.

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

Contoh kode

Memulai pengujian kualitas jaringan

Android

Panggil operasi startNetworkQualityProbeTest:

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

iOS

Panggil operasi startLastmileDetect:

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

Terima pesan callback

Android

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

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

public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}

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

iOS

onLastmileDetectResultWithQuality: dipicu sekitar 2 detik setelah pengujian dimulai, memberikan wawasan awal mengenai 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;

Hentikan deteksi kualitas jaringan

Android

Panggil operasi stopNetworkQualityProbeTest:

public abstract int stopNetworkQualityProbeTest();

iOS

Panggil operasi stopLastmileDetect:

- (int)stopLastmileDetect;