Gerenciamento de conexão
Diagrama de estado de conexão do SDK AOQ, regras de migração e API
Descreve a máquina de estado de conexão do SDK do cliente AOQ e as chamadas de API correspondentes.
Diagrama de estado de conexão
O diagrama a seguir mostra as transições de estado de conexão do SDK do cliente AOQ:

Descrições de estado
| Estado | Valor enum | Descrição |
|---|---|---|
| Conectando | 1 | Entrado depois de ligar connect. O SDK está estabelecendo uma conexão com o serviço de IA. |
| Conectado | 2 | Conexão estabelecida. Mensagens de áudio, vídeo e dados podem ser enviadas e recebidas normalmente. |
| Falha | 3 | Erro de conexão (falha de autenticação, tempo limite, rejeição do servidor e assim por diante). O SDK faz a transição automaticamente para Desconectado. |
| Desconectado | 0 | Estado inicial ou estado terminal após uma desconexão intencional ou inesperada. |
Regras de transição de estado
- Chamadas de aplicativos
connect→ entraConnecting. - Conexão bem-sucedida → transições de
ConnectingparaConnected. - Falha na conexão → transições de
ConnectingparaFailed, o SDK fará a transição automaticamente paraDisconnected. - A conexão falha → transições de
ConnectedparaFailed, o SDK fará a transição automaticamente paraDisconnected. - Chamadas de aplicativos
disconnect→ transições deConnectedparaDisconnected.
Failed é um estado transitório. Depois que o SDK for acionado onConnectionStatusChange(Failed), ele faz a transição automaticamente para Disconnected. A camada de aplicação não precisa chamar a desconexão manualmente.
conectar API
Ligar connect para iniciar uma conexão com o Serviço de IA. Passe as credenciais de autenticação retornadas pelo endpoint de alocação do AppServer.
Assinatura do método
Android
```java
public abstract int connect(@NonNull AoqConnectConfig config);
```
iOS
```objectivec
- (int)connect:(AoqConnectConfig * _Nonnull)config;
```
HarmonyOS
```javascript
connect(config: AoqConnectConfig): number;
```
Valor de retorno: 0 indica que a chamada foi bem-sucedida (a conexão é estabelecida de forma assíncrona). < 0 indica falha.
Comportamento
- Dispara o
onConnectionStatusChange(connecting)retorno de chamada imediatamente após a chamada. - Dispara o
onConnectionStatusChange(connected)retorno de chamada se a conexão for bem-sucedida. - Dispara o
onConnectionStatusChange(failed)retorno de chamada se a conexão falhar.
desconectar API
Ligar disconnect encerrar intencionalmente a conexão com o Serviço de IA.
Assinatura do método
Android
```java
public abstract int disconnect();
```
iOS
```objectivec
- (int)disconnect;
```
HarmonyOS
```javascript
disconnect(): number;
```
Valor de retorno: 0 indica sucesso. < 0 indica falha.
Comportamento
- Dispara o
onConnectionStatusChange(Disconnected)retorno de chamada após a chamada. - O motor não é liberado automaticamente. Você pode ligar
connectnovamente para reconectar. - Chamando
disconnectquando não conectado é seguro e retorna 0.
retorno de chamada onConnectionStatusChange
O SDK dispara esse retorno de chamada sempre que o estado da conexão muda.
Android
```java
public void onConnectionStatusChange(
@NonNull AoqClientEngine.AoqConnectionStatus status) {}
```
iOS
```objectivec
- (void)onConnectionStatusChange:(AoqConnectionStatus)status;
```
HarmonyOS
```javascript
onConnectionStatusChange?: (status: AoqConnectionStatus) => void;
```
Exemplo
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
}
}