Menjelaskan mesin keadaan koneksi AOQ Client SDK dan panggilan API terkait.
Diagram status koneksi
Diagram berikut menunjukkan transisi status koneksi AOQ Client SDK:
Diagram status koneksi AOQ Client SDK
Deskripsi status
Status | Nilai enum | Deskripsi |
|---|---|---|
Connecting | 1 | Dicapai setelah memanggil |
Connected | 2 | Koneksi berhasil dibangun. Pesan audio, video, dan data dapat dikirim serta diterima secara normal. |
Failed | 3 | Terjadi error koneksi (kegagalan autentikasi, timeout, penolakan server, dan sebagainya). SDK secara otomatis berpindah ke Disconnected. |
Disconnected | 0 | Status awal, atau status akhir setelah pemutusan koneksi yang disengaja maupun tidak terduga. |
Aturan transisi status
- Aplikasi memanggil
connect→ masuk ke statusConnecting. - Koneksi berhasil → berpindah dari
ConnectingkeConnected. - Koneksi gagal → berpindah dari
ConnectingkeFailed, lalu SDK secara otomatis berpindah keDisconnected. - Koneksi gagal → berpindah dari
ConnectedkeFailed, lalu SDK secara otomatis berpindah keDisconnected. - Aplikasi memanggil
disconnect→ berpindah dariConnectedkeDisconnected.
Catatan: Failed adalah status sementara. Setelah SDK memicu callback onConnectionStatusChange(Failed), SDK secara otomatis berpindah ke Disconnected. Lapisan aplikasi tidak perlu memanggil disconnect secara manual.
API connect
Panggil connect untuk memulai koneksi ke AI Service. Berikan kredensial autentikasi yang dikembalikan oleh endpoint allocate AppServer.
Tanda tangan metode
Android:public abstract int connect(@NonNull AoqConnectConfig config);
iOS:
- (int)connect:(AoqConnectConfig * _Nonnull)config;
HarmonyOS:
connect(config: AoqConnectConfig): number;
Nilai kembalian: 0 menunjukkan panggilan berhasil (koneksi dibangun secara asinkron). < 0 menunjukkan kegagalan.
Perilaku
- Memanggil callback
onConnectionStatusChange(connecting)segera setelah pemanggilan. - Memanggil callback
onConnectionStatusChange(connected)jika koneksi berhasil. - Memanggil callback
onConnectionStatusChange(failed)jika koneksi gagal.
API disconnect
Panggil disconnect untuk menutup koneksi ke AI Service secara disengaja.
Tanda tangan metode
Android:public abstract int disconnect();
iOS:
- (int)disconnect;
HarmonyOS:
disconnect(): number;
Nilai kembalian: 0 menunjukkan keberhasilan. < 0 menunjukkan kegagalan.
Perilaku
- Memanggil callback
onConnectionStatusChange(Disconnected)setelah pemanggilan. - Engine tidak dilepas secara otomatis. Anda dapat memanggil
connectlagi untuk menyambung ulang. - Memanggil
disconnectsaat tidak terhubung aman dilakukan dan mengembalikan nilai 0.
Callback onConnectionStatusChange
SDK memicu callback ini setiap kali status koneksi berubah.
Android:public void onConnectionStatusChange(
@NonNull AoqClientEngine.AoqConnectionStatus status) {}
iOS:
- (void)onConnectionStatusChange:(AoqConnectionStatus)status;
HarmonyOS:
onConnectionStatusChange?: (status: AoqConnectionStatus) => void;
Contoh
func onConnectionStatusChange(_ status: AoqConnectionStatus) {
switch status {
case .connecting:
print("Connecting...")
case .connected:
print("Connected")
// Anda dapat mengirim session.update setelah koneksi berhasil dibangun
case .failed:
print("Connection failed")
// SDK akan secara otomatis berpindah ke disconnected; tidak perlu memanggil disconnect secara manual
case .disconnected:
print("Disconnected")
// Tentukan apakah akan menyambung ulang berdasarkan logika aplikasi Anda
}
}