Todos os produtos
Search
Central de documentação

AgentBay:Web SDK

Última atualização: Jun 29, 2026

Integre o Alibaba Cloud Workspace Web SDK para criar e personalizar rapidamente clientes web conectados ao sandbox inteligente do AgentBay.

1. Início rápido

1,1 SDK e demonstração

Nota

Ao baixar e utilizar o SDK, você concorda com a Política de Privacidade do SDK do Alibaba Cloud Workspace.

Não distribua esses arquivos a terceiros sem o consentimento da Alibaba Cloud.

Estrutura de diretórios

├── WuyingWebDemo.html  // A sample page demonstrating SDK usage.
├── WuyingWebSDK.js     // The SDK API file. You must reference this file in your frontend page.
└── sdk                 // Resource files for iframe embedding.
     └── ASP
          └── container.html
  • O Web.SDK.Demo é um projeto Vue. Para iniciar o projeto:

    1. Verifique se o Node.js está instalado:

      node
      • A mensagem Welcome to Node.js indica que o Node.js está instalado.

      • Caso não veja essa mensagem, instale o Node.js.

    2. Acesse o diretório raiz do projeto Vue:

      Nota

      Substitua <ProjectRootPath> pelo caminho do diretório raiz do projeto Vue.

      cd <ProjectRootPath>
    3. Instale as dependências:

      npm i
    4. Inicie o projeto:

      npm run dev

      Em caso de sucesso, o sistema retorna uma URL acessível.

  • Para iniciar o WuyingWebDemo.html:

    1. Acesse o diretório onde o arquivo HTML está localizado:

      Nota

      Substitua <HTMLPath> pelo caminho do diretório do arquivo HTML.

      cd <HTMLPath>
    2. Inicie o servidor HTTP:

      python3 -m http.server
    3. No navegador, abra http://localhost:8000/WuyingWebDemo.html.

1,2 Fluxo de integração

image

1,3 Melhores práticas

Consulte Melhores práticas para integração rápida de cloud phones. A figura a seguir mostra a arquitetura de integração.

image

Use vários métodos de logon para obter o ticket necessário à conexão do SDK com um cloud phone. O fluxograma a seguir ilustra esse processo.

image

Para ver o código específico, consulte os exemplos das APIs de ciclo de vida.

2. API de ciclo de vida

2,1 Inicializar e criar uma sessão

// Create a session using a ticket.
var userInfo = {
  ticket: 'xxx',
};
var appInfo = {
  osType: 'Android', // Required
  appId: "android", 
  appInstanceId: "ai-xxxxxx", // The appInstanceId starts with ai-.
  productType: "AndroidCloud",
  connectionProperties: JSON.stringify({ authMode: "Session" }) ,
};
var sessionParam = {
  openType: openType,
  iframeId: 'sessionIframe',
  resourceType: "local",
  connectType: 'app',
  userInfo: userInfo,
  appInfo: appInfo,
};
var wuyingSdk = Wuying.WebSDK;
session = wuyingSdk.createSession('appstream', sessionParam);
// Create a session using an authCode.
var userInfo = {
  authCode: authCode,
};
var appInfo = {
  osType: 'Android', // Required
  appId: "android", 
  resourceId: "p-xxxxxx", // The resourceId starts with p-.
  productType: "AndroidCloud",
  connectionProperties: JSON.stringify({ authMode: "Session" }) ,
};
var sessionParam = {
  openType: openType,
  iframeId: 'sessionIframe',
  resourceType: "local",
  connectType: 'app',
  userInfo: userInfo,
  appInfo: appInfo,
};
var wuyingSdk = Wuying.WebSDK;
session = wuyingSdk.createSession('appstream', sessionParam);
// Create a session using a loginToken or stsToken.
var userInfo = {
  sessionId: sessionId,
  loginToken: loginToken,
};
var appInfo = {
  osType: 'Android', // Required
  appId: "android", 
  resourceId: "p-xxxxxx", // The resourceId starts with p-.
  productType: "AndroidCloud",
  connectionProperties: JSON.stringify({ authMode: "Session" }) ,
};
var sessionParam = {
  openType: openType,
  iframeId: 'sessionIframe',
  resourceType: "local",
  connectType: 'app',
  userInfo: userInfo,
  appInfo: appInfo,
};
var wuyingSdk = Wuying.WebSDK;
session = wuyingSdk.createSession('appstream', sessionParam);

Parâmetros de createSession

Parâmetro

Tipo

Obrigatório

Descrição

id

string

Sim

Defina como a constante appstream para Cloud Phone.

sessionParams

SessionParam

Sim

Parâmetros para criação de sessão. Consulte 4,1 SessionParam.

Parâmetros de sessionParams

  • userInfo:

    • sessionId: O SessionId retornado pela operação GetLoginToken ou GetStsToken.

    • authCode: Código de autorização obtido ao chamar a API GetAuthCode.

    • loginToken: Token de logon obtido ao chamar a API GetLoginToken.

Nota

Existem dois métodos de logon: sem autorização e com conta de conveniência. O logon com conta de conveniência depende do sistema de usuários do Alibaba Cloud Workspace, enquanto o logon sem autorização permite usar seu próprio sistema de usuários. O parâmetro de autenticação para logon sem autorização é authCode, e para logon com conta de conveniência é loginToken. O ticket é a credencial para conexão com a instância. Tanto loginToken quanto authCode são convertidos em um ticket para conectar à instância. Especifique um dos seguintes parâmetros: authCode, ticket ou loginToken.

  • appInfo: Informações sobre a instância.

    • resourceId:

      • Se fizer logon com uma conta de conveniência, chame a operação DescribeUserResources no cliente para obter o valor ResourceId.

      • Se fizer logon sem autorização, chame a operação DescribeAndroidInstances no servidor para obter o valor PersistentAppInstanceId.

    • openType: Modo de abertura do cloud phone. Consulte a enumeração openType neste documento.

2,2 Estabelecer conexão

session.start();

2,3 Encerrar conexão

session.stop();

2,4 Callbacks

API: addHandle(name: SessionEventType, callback: Function)

Parâmetros:

Parâmetro

Tipo

Descrição

name

string

Tipo de evento a monitorar. Consulte 5,9 SessionEventType.

callback

Function

Função de callback.

Exemplo:

session.addHandle('getConnectionTicketInfo', (data) => {
  console.log(data);
});

session.addHandle('onConnected', (data) => {
  console.log('connected', data);
});

session.addHandle('onDisConnected', (data) => {
  console.log('disconnect', data);
});

session.addHandle('onRuntimeMsg', (data) => {
  document.getElementById('GuestMsgContext').value = JSON.stringify(data);
});

3. API

API

Descrição

WebSDK.apiVersion

Retorna o número da versão do WebSDK como string.

setInputEnabled(param: boolean)

enableInput(param: boolean)

Ativa ou desativa a entrada.

  • Quando desativado, o cloud phone não responde a eventos de entrada do teclado local, mouse ou touchpad.

  • enableInput e setInputEnabled têm a mesma função. Recomendamos o uso de setInputEnabled.

enableKeyBoard(param: boolean)

Ativa ou desativa o teclado virtual no cloud phone.

setClipboardEnabled(param: boolean)

Ativa ou desativa a área de transferência.

setMicrophoneEnabled(param: boolean)

Ativa ou desativa o microfone.

setTouchEnabled(param: boolean)

Ativa ou desativa a entrada por toque.

setUiParams(param: UiConfig)

Define as configurações de UI após o estabelecimento da sessão, como mostrar ou ocultar o menu e forçar o modo paisagem.

Nota

Consulte 4,4 UiConfig.

Exemplo:

var uiConfig = {
  toolbar: {
    visible: false,
  },
  rotateDegree: 90,
};
session.setUiParams(uiConfig);

dataChannel

Canal de dados personalizado para envio e recebimento de informações entre o cliente e a nuvem.

// Configure dataChannelConfig in sessionParam.
dataChannelConfig: [{
     dataChannelName: 'wy_vdagent_default_dc',
}
// Listen for messages on the data channel.
/** The string `value` specifies the rotation: "0" for 0°, "1" for 90°, "2" for 180°, and "3" for 270°.
  * The message format for rotation is {"action":"rotation","value":"0"}.
*/
session.addDataChannelListener('wy_vdagent_default_dc', 'data', data => console.log('data from wy_vdagent_default_dc', data));
// Send a message through the data channel.
// Parameters: channel name, message content
session.sendDataChannelMessage('wy_vdagent_default_dc', new Uint8Array([1, 2, 3, 4]));

lyncChannel

Canal para o cliente enviar comandos ADB.

// Configure lyncChannelConfig in sessionParam.
lyncChannelConfig: [
{
    lyncChannelName: 'lync_adb_shell',
}
// Send an ADB command.
session.value.sendLyncMessage(
    'lync_adb_shell',
    JSON.stringify({
      id: Date.now(), // A unique ID for the command.
       cmd: OperationMap[type],
     }),
 );
// Listen for the ADB command response.
session.addLyncListener('lync_adb_shell', 'onReceivedLyncData', data => console.log('data from lync_adb_shell', data));

4. Parâmetros

4,1 SessionParam

Parâmetros para criação de sessão.

Parâmetro

Tipo

Obrigatório

Descrição

openType

OpenType

Sim

Define se a página será aberta em um iframe incorporado ou em nova aba.

iframeId

string

Não

Obrigatório se a página for aberta em iframe.

sdkPath

string

Não

Caminho para o arquivo do SDK. Se deixado em branco, o sistema usa o caminho relativo padrão. Exemplo: ./ASP/container.html.

resourceType

ResourceType

Sim

Tipo de recurso. Atualmente, apenas páginas de conexão local são suportadas.

connectType

ConnectType

Sim

Define a conexão com cloud phone ou cloud computer.

isOverseas

boolean

Não

Indica se o acesso ocorre de localização internacional. Padrão: false.

userInfo

UserInfo

Sim

Informações de autenticação do usuário.

regionId

string

Sim

Obrigatório ao conectar a cloud phone. Região onde o cloud phone está localizado.

appInfo

AppInfo

Não

Informações sobre o aplicativo a iniciar no cloud phone.

fileInfo

FileInfo

Não

Parâmetros para o drive na nuvem.

uiConfig

UiConfig

Não

Configurações de UI para a página de conexão.

logDisabled

bool

Não

Define se as estatísticas do ARMS devem ser desativadas. Padrão: false (ativado).

loginType

LoginType

Não

Método de logon. Padrão: Conta do Alibaba Cloud Workspace.

networkAccessType

string

Não

Tipo de acesso à rede, como logon via VPC. Padrão: vazio.

4,2 UserInfo

Contém as informações de autenticação do usuário. Escolha um dos seguintes parâmetros: authCode, ticket ou loginToken. O authCode vem de um fluxo de logon pré-autorizado. O loginToken vem de logon com conta de conveniência. Obtenha um ticket fazendo solicitação com authCode ou loginToken.

Parâmetro

Tipo

Obrigatório

Descrição

authCode

string

Sim

Credencial de logon única. Este parâmetro tem a maior prioridade.

ticket

string

Sim

A partir da v1.4.7, use ticket para conexão direta.

loginToken

string

Sim

Credencial de autenticação para conta de conveniência.

sessionId

string

Sim

ID da sessão obtido de solicitação GetLoginToken ou GetStsToken.

4,3 AppInfo

Parâmetros para iniciar cloud phone.

Parâmetro

Tipo

Obrigatório

Descrição

osType

string

Sim

Deve ser definido como Android.

appId

string

Sim

ID persistente da instância do aplicativo (PersistentAppInstanceId). Exemplo: p-0caoet4e18cui****.

appVersion

string

Não

Versão do aplicativo a iniciar.

loginRegionId

string

Sim

Região onde os recursos do cloud phone estão localizados.

connConfig

ConnConfig

Não

Parâmetros de configuração de conexão.

appInstanceGroupId

string

Não

ID do grupo de entrega.

appInstanceId

string

Não

ID da instância. Obrigatório ao estabelecer conexão com ticket. Exemplo: ai-0cc7s3n1iagyq****.

taskId

string

Não

ID da tarefa de inicialização do aplicativo.

bizRegionId

string

Não

Região onde os recursos do aplicativo estão localizados.

productType

string

Não

Tipo de grupo de entrega. Para cloud phones, este valor deve ser AndroidCloud.

4,4 UiConfig

Configurações de UI para a página de conexão.

Parâmetro

Tipo

Obrigatório

Descrição

toolbar

ToolBarConfig

Não

Configurações de exibição da barra de ferramentas.

exitCheck

bool

Não

Define se o sistema exibe prompt de confirmação quando o usuário sai da página. Padrão: ativado.

rotateDegree

number

Não

Força o modo paisagem (0: Normal; 90: Forçar modo paisagem).

vconsoleVisiable

bool

Não

Define se a caixa de depuração vConsole será exibida.

debugPanelVisiable

bool

Não

Define se o painel de depuração com métricas como taxa de bits e taxa de quadros será exibido.

reconnectType

ReconnectType

Não

Estilo da caixa de diálogo de prompt de reconexão.

defaultResolution

ResolutionType

Não

Resolução padrão para a conexão inicial. Padrão: A.

language

Language

Não

Idioma para prompts internos. Padrão: Chinês simplificado.

allowErrorDialog

bool

Não

Define se caixas de diálogo de erro serão exibidas.

backgroundColor

string

Não

Cor de fundo personalizada para a tela de carregamento.

backgroundImg

string

Não

Imagem de fundo personalizada para a tela de carregamento.

4,5 ToolBarConfig

Configurações de exibição da barra de ferramentas.

Parâmetro

Tipo

Obrigatório

Descrição

visible

bool

Não

Define se a barra de ferramentas será exibida.

noMenu

bool

Não

Define se o DesktopAssistant pode abrir o menu de contexto. Padrão: false. Suportado na v1.4.20 e posteriores.

4,6 ConnConfig

Parâmetros de configuração de conexão.

Parâmetro

Tipo

Obrigatório

Descrição

decodeType

ConnDecodeType (enumeração numérica)

Não

Método de decodificação.

playSoundBackground

bool

Não

Define se o som continua sendo reproduzido quando o aplicativo está em segundo plano.

5. Tipos de enumeração

5,1 Tipo de abertura

Modo como a sessão do cloud phone é aberta.

Valor

Descrição

newTab

Abre a sessão em nova aba do navegador.

inline

Abre a sessão em iframe incorporado.

urlScheme

Inicia a sessão usando o cliente local. Requer cliente Alibaba Cloud Workspace V6.2 ou posterior.

5,2 Tipo de conexão

Define se um cloud computer ou cloud phone será iniciado.

Valor

Descrição

app

Inicia cloud phone.

desktop

Inicia cloud computer.

O serviço Cloud Phone utiliza atualmente o tipo app. Ao conectar-se a Cloud Phone, o parâmetro connectType é fixado como app.

5,3 Tipo de recurso

Define se a página de conexão local ou o cliente web do Alibaba Cloud Workspace será aberto.

Valor

Descrição

local

Abre a página HTML de conexão local.

A integração do Wuying Cloud Phone usa o valor codificado local.

5,4 Tipo de reconexão

Estilo da UI do prompt de reconexão.

Valor

Descrição

simple

Indicador simples de carregamento.

normal

Caixa de diálogo com cronômetro regressivo.

5,5 Tipo de resolução

Resolução padrão para a conexão inicial. As configurações do usuário substituem este padrão.

Valor

Descrição

A

Prioriza velocidade. Usa o tamanho atual da janela.

B

Prioriza qualidade. Usa o tamanho atual da janela multiplicado por window.devicePixelRatio.

5,6 Tipo de cobrança

Método de faturamento do cloud phone.

Valor

Descrição

Suportado desde

PostPaid

pagamento conforme o uso

1.4.0

PrePaid

assinatura

1.4.0

5,7 Idioma

Configuração de idioma. Padrão: zh-CN.

Valor

Descrição

zh-CN

Chinês simplificado

en-US

Inglês

ja-JP

Japonês

5,8 Tipo de logon

Método para fazer logon no cloud phone.

Valor

Descrição

aliyunLogin

Fazer logon com conta Alibaba Cloud.

normalLogin

Logon com conta do Alibaba Cloud Workspace (Cloud Phone suporta apenas normalLogin).

5,9 Tipo de evento de sessão

Tipos de eventos para sessão, incluindo eventos específicos de cloud phones.

Valor

Descrição

Suportado desde

getConnectionTicketInfo

Acionado ao iniciar conexão com cloud phone.

1.0.0

onConnected

Acionado ao estabelecer conexão com cloud phone.

1.0.0

onDisConnected

Acionado ao encerrar conexão com cloud phone.

1.0.0

onRuntimeMsg

Mensagem enviada do ambiente de execução para o SDK.

1.1.0

networkData

Métricas de desempenho de rede.

1.3.1

onError

Acionado quando ocorre erro durante a conexão.

1.4.1

5,10 Tipo de decodificação de conexão

Tipo de decodificação para o stream.

Valor

Descrição

Suportado desde

0

decodificação via software

1.2.0

1

decodificação via hardware

1.2.0

2

WebRTC

1.2.0

5,11 Tipo de protocolo

Tipo de protocolo.

Valor

Descrição

Suportado desde

ASP

Protocolo ASP proprietário da Alibaba Cloud. Cloud phones suportam apenas este protocolo.

1.3.0

HDX

Protocolo Citrix

1.3.0

Códigos de erro

Erros de onDisconnected

Código

Parâmetro

Descrição

0

ASP_CLIENT_DISCONNECT_CONNECT_ERROR

Desconectado.

1

ASP_CLIENT_DISCONNECT_SOCKET_CLOSE

Socket fechado.

2

ASP_CLIENT_DISCONNECT_WEBRTC_CLOSE

WebRTC fechado.

25

Falha na verificação do ticket. Este erro também ocorre ao tentar reutilizar ticket de sessão desconectada para nova conexão.

1206

Um ticket suporta apenas uma conexão simultânea. Este erro ocorre ao tentar iniciar nova conexão enquanto o cloud phone já está conectado.

1207

Reiniciar a instância invalida o ticket.

2000

ASP_CLIENT_DISCONNECT_OK

Cloud phone desconectou normalmente.

2001

ASP_CLIENT_DISCONNECT_CLOUD_APP_STOP

Aplicativo na nuvem fechado.

2002

ASP_CLIENT_DISCONNECT_CLIENT_PREEMPTION

Sessão atual do cloud phone preemptada.

2003

ASP_CLIENT_DISCONNECT_GUEST_SHUTDOWN_REBOOT

Guest reiniciado.

2004

Usuário atual desconectado.

2027

Modo de pull do stream alterado.

2200

ASP_CLIENT_RTT_TIMEOUT

Tempo limite de RTT.

2201

ASP_CLIENT_NET_ERROR_IO

Erro de I/O de rede.

2202

ASP_CLIENT_UPDATE_TICKET_FAILED

Falha ao atualizar ticket.

Erros de onError

Formato: {code: string, message: string, api: string}. O parâmetro message contém o requestId, e o parâmetro api especifica a solicitação que reportou o erro.

Código

Descrição

AccountNotAvailable

Conta de domínio bloqueada, desativada ou expirada. Entre em contato com o administrador de TI ou do controlador de domínio para resolver.

ClientLockedForAliasFailed

Número máximo de tentativas incorretas atingido. Tente novamente em 5 minutos.

content-monthpackageenterpostpaidphase

Pacote de assinatura deste cloud phone esgotado no ciclo de faturamento atual. O uso subsequente será cobrado via pagamento conforme o uso.

content-recordingscreen

O administrador de TI da empresa ativou gravação de tela e auditoria para seu cloud phone; todas as operações serão gravadas. Em caso de dúvidas, contate o administrador.

desktop-AgentUnbinding

Falha na conexão com novo cloud phone temporário porque o anterior ainda está sendo desassociado. Tente conectar novamente mais tarde.

desktop-AssignUserFailed

Falha ao atribuir cloud phone. Tente novamente mais tarde.

desktop-ConnectTicket.Timeout

Falha na conexão com cloud phone devido a tempo limite. Reinicie o cloud phone e tente conectar novamente.

desktop-DesktopAgentFileLose

Falha na conexão devido à ausência de arquivo de processo principal do cloud phone. Reinicie o cloud phone e conecte novamente. Se o problema persistir, contate o administrador de TI.

desktop-DesktopContainSecuritySoftware

Software de segurança instalado no cloud phone está interrompendo a conexão com o serviço de gerenciamento. Contate o administrador de TI para desativar o software e tente conectar novamente.

desktop-DesktopContainVpn

Software VPN instalado no cloud phone está interrompendo a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver. Se a conexão ainda falhar, contate o administrador de TI.

desktop-DesktopGuestStop

Falha na conexão porque o cloud phone não está no estado "Running".

desktop-DesktopNetworkAnomaly

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver. Se a conexão ainda falhar, contate o administrador de TI.

desktop-DesktopNetworkError

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver. Se a conexão ainda falhar, contate o administrador de TI.

desktop-DesktopResourceStatusInvalid

Falha na conexão com cloud phone porque a instância ECS subjacente não está no estado "Running". Reinicie o cloud phone e tente conectar novamente.

desktop-DesktopResourceStop

Falha na conexão com cloud phone porque a instância ECS subjacente está parada. Reinicie o cloud phone e tente conectar novamente.

desktop-DesktopsUnderMaintenance

Falha na conexão porque o cloud phone não está no estado "Running".

desktop-DesktopUnavailable

Falha na conexão. Tente novamente mais tarde. Se o problema persistir, contate o administrador de TI para verificar o status do cloud phone.

desktop-DistributeLockFailed

Falha na conexão devido a excesso de usuários tentando conectar a cloud phones temporários. Tente conectar novamente mais tarde.

desktop-GENERAL_ERROR

Erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, contate o administrador de TI.

desktop-GET_TICKET_LOCK

Solicitações de conexão do cloud phone muito frequentes. Tente novamente mais tarde.

desktop-INSUFFICIENT_QUOTA

Nenhum cloud phone temporário disponível; cota de cloud phone da conta do administrador de TI insuficiente. Contate o administrador de TI para assistência.

desktop-INTERNAL_ERROR

Erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, contate o administrador de TI.

desktop-InvalidBundleId.NotFound

Modelo de imagem inválido para este cloud phone. Contate o administrador de TI.

desktop-InvalidClientIp.Policy

Conexão a partir do endereço IP atual bloqueada; administrador de TI configurou lista de permissões de IP para este cloud phone. Contate o administrador de TI para assistência.

desktop-InvalidClientType.AccessDenied

Administrador de TI proibiu execução deste cloud phone no cliente atual. Para usar, contate o administrador de TI.

desktop-InvalidDesktopId.NotFound

Administrador de TI revogou sua permissão para usar este cloud phone.

desktop-InvalidDesktopId.Status

Falha na conexão porque o cloud phone não está no estado "Running".

desktop-InvalidDesktopStatus.NotRunning

Falha ao desligar cloud phone devido a erro no servidor. Tente novamente mais tarde ou contate o administrador de TI.

desktop-InvalidDesktopStatus.NotStopped

Falha ao iniciar cloud phone devido a erro no servidor. Tente novamente mais tarde ou contate o administrador de TI.

desktop-InvalidDesktopStatusInvalid

Falha na conexão porque o cloud phone não está no estado "Running".

desktop-InvalidLiteConnectionCheck

Falha ao reconectar cloud phone devido a erro no serviço de protocolo. Tente conectar novamente.

desktop-NoEnoughDesktops

Impossível atribuir cloud phone temporário devido às configurações do administrador de TI. Contate o administrador de TI.

desktop-NotFindDesktopId

Administrador de TI liberou este cloud phone.

desktop-NotFoundUserDesktop

Administrador de TI revogou sua permissão para usar este cloud phone.

desktop-PermissionDeny.Desktop

Administrador de TI revogou suas permissões. Para continuar usando o cloud phone, contate o administrador de TI para restaurá-las.

desktop-RES_GW_ERROR

Erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, contate o administrador de TI.

desktop-SDK.ReadTimeout

Erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, contate o administrador de TI.

desktop-ServiceUnavailable

Tempo limite na conexão do serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, contate o administrador de TI.

desktop-THROTTLING_USER

Erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, contate o administrador de TI.

desktop-UnavailableDesktop

Tempo limite no logon do cloud phone. Reconecte ou reinicie o cloud phone para resolver. Se a conexão ainda falhar, contate o administrador de TI.

desktop-UnavailableDesktop.2901

Falha na conexão com cloud phone; serviço de protocolo não conseguiu conectar ao ambiente de nuvem. Reinicie o cloud phone para resolver. Se a conexão ainda falhar, contate o administrador de TI.

desktop-UnavailableDesktop.2902

Falha na conexão com cloud phone; serviço de protocolo não responde. Reinicie o cloud phone para resolver. Se a conexão ainda falhar, contate o administrador de TI.

desktop-UnavailableDesktop.2903

Falha na conexão com cloud phone devido a problema no ambiente de nuvem. Reinicie o cloud phone para resolver. Se a conexão ainda falhar, contate o administrador de TI.

desktop-UnavailableDesktop.2904

Falha na conexão com cloud phone devido a problema no ambiente de nuvem. Reinicie o cloud phone para resolver. Se a conexão ainda falhar, contate o administrador de TI.

desktop-UnavailableDesktop.2905

Falha na conexão devido a tempo limite ao fazer logoff de outra sessão neste cloud phone compartilhado. Reconecte ou reinicie o cloud phone.

desktop-UnavailableDesktop.2906

Falha na conexão devido a tempo limite de resposta durante logon do sistema. Reconecte ou reinicie o cloud phone.

desktop-UnavailableDesktop.2907

Falha na conexão com cloud phone; serviço de protocolo ainda iniciando. Tente conectar novamente mais tarde ou reinicie o cloud phone. Se o problema persistir, contate o administrador de TI.

desktop-UnavailableDesktop.NotRegistered

Administrador de TI excluiu este cloud phone.

desktop-UnavailableDesktop.ServerNotReady

Falha na conexão devido a erro durante logon do sistema. Contate o administrador de TI para restaurar permissões de uso do cloud phone.

desktop.linux-UnavailableDesktop.AuthFailed

Possível falha na conexão com cloud phone; instância não associada ao domínio. Reinicie o cloud phone e tente conectar novamente ou contate o administrador de TI.

DesktopNetworkError.AbortBySoftware

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.BadHandShake

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.BindAddressFailed

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.ConnectAddressFailed

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.ConnectionClosedError

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.ConnectionRefusedError

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.ConnectionResetError

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.ConnectionTimeout

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.DnsLookupFailed

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.Forbidden

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.ReceivedUnexpectedEOF

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.SystemOutOfResource

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopNetworkError.UnKnowError

Problema de rede no cloud phone interrompeu a conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver.

DesktopStatus-Desc-Updating

Cloud phone temporariamente indisponível durante alteração de configuração.

DesktopStatus-Repairing

Reparando.

DesktopStatus-Updating

Atualizando configuração.

DeviceNotInManage

Falha no logon. Autenticação de dispositivo confiável ativada para rede corporativa ou organização. Contate o administrador para desativar a autenticação ou adicionar manualmente o terminal atual como dispositivo confiável.

DirectoryLoginUnsupported

Informações inseridas incorretas. Use seu ID de organização para fazer logon.

DomainFailed

Falha na conexão com cloud phone; sistema não pôde ser associado a domínio.

DomainRelationshipFailed

Falha na conexão com cloud phone devido a problema na relação de confiança de domínio do sistema.

ExistedEmail

Endereço de e-mail já em uso. Insira outro endereço.

ExistedEndUserId

Nome de usuário já em uso. Insira outro nome.

ExistedPhoneNumber

Número de telefone já em uso. Insira outro número.

ExpiredEmailVerifyCode

Código de verificação de e-mail expirado. Solicite um novo.

FailedToSendEmailVerifyCode

Falha ao enviar código de verificação de e-mail. Tente novamente.

ForbidByClientVersionForBusiness

ID de organização destinado à edição empresarial. Atualize o cliente para a versão mais recente para fazer logon.

ForbidByPasswordPolicy

Falha ao alterar senha. Administrador de TI desativou o recurso "Alterar senha de logon".

FOTA_DESKTOP_IN_USE

Cloud phone "%s" em uso. Desconecte-se e tente atualizar novamente.

FOTA_SNAPSHOT_IN_PROGRESS

Impossível atualizar imagem; sistema criando snapshot para cloud phone "%s". Tente novamente mais tarde.

GuestOperateDesktopFail

Falha ao desligar ou reiniciar cloud phone.

GuestOperateDesktopTimeout

Operação de desligamento ou reinicialização no cloud phone falhou devido a tempo limite de resposta.

GuestRebootOperateFail

Falha ao reiniciar cloud phone.

GuestRebootOperateTimeout

Operação de reinicialização no cloud phone falhou devido a tempo limite de resposta.

GuestStopOperateFail

Falha ao desligar cloud phone.

GuestStopOperateTimeout

Operação de desligamento no cloud phone falhou devido a tempo limite de resposta.

InvalidDirectoryType

Logon de usuário RAM não suportado. Contate o administrador de TI.

InvalidEmailVerifyCode

Código de verificação de e-mail incorreto. Insira novamente.

InvalidMfaDeviceStatus

Dispositivo virtual de autenticação multifator inválido. Use o dispositivo associado à sua conta.

InvalidPassword

Nome de usuário ou senha incorretos.

LoginError.MissingConcatForVerify

Impossível concluir verificação de identidade; conta ativada pelo administrador. Contate o administrador de TI.

LoginForbidden

Falha no logon. Autenticação de dispositivo confiável ativada para rede corporativa ou organização. Contate o administrador para desativar a autenticação ou adicionar manualmente o terminal atual como dispositivo confiável.

LoginForbidden.LockedByAdmin

Conta de conveniência bloqueada. Contate o administrador de TI para desbloqueio manual.

LoginForbiddenByDevice

Falha no logon. Administrador restringiu acesso deste terminal a usuários específicos; sua conta não está autorizada.

LoginForbiddenByUntrustedDevice

Falha no logon. Administrador ativou "Bloquear Logons de Terminais Não Confiáveis". O administrador precisa adicionar este terminal como dispositivo confiável ou desativar o recurso.

LoginForbiddenByUser

Falha no logon. Administrador ativou restrições de terminal de logon. Faça logon a partir de terminal especificado.

MfaClientNotSupport

Versão do cliente antiga demais para suportar este método de autenticação multifator. Atualize o cliente.

MfaNotAllowed

Conta sem informações necessárias para este método de autenticação multifator. Contate o administrador de TI para adicioná-las.

MfaTypeNotAllowed

Administrador de TI não ativou este método de autenticação multifator.

MfaUserGoingToBeLocked

Código de verificação incorreto. Após 10 tentativas consecutivas incorretas, a conta será bloqueada por 20 minutos.

MfaUserNotExist

Conta excluída. Contate o administrador de TI para detalhes.

MfaVerifyCodeDiscarded

Código de verificação inválido. Solicite um novo.

PhoneIsNotRegistered

Número de telefone incorreto ou não associado à conta pelo administrador.

SessionForceQuit

Desconectado automaticamente. Motivos possíveis: logoff em outro terminal ou excesso de terminais conectados além do limite definido pelo administrador de TI.

StartApplicationGuestTimeout

Falha ao iniciar aplicativo devido a conexão de rede instável. Tente novamente.

StartDesktopFail

Falha ao iniciar cloud phone.

ThrottlingSendEmailVerifyCodeLimit

Limite de uma solicitação de código de verificação por minuto.

UnavailableDesktop.2907

Falha na conexão com cloud phone; serviço de protocolo ainda iniciando. Tente conectar novamente mais tarde ou reinicie o cloud phone. Se o problema persistir, contate o administrador de TI.

FAQ

Desativar o DesktopAssistant

Desative o DesktopAssistant inicializando uiConfig ao chamar createSession.

uiConfig: {
  toolbar: {
    visible: false,
  },
},

Enviar comandos ADB via canal ASP

Inicialize lyncChannelConfig ao chamar createSession.

lyncChannelConfig: [
  {
    lyncChannelName: "lync_adb_shell",
  },
],

Para enviar comando, chame session.sendLyncMessage. Exemplo:

session.sendLyncMessage(
    "lync_adb_shell",
    JSON. stringify({
        id: crypto. randomUUID(), 
        cmd: 'input keyevent KEYCODE_VOLUME_UP',
    })
);

Para receber o resultado do comando, adicione listener chamando session.addLyncListener. Exemplo:

session.addLyncListener('lync_adb_shell', 'onReceivedLyncData', data => console.log('data from lync_adb_shell', data));

Comandos comuns:

Recurso

Comando

Tecla Voltar

input keyevent KEYCODE_BACK

Tecla Home

input keyevent KEYCODE_HOME

Tecla Alternar

input keyevent KEYCODE_APP_SWITCH

Silenciar

input keyevent 164

Aumentar volume

input keyevent KEYCODE_VOLUME_UP

Diminuir volume

input keyevent KEYCODE_VOLUME_DOWN

Ocultar barra de navegação

setprop persist.wy.hasnavibar false; killall com.android.systemui

Mostrar barra de navegação

setprop persist.wy.hasnavibar true; killall com.android.systemui

Captura de tela

screencap -p /sdcard/Download/abc.png

Uso da câmera

  • Ao usar a demonstração para conectar a cloud phone, note que navegadores controlam permissões de câmera. Para funcionamento correto, a URL da demonstração deve começar com https.

  • Para usar apenas a câmera frontal ou traseira do cliente, utilize as configurações abaixo.

// Front camera
session.setLocalConfig('setCameraType', 1);
// Rear camera
session.setLocalConfig('setCameraType', 2);

Uso da área de transferência

  • Se a área de transferência não funcionar:

    • Verifique se as permissões da área de transferência estão ativadas no navegador.

    • No Console do Cloud Phone, verifique a política da instância para garantir que a transferência bidirecional da área de transferência esteja ativada.