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
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:
-
Verifique se o Node.js está instalado:
nodeA mensagem
Welcome to Node.jsindica que o Node.js está instalado.Caso não veja essa mensagem, instale o Node.js.
-
Acesse o diretório raiz do projeto Vue:
NotaSubstitua
<ProjectRootPath>pelo caminho do diretório raiz do projeto Vue.cd <ProjectRootPath> -
Instale as dependências:
npm i -
Inicie o projeto:
npm run devEm caso de sucesso, o sistema retorna uma URL acessível.
-
-
Para iniciar o WuyingWebDemo.html:
-
Acesse o diretório onde o arquivo HTML está localizado:
NotaSubstitua
<HTMLPath>pelo caminho do diretório do arquivo HTML.cd <HTMLPath> -
Inicie o servidor HTTP:
python3 -m http.server No navegador, abra
http://localhost:8000/WuyingWebDemo.html.
-
1,2 Fluxo de integração
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.
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.
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 |
|
sessionParams |
SessionParam |
Sim |
Parâmetros para criação de sessão. Consulte 4,1 SessionParam. |
Parâmetros de sessionParams
-
userInfo:
sessionId: OSessionIdretornado pela operaçãoGetLoginTokenouGetStsToken.authCode: Código de autorização obtido ao chamar a API GetAuthCode.loginToken: Token de logon obtido ao chamar a API GetLoginToken.
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
openTypeneste 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 |
setInputEnabled(param: boolean) enableInput(param: boolean) | Ativa ou desativa a entrada.
|
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: |
dataChannel | Canal de dados personalizado para envio e recebimento de informações entre o cliente e a nuvem. |
lyncChannel | Canal para o cliente enviar comandos ADB. |
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: |
|
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: |
|
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: |
|
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 |
4,3 AppInfo
Parâmetros para iniciar cloud phone.
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
osType |
string |
Sim |
Deve ser definido como |
|
appId |
string |
Sim |
ID persistente da instância do aplicativo ( |
|
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: |
|
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 |
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 ( |
|
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: |
|
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: |
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 |
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 |
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.