Cette rubrique décrit la machine à états de connexion du SDK client AOQ et les appels d'API associés.
Diagramme des états de connexion
Le diagramme suivant illustre les transitions d'état de connexion du SDK client AOQ :
Diagramme des états de connexion du SDK client AOQ
Description des états
État | Valeur d'énumération | Description |
|---|---|---|
Connecting | 1 | État atteint après l'appel de |
Connected | 2 | Connexion établie. L'envoi et la réception des messages audio, vidéo et de données fonctionnent normalement. |
Failed | 3 | Erreur de connexion (échec d'authentification, expiration du délai d'attente, rejet par le serveur, etc.). Le SDK passe automatiquement à l'état Disconnected. |
Disconnected | 0 | État initial ou état final après une déconnexion volontaire ou inattendue. |
Règles de transition d'état
- L'application appelle
connect→ passage à l'étatConnecting. - Succès de la connexion → transition de
ConnectingversConnected. - Échec de la connexion → transition de
ConnectingversFailed, puis basculement automatique du SDK versDisconnected. - Perte de connexion → transition de
ConnectedversFailed, suivie d'un basculement automatique du SDK versDisconnected. - L'application appelle
disconnect→ transition deConnectedversDisconnected.
Remarque : L'état Failed est transitoire. Après le déclenchement du rappel onConnectionStatusChange(Failed), le SDK passe automatiquement à l'état Disconnected. La couche applicative n'a pas besoin d'appeler manuellement disconnect.
API connect
Appelez connect pour initier une connexion au service d'IA. Transmettez les identifiants d'authentification renvoyés par l'endpoint d'allocation de l'AppServer.
Signature de la méthode
Android :public abstract int connect(@NonNull AoqConnectConfig config);
iOS :
- (int)connect:(AoqConnectConfig * _Nonnull)config;
HarmonyOS :
connect(config: AoqConnectConfig): number;
Valeur de retour : 0 indique que l'appel a réussi (la connexion s'établit de manière asynchrone). Une valeur < 0 signale un échec.
Comportement
- Déclenche immédiatement le rappel
onConnectionStatusChange(connecting)après l'appel. - Déclenche le rappel
onConnectionStatusChange(connected)si la connexion aboutit. - Déclenche le rappel
onConnectionStatusChange(failed)en cas d'échec de la connexion.
API disconnect
Appelez disconnect pour fermer intentionnellement la connexion au service d'IA.
Signature de la méthode
Android :public abstract int disconnect();
iOS :
- (int)disconnect;
HarmonyOS :
disconnect(): number;
Valeur de retour : 0 confirme le succès de l'opération. Une valeur < 0 indique un échec.
Comportement
- Déclenche le rappel
onConnectionStatusChange(Disconnected)après l'appel. - Le moteur n'est pas libéré automatiquement. Appelez de nouveau
connectpour rétablir la connexion. - L'appel de
disconnectsans connexion active est sûr et renvoie 0.
Rappel onConnectionStatusChange
Le SDK déclenche ce rappel à chaque changement d'état de la connexion.
Android :public void onConnectionStatusChange(
@NonNull AoqClientEngine.AoqConnectionStatus status) {}
iOS :
- (void)onConnectionStatusChange:(AoqConnectionStatus)status;
HarmonyOS :
onConnectionStatusChange?: (status: AoqConnectionStatus) => void;
Exemple
func onConnectionStatusChange(_ status: AoqConnectionStatus) {
switch status {
case .connecting:
print("Connecting...")
case .connected:
print("Connected")
// You can send session.update after the connection is established
case .failed:
print("Connection failed")
// The SDK will automatically transition to disconnected; no need to call disconnect manually
case .disconnected:
print("Disconnected")
// Decide whether to reconnect based on your application logic
}
}