Todos os produtos
Search
Central de documentação

Cloud Phone:Web SDK

Última atualização: Jun 28, 2026

O Alibaba Cloud Workspace Web SDK oferece APIs abertas para conectar o Workspace Web Client ao Elastic Desktop Service (EDS), a aplicativos em nuvem e a cloud phones. Com a integração do SDK, você personaliza e cria rapidamente um cliente web adaptado aos requisitos do seu negócio.

1. Início rápido

1,1 SDK e demo

Nota

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

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

É possível utilizar vários métodos de logon para obter o ticket necessário ao SDK para se conectar a um cloud phone. O fluxograma a seguir ilustra esse processo.

image

Para códigos específicos, consulte os exemplos de código 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

Os parâmetros para criação de uma sessão. Consulte 4,1 SessionParam.

Parâmetros de sessionParams

  • userInfo:

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

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

    • loginToken: O token de login obtido ao chamar a API GetLoginToken.

Nota

Existem dois métodos de logon: logon sem autorização e logon com conta de conveniência. O logon com conta de conveniência depende do sistema de usuários do Alibaba Cloud Workspace. Já 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, enquanto para logon com conta de conveniência é loginToken. O ticket é a credencial para conexão a uma 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: Como abrir o cloud phone. Consulte a enumeração openType neste documento.

2,2 Estabelecer uma conexão

session.start();

2,3 Encerrar uma conexão

session.stop();

2,4 Callbacks

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

Parâmetros:

Parâmetro

Tipo

Descrição

name

string

O tipo de evento a ser monitorado. Consulte 5,9 SessionEventType.

callback

Function

A 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 uma 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 a configuração 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

Um canal de dados personalizado para enviar e receber dados 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

Um 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 uma 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 uma nova aba.

iframeId

string

Não

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

sdkPath

string

Não

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

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

connectType

ConnectType

Sim

Define se a conexão será feita a um cloud phone ou a um computador em nuvem.

isOverseas

boolean

Não

Indica se o acesso é feito de uma localização no exterior. Padrão: false.

userInfo

UserInfo

Sim

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

regionId

string

Sim

Obrigatório ao conectar-se a um cloud phone. A região onde o cloud phone está localizado.

appInfo

AppInfo

Não

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

fileInfo

FileInfo

Não

Parâmetros para o drive em 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

O método de login. Padrão: conta do Alibaba Cloud Workspace.

networkAccessType

string

Não

O tipo de acesso à rede, como login 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 é obtido de um fluxo de login pré-autorizado. O loginToken é obtido de um login com conta de conveniência. É possível obter um ticket fazendo uma solicitação com um authCode ou um loginToken.

Parâmetro

Tipo

Obrigatório

Descrição

authCode

string

Sim

Uma credencial de login única. Este parâmetro tem a maior prioridade.

ticket

string

Sim

A partir da v1.4.7, é possível usar um ticket para conectar diretamente.

loginToken

string

Sim

A credencial de autenticação para uma conta de conveniência.

sessionId

string

Sim

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

4,3 AppInfo

Parâmetros para iniciar um cloud phone.

Parâmetro

Tipo

Obrigatório

Descrição

osType

string

Sim

Deve ser definido como Android.

appId

string

Sim

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

appVersion

string

Não

A versão do aplicativo a ser iniciada.

loginRegionId

string

Sim

A 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

O ID do grupo de entrega.

appInstanceId

string

Não

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

taskId

string

Não

O ID da tarefa de inicialização do aplicativo.

bizRegionId

string

Não

A região onde os recursos do aplicativo estão localizados.

productType

string

Não

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 um prompt de confirmação será exibido quando o usuário sair 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

O estilo da caixa de diálogo de prompt de reconexão.

defaultResolution

ResolutionType

Não

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

language

Language

Não

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

O método de decodificação.

playSoundBackground

bool

Não

Define se o som continuará sendo reproduzido quando o aplicativo for executado em segundo plano.

5. Tipos de enumeração

5,1 Tipo de abertura

Como a sessão do cloud phone é aberta.

Valor

Descrição

newTab

Abre a sessão em uma nova aba do navegador.

inline

Abre a sessão em um iframe incorporado.

urlScheme

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

5,2 Tipo de conexão

Define se um computador em nuvem ou um cloud phone será iniciado.

Valor

Descrição

app

Inicia um cloud phone.

desktop

Inicia um computador em nuvem.

O serviço Cloud Phone usa atualmente o tipo app. Ao conectar-se a um 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

O estilo de UI do prompt de reconexão.

Valor

Descrição

simple

Um indicador de carregamento simples.

normal

Uma caixa de diálogo com um cronômetro regressivo.

5,5 Tipo de resolução

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

Valor

Descrição

A

Prioriza a velocidade. Usa o tamanho atual da janela.

B

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

5,6 Tipo de cobrança

O 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

A 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 login

O método para fazer logon no cloud phone.

Valor

Descrição

aliyunLogin

Fazer logon com uma conta Alibaba Cloud.

normalLogin

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

5,9 Tipo de evento de sessão

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

Valor

Descrição

Suportado desde

getConnectionTicketInfo

Acionado quando uma conexão com um cloud phone é iniciada.

1.0.0

onConnected

Acionado quando uma conexão com um cloud phone é estabelecida.

1.0.0

onDisConnected

Acionado quando a conexão com o cloud phone é encerrada.

1.0.0

onRuntimeMsg

Uma 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 um erro durante a conexão.

1.4.1

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

O tipo de decodificação para o stream.

Valor

Descrição

Suportado desde

0

decodificação por software

1.2.0

1

decodificação por hardware

1.2.0

2

WebRTC

1.2.0

5,11 Tipo de protocolo

O 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

O socket foi fechado.

2

ASP_CLIENT_DISCONNECT_WEBRTC_CLOSE

WebRTC fechado.

25

Falha na verificação do ticket. Este erro também ocorre se você tentar reutilizar um ticket de uma sessão desconectada para uma nova conexão.

1206

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

1207

Reiniciar a instância invalida o ticket.

2000

ASP_CLIENT_DISCONNECT_OK

O cloud phone desconectou normalmente.

2001

ASP_CLIENT_DISCONNECT_CLOUD_APP_STOP

O aplicativo em nuvem foi fechado.

2002

ASP_CLIENT_DISCONNECT_CLIENT_PREEMPTION

A sessão atual do cloud phone foi preemptada.

2003

ASP_CLIENT_DISCONNECT_GUEST_SHUTDOWN_REBOOT

O guest reiniciou.

2004

O usuário atual desconectou.

2027

O modo de recebimento de stream mudou.

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 o 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 relatou o erro.

Código

Descrição

AccountNotAvailable

A conta de domínio está bloqueada, desativada ou expirada. Entre em contato com o administrador de TI ou o administrador do controlador de domínio para resolver isso.

ClientLockedForAliasFailed

Você atingiu o número máximo de tentativas incorretas. Tente novamente em 5 minutos.

content-monthpackageenterpostpaidphase

O pacote de assinatura deste cloud phone foi esgotado para o ciclo de faturamento atual. O uso subsequente será cobrado com base no pagamento conforme o uso.

content-recordingscreen

O administrador de TI da sua empresa ativou a gravação de tela e auditoria para o seu cloud phone, e todas as operações serão gravadas. Se tiver dúvidas sobre este recurso, entre em contato com o administrador.

desktop-AgentUnbinding

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

desktop-AssignUserFailed

Falha ao atribuir o cloud phone. Tente novamente mais tarde.

desktop-ConnectTicket.Timeout

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

desktop-DesktopAgentFileLose

A conexão falhou porque um arquivo de processo principal do cloud phone está ausente. Reinicie o cloud phone e conecte novamente. Se o problema persistir, entre em contato com o administrador de TI.

desktop-DesktopContainSecuritySoftware

Um software de segurança instalado no cloud phone está interrompendo sua conexão com o serviço de gerenciamento. Entre em contato com o administrador de TI para desativar o software de segurança e tente conectar novamente.

desktop-DesktopContainVpn

Um software VPN instalado no cloud phone está interrompendo sua conexão com o serviço de gerenciamento. Você pode reiniciar o cloud phone para resolver esse problema. Se a conexão ainda falhar, entre em contato com o administrador de TI.

desktop-DesktopGuestStop

A conexão falhou porque o cloud phone não está no estado "Running".

desktop-DesktopNetworkAnomaly

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Você pode reiniciar o cloud phone para resolver esse problema. Se a conexão ainda falhar, entre em contato com o administrador de TI.

desktop-DesktopNetworkError

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Você pode reiniciar o cloud phone para resolver esse problema. Se a conexão ainda falhar, entre em contato com o administrador de TI.

desktop-DesktopResourceStatusInvalid

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

desktop-DesktopResourceStop

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

desktop-DesktopsUnderMaintenance

A conexão falhou porque o cloud phone não está no estado "Running".

desktop-DesktopUnavailable

A conexão falhou. Tente novamente mais tarde. Se o problema persistir, entre em contato com o administrador de TI para verificar o status do cloud phone.

desktop-DistributeLockFailed

A conexão falhou porque muitos usuários estão tentando se conectar a cloud phones temporários. Tente conectar novamente mais tarde.

desktop-GENERAL_ERROR

Ocorreu um erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, entre em contato com o administrador de TI.

desktop-GET_TICKET_LOCK

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

desktop-INSUFFICIENT_QUOTA

Nenhum cloud phone temporário está disponível porque a cota de cloud phone da conta do administrador de TI é insuficiente. Entre em contato com o administrador de TI para obter assistência.

desktop-INTERNAL_ERROR

Ocorreu um erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, entre em contato com o administrador de TI.

desktop-InvalidBundleId.NotFound

O modelo de imagem para este cloud phone é inválido. Entre em contato com o administrador de TI.

desktop-InvalidClientIp.Policy

Você não pode se conectar a partir do seu endereço IP atual porque o administrador de TI configurou uma lista de permissões de endereços IP para este cloud phone. Entre em contato com o administrador de TI para obter assistência.

desktop-InvalidClientType.AccessDenied

Seu administrador de TI proibiu a execução deste cloud phone no cliente atual. Para usar este cloud phone, entre em contato com o administrador de TI.

desktop-InvalidDesktopId.NotFound

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

desktop-InvalidDesktopId.Status

A conexão falhou porque o cloud phone não está no estado "Running".

desktop-InvalidDesktopStatus.NotRunning

O cloud phone falhou ao desligar devido a um erro no servidor. Tente novamente mais tarde ou entre em contato com o administrador de TI.

desktop-InvalidDesktopStatus.NotStopped

O cloud phone falhou ao iniciar devido a um erro no servidor. Tente novamente mais tarde ou entre em contato com o administrador de TI.

desktop-InvalidDesktopStatusInvalid

A conexão falhou porque o cloud phone não está no estado "Running".

desktop-InvalidLiteConnectionCheck

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

desktop-NoEnoughDesktops

Nenhum cloud phone temporário pode ser atribuído devido às configurações do seu administrador de TI. Entre em contato com o administrador de TI.

desktop-NotFindDesktopId

O administrador de TI liberou este cloud phone.

desktop-NotFoundUserDesktop

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

desktop-PermissionDeny.Desktop

Seu administrador de TI revogou suas permissões. Para continuar usando o cloud phone, entre em contato com o administrador de TI para restaurar suas permissões.

desktop-RES_GW_ERROR

Ocorreu um erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, entre em contato com o administrador de TI.

desktop-SDK.ReadTimeout

Ocorreu um erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, entre em contato com o administrador de TI.

desktop-ServiceUnavailable

A conexão do serviço atingiu o tempo limite. Tente conectar ao cloud phone novamente. Se o problema persistir, entre em contato com o administrador de TI.

desktop-THROTTLING_USER

Ocorreu um erro de serviço. Tente conectar ao cloud phone novamente. Se o problema persistir, entre em contato com o administrador de TI.

desktop-UnavailableDesktop

O logon do cloud phone atingiu o tempo limite. Reconecte ou reinicie o cloud phone para resolver esse problema. Se a conexão ainda falhar, entre em contato com o administrador de TI.

desktop-UnavailableDesktop.2901

A conexão com o cloud phone falhou porque o serviço de protocolo não conseguiu se conectar ao ambiente em nuvem. Reinicie o cloud phone para resolver esse problema. Se a conexão ainda falhar, entre em contato com o administrador de TI.

desktop-UnavailableDesktop.2902

A conexão com o cloud phone falhou porque o serviço de protocolo não está respondendo. Reinicie o cloud phone para resolver esse problema. Se a conexão ainda falhar, entre em contato com o administrador de TI.

desktop-UnavailableDesktop.2903

A conexão com o cloud phone falhou devido a um problema no ambiente em nuvem. Reinicie o cloud phone para resolver isso. Se a conexão ainda falhar, entre em contato com o administrador de TI.

desktop-UnavailableDesktop.2904

A conexão com o cloud phone falhou devido a um problema no ambiente em nuvem. Reinicie o cloud phone para resolver isso. Se a conexão ainda falhar, entre em contato com o administrador de TI.

desktop-UnavailableDesktop.2905

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

desktop-UnavailableDesktop.2906

A conexão falhou devido a um tempo limite de resposta durante o logon do sistema. Reconecte ou reinicie o cloud phone.

desktop-UnavailableDesktop.2907

A conexão com o cloud phone falhou porque o serviço de protocolo ainda está iniciando. Tente conectar novamente mais tarde ou reinicie o cloud phone. Se o problema persistir, entre em contato com o administrador de TI.

desktop-UnavailableDesktop.NotRegistered

O administrador de TI excluiu este cloud phone.

desktop-UnavailableDesktop.ServerNotReady

A conexão falhou devido a um erro durante o logon do sistema. Entre em contato com o administrador de TI para restaurar suas permissões de uso do cloud phone.

desktop.linux-UnavailableDesktop.AuthFailed

A conexão com o cloud phone pode ter falhado porque a instância não está mais associada ao domínio. Reinicie o cloud phone e tente conectar novamente, ou entre em contato com o administrador de TI.

DesktopNetworkError.AbortBySoftware

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.BadHandShake

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.BindAddressFailed

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.ConnectAddressFailed

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.ConnectionClosedError

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.ConnectionRefusedError

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.ConnectionResetError

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.ConnectionTimeout

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.DnsLookupFailed

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.Forbidden

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.ReceivedUnexpectedEOF

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.SystemOutOfResource

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopNetworkError.UnKnowError

Um problema de rede no cloud phone interrompeu sua conexão com o serviço de gerenciamento. Reinicie o cloud phone para resolver esse problema.

DesktopStatus-Desc-Updating

Este cloud phone está temporariamente indisponível enquanto sua configuração está sendo alterada.

DesktopStatus-Repairing

Reparando.

DesktopStatus-Updating

Atualizando configuração.

DeviceNotInManage

Falha no logon. A autenticação de dispositivo confiável está ativada para a rede corporativa ou organização. Entre em contato com o administrador para desativar a autenticação de dispositivo confiável ou adicionar manualmente o terminal atual como um dispositivo confiável.

DirectoryLoginUnsupported

As informações inseridas estão incorretas. Use o ID da sua organização para fazer logon.

DomainFailed

A conexão com o cloud phone falhou porque o sistema não pôde ser associado a um domínio.

DomainRelationshipFailed

A conexão com o cloud phone falhou devido a um problema com a relação de confiança de domínio do sistema.

ExistedEmail

O endereço de e-mail já está em uso. Insira um endereço de e-mail diferente.

ExistedEndUserId

O nome de usuário já está em uso. Insira um nome de usuário diferente.

ExistedPhoneNumber

O número de telefone já está em uso. Insira um número de telefone diferente.

ExpiredEmailVerifyCode

O código de verificação de e-mail expirou. Solicite um novo.

FailedToSendEmailVerifyCode

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

ForbidByClientVersionForBusiness

Este ID de organização é para uma edição empresarial. Você deve atualizar o cliente para a versão mais recente para fazer logon.

ForbidByPasswordPolicy

Falha ao alterar a senha. Seu administrador de TI desativou o recurso "Alterar senha de logon".

FOTA_DESKTOP_IN_USE

O cloud phone "%s" está em uso. Desconecte-se dele e tente atualizar novamente.

FOTA_SNAPSHOT_IN_PROGRESS

A imagem não pode ser atualizada porque o sistema está criando um snapshot para o cloud phone "%s". Tente novamente mais tarde.

GuestOperateDesktopFail

Falha ao desligar ou reiniciar o cloud phone.

GuestOperateDesktopTimeout

A operação de desligamento ou reinicialização que você realizou no cloud phone falhou devido a um tempo limite de resposta.

GuestRebootOperateFail

Falha ao reiniciar o cloud phone.

GuestRebootOperateTimeout

A operação de reinicialização que você realizou no cloud phone falhou devido a um tempo limite de resposta.

GuestStopOperateFail

Falha ao desligar o cloud phone.

GuestStopOperateTimeout

A operação de desligamento que você realizou no cloud phone falhou devido a um tempo limite de resposta.

InvalidDirectoryType

O logon de usuário RAM não é mais suportado. Entre em contato com o administrador de TI.

InvalidEmailVerifyCode

O código de verificação de e-mail está incorreto. Insira-o novamente.

InvalidMfaDeviceStatus

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

InvalidPassword

O nome de usuário ou a senha estão incorretos.

LoginError.MissingConcatForVerify

Você não pode concluir a verificação de identidade porque esta é uma conta ativada pelo administrador. Entre em contato com o administrador de TI.

LoginForbidden

Falha no logon. A autenticação de dispositivo confiável está ativada para a rede corporativa ou organização. Entre em contato com o administrador para desativar a autenticação de dispositivo confiável ou adicionar manualmente o terminal atual como um dispositivo confiável.

LoginForbidden.LockedByAdmin

A conta de conveniência está bloqueada. Entre em contato com o administrador de TI para desbloqueá-la manualmente.

LoginForbiddenByDevice

Falha no logon. O administrador especificou que este terminal só pode ser acessado por usuários específicos, e sua conta não está autorizada.

LoginForbiddenByUntrustedDevice

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

LoginForbiddenByUser

Falha no logon. O administrador ativou restrições de terminal de logon do usuário. Faça logon a partir de um terminal especificado.

MfaClientNotSupport

A versão do cliente é muito antiga para suportar este método de autenticação multifator. Atualize o cliente.

MfaNotAllowed

Sua conta não possui as informações necessárias para este método de autenticação multifator. Entre em contato com o administrador de TI para adicionar as informações.

MfaTypeNotAllowed

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

MfaUserGoingToBeLocked

O código de verificação está incorreto. Se você inserir um código incorreto 10 vezes consecutivas, sua conta será bloqueada por 20 minutos.

MfaUserNotExist

Esta conta foi excluída. Entre em contato com o administrador de TI para obter detalhes.

MfaVerifyCodeDiscarded

O código de verificação é inválido. Solicite um novo.

PhoneIsNotRegistered

O número de telefone está incorreto ou o administrador não associou este número de telefone à conta.

SessionForceQuit

Você foi desconectado automaticamente. Isso pode ter ocorrido porque você fez logoff de outro terminal ou porque o número de terminais conectados excede o limite definido pelo administrador de TI.

StartApplicationGuestTimeout

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

StartDesktopFail

Falha ao iniciar o cloud phone.

ThrottlingSendEmailVerifyCodeLimit

Você só pode solicitar um código de verificação uma vez por minuto.

UnavailableDesktop.2907

A conexão com o cloud phone falhou porque o serviço de protocolo ainda está iniciando. Tente conectar novamente mais tarde ou reinicie o cloud phone. Se o problema persistir, entre em contato com 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 um comando, chame session.sendLyncMessage. Por exemplo:

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

Para receber o resultado do comando, adicione um listener chamando session.addLyncListener. Por 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 demo para conectar-se a um cloud phone, observe que os navegadores controlam as permissões da câmera. Para que a câmera funcione corretamente, a URL da demo deve começar com https.

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

// 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 estiver funcionando:

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

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