全部产品
Search
文档中心

Cloud Phone:Web SDK

更新时间:Dec 16, 2025

Alibaba Cloud Workspace Web SDK menyediakan API terbuka untuk klien web yang dapat Anda gunakan guna menghubungkan ke komputer cloud, aplikasi cloud, dan Cloud Phone Elastic Desktop Service (EDS). Dengan mengintegrasikan Web SDK, Anda dapat dengan cepat menyesuaikan dan membangun klien web sesuai kebutuhan.

1. Memulai

1.1 Mendapatkan SDK dan demo

Sumber daya

Catatan

Seluruh dokumen, SDK, dan program klien pada platform ini hanya untuk penggunaan pribadi atau perusahaan. Anda tidak diperbolehkan mendistribusikannya kepada pihak ketiga mana pun tanpa persetujuan Alibaba Cloud.

Struktur direktori

├── WuyingWebDemo.html  // Contoh SDK.
├── WuyingWebSDK.js     // File API SDK. Referensikan file ini pada halaman frontend.
└── sdk                 // File sumber daya iframe yang disematkan
     └── ASP
          └── container.html
  • Web.SDK.Demo adalah proyek Vue. Untuk menjalankan proyek tersebut, lakukan langkah-langkah berikut:

    1. Jalankan perintah berikut di Antarmuka baris perintah (CLI) untuk memeriksa apakah Node.js telah diinstal di lingkungan lokal Anda.

      node
      • Jika pesan Welcome to Node.js muncul, berarti Node.js telah diinstal.

      • Jika pesan tersebut tidak muncul, Anda harus menginstal Node.js.

    2. Jalankan perintah berikut untuk masuk ke direktori root proyek Vue.

      Catatan

      Ganti <ProjectRootPath> dengan path aktual ke direktori root proyek Vue.

      cd <ProjectRootPath>
    3. Jalankan perintah berikut untuk menginstal dependensi proyek.

      npm i
    4. Jalankan perintah berikut untuk menjalankan proyek.

      npm run dev

      Setelah perintah dijalankan, URL yang dapat diakses akan dikembalikan.

  • Untuk menjalankan WuyingWebDemo.html, lakukan langkah-langkah berikut:

    1. Jalankan perintah berikut untuk masuk ke direktori tempat file HTML berada.

      Catatan

      Ganti <HTMLPath> dengan path aktual ke direktori tempat file HTML berada.

      cd <HTMLPath>
    2. Jalankan perintah berikut untuk menjalankan server HTTP.

      python3 -m http.server
    3. Buka http://localhost:8000/WuyingWebDemo.html di browser.

1.2 Alur integrasi

image

1.3 Praktik terbaik

Untuk detail solusi lebih lanjut, lihat Praktik terbaik untuk mengintegrasikan Cloud Phone. Gambar berikut menunjukkan solusi integrasi secara keseluruhan.

image

Tersedia beberapa metode login untuk mendapatkan tiket yang diperlukan agar SDK dapat terhubung ke Cloud Phone. Gambar berikut menunjukkan bagan alirnya.

image

Untuk kode spesifiknya, lihat contoh kode untuk API siklus hidup.

2. API Siklus Hidup

2.1 Inisialisasi dan buat sesi

// Buat sesi menggunakan tiket.
var userInfo = {
  ticket: 'xxx',
};
var appInfo = {
  osType: 'Android', // Wajib
  appId: "android", 
  appInstanceId: "ai-xxxxxx", // appInstanceId dimulai dengan 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);
// Buat sesi menggunakan authCode.
var userInfo = {
  sessionId: sessionId,
  authCode: authCode,
};
var appInfo = {
  osType: 'Android', // Wajib
  appId: "android", 
  resourceId: "p-xxxxxx", // resourceId dimulai dengan 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);
// Buat sesi menggunakan loginToken atau stsToken.
var userInfo = {
  sessionId: sessionId,
  loginToken: loginToken,
};
var appInfo = {
  osType: 'Android', // Wajib
  appId: "android", 
  resourceId: "p-xxxxxx", // resourceId dimulai dengan 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);

Parameter createSession

Parameter

Tipe

Wajib

Deskripsi

id

string

Ya

Konstanta. Nilainya adalah appstream untuk Cloud Phone.

sessionParams

SessionParam

Ya

Parameter untuk membuat sesi. Untuk informasi selengkapnya, lihat 4.1 SessionParam.

Parameter sessionParams

  • userInfo:

    • sessionId: SessionId yang Anda peroleh dengan memanggil GetLoginToken atau GetStsToken.

    • authCode: Diperoleh dengan memanggil operasi API GetAuthCode.

    • loginToken: Diperoleh dengan memanggil API GetLoginToken.

Catatan

Tersedia dua metode login: login tanpa otorisasi dan login dengan akun convenience. Login dengan akun convenience bergantung pada sistem pengguna Alibaba Cloud Workspace. Login tanpa otorisasi memungkinkan Anda menggunakan sistem pengguna sendiri. Parameter autentikasi untuk login tanpa otorisasi adalah authCode. Parameter autentikasi untuk login dengan akun convenience adalah loginToken. ticket adalah kredensial untuk menghubungkan ke instans. Baik loginToken maupun authCode pada akhirnya dikonversi menjadi tiket untuk menghubungkan ke instans. Anda harus menentukan salah satu parameter berikut: authCode, ticket, atau loginToken.

  • appInfo: Informasi tentang instans.

    • resourceId:

      • Jika Anda login dengan akun convenience, Anda dapat memanggil operasi DescribeUserResources di klien untuk mendapatkan nilai `ResourceId`.

      • Jika Anda login tanpa otorisasi, Anda dapat memanggil operasi DescribeAndroidInstances di server Anda untuk mendapatkan nilai `PersistentAppInstanceId`.

    • openType: Metode yang digunakan untuk menjalankan Cloud Phone. Untuk informasi selengkapnya, lihat definisi enumerasi openType dalam topik ini.

2.2 Membuat koneksi

session.start();

2.3 Mengakhiri koneksi

session.stop();

2.4 Deskripsi callback

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

Parameter API Callback:

Nama

Tipe

Deskripsi

name

string

Tipe event yang akan didengarkan. Untuk informasi selengkapnya, lihat definisi enumerasi 5.9 SessionEventType.

callback

Function

Fungsi callback.

Kode contoh callback:

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 Bisnis

API

Deskripsi

WebSDK.apiVersion

Mendapatkan nomor versi saat ini dari Web SDK. Tipe datanya adalah string.

setInputEnabled(param: boolean)

enableInput(param: boolean)

Mengaktifkan atau menonaktifkan operasi input.

  • Setelah Anda menonaktifkan operasi input, cloud phone tidak merespons event input dari keyboard, mouse, atau touchpad lokal.

  • enableInput dan setInputEnabled memiliki fungsi yang sama. Disarankan menggunakan setInputEnabled.

enableKeyBoard(param: boolean)

Menentukan apakah akan menampilkan keyboard pada klien seluler.

setClipboardEnabled(param: boolean)

Menentukan apakah akan mengaktifkan kontrol clipboard.

setMicrophoneEnabled(param: boolean)

Menentukan apakah akan mengaktifkan kontrol mikrofon.

setTouchEnabled(param: boolean)

Menentukan apakah akan mengaktifkan kontrol sentuh.

setUiParams(param: UiConfig)

Secara aktif mengatur konfigurasi UI setelah sesi dibuat, seperti apakah akan menampilkan menu atau memaksa mode landscape.

Catatan

Untuk informasi selengkapnya tentang UiConfig, lihat 4.4 UiConfig.

Kode contoh:

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

dataChannel

Saluran data kustom bagi klien dan cloud untuk mengirim serta menerima data.

// Konfigurasikan dataChannelConfig di sessionParam.
dataChannelConfig: [{
     dataChannelName: 'wy_vdagent_default_dc',
}
// Dengarkan pesan saluran data.
/** Arti nilai: 0 menentukan 0 derajat, 1 menentukan 90 derajat, 2 menentukan 180 derajat, dan 3 menentukan 270 derajat. 
  * Format pesan mode landscape adalah {"action":"rotation","value":"0"}.
*/
session.addDataChannelListener('wy_vdagent_default_dc', 'data', data => console.log('data from wy_vdagent_default_dc', data));
// Kirim pesan saluran data.
// Parameter permintaan: nama saluran, konten pesan.
session.sendDataChannelMessage('wy_vdagent_default_dc', new Uint8Array([1, 2, 3, 4]));

lyncChannel

Saluran bagi klien untuk mengirim perintah ADB.

// Konfigurasikan lyncChannelConfig di sessionParam.
lyncChannelConfig: [
{
    lyncChannelName: 'lync_adb_shell',
}
// Kirim perintah ADB.
session.value.sendLyncMessage(
    'lync_adb_shell',
    JSON.stringify({
      id: Date.now(), // Pengidentifikasi unik perintah yang akan dieksekusi.
       cmd: OperationMap[type],
     }),
 );
// Dengarkan callback perintah ADB.
session.addLyncListener('lync_adb_shell', 'onReceivedLyncData', data => console.log('data from lync_adb_shell', data));

4. Deskripsi parameter terperinci

4.1 SessionParam

Parameter untuk membuat sesi.

Parameter

Type

Wajib

Deskripsi

openType

OpenType

Ya

Menentukan apakah akan membuka halaman di iframe yang disematkan atau tab baru.

iframeId

string

Tidak

Jika Anda membuka halaman di iframe, Anda harus menentukan iframeId.

sdkPath

string

Tidak

Path file SDK. Jika Anda membiarkan parameter ini kosong, path relatif default akan digunakan, seperti ./ASP/container.html.

resourceType

ResourceType

Ya

Hanya pembukaan halaman koneksi lokal yang didukung.

connectType

ConnectType

Ya

Menentukan apakah akan menjalankan cloud phone atau komputer cloud.

isOverseas

boolean

Tidak

Menentukan apakah akses berasal dari Luar daratan Tiongkok. Nilai default: false.

userInfo

UserInfo

Ya

Informasi status login pengguna.

regionId

string

Ya

Wajib saat Anda menjalankan cloud phone. Nilainya adalah wilayah tempat cloud phone berada.

appInfo

AppInfo

Tidak

Informasi tentang cloud phone.

fileInfo

FileInfo

Tidak

Informasi tentang cloud drive.

uiConfig

UiConfig

Tidak

Pengaturan UI.

logDisabled

bool

Tidak

Menentukan apakah akan menonaktifkan statistik ARMS. Nilai default: false. Nilai ini menunjukkan bahwa statistik ARMS tidak dinonaktifkan.

loginType

LoginType

Tidak

Metode login default adalah menggunakan akun Alibaba Cloud Workspace.

networkAccessType

string

Tidak

Secara default, parameter ini dibiarkan kosong. Login VPC didukung.

4.2 UserInfo

Informasi status login pengguna. Anda harus menentukan salah satu parameter berikut: authCode, ticket, atau loginToken. authCode digunakan untuk login tanpa otorisasi. loginToken digunakan untuk login dengan akun convenience. ticket diperoleh dengan memanggil API menggunakan authCode atau loginToken.

Parameter

Tipe

Wajib

Deskripsi

authCode

string

Ya

Kredensial login sekali pakai yang memiliki prioritas tertinggi.

ticket

string

Ya

Untuk versi 1.4.7 atau yang lebih baru, Anda dapat langsung meneruskan tiket untuk membuat koneksi.

loginToken

string

Ya

Kredensial untuk login dengan akun convenience.

sessionId

string

Ya

SessionId yang diperoleh dengan memanggil GetLoginToken atau GetStsToken.

4.3 AppInfo

Parameter untuk menjalankan Cloud Phone.

Parameter

Tipe

Wajib

Deskripsi

osType

string

Ya

Nilai konstan adalah Android.

appId

string

Ya

Masukkan PersistentAppInstanceId. Contoh: p-0caoet4e18cui****.

appVersion

string

Tidak

Versi aplikasi yang akan dijalankan.

loginRegionId

string

Ya

Wilayah tempat sumber daya cloud phone berada.

connConfig

ConnConfig

Tidak

Parameter konfigurasi koneksi.

appInstanceGroupId

string

Tidak

ID grup pengiriman.

appInstanceId

string

Tidak

ID instans. Parameter ini wajib jika Anda menggunakan tiket untuk membuat koneksi. Contoh: ai-0cc7s3n1iagyq****.

taskId

string

Tidak

ID tugas startup aplikasi.

bizRegionId

string

Tidak

Wilayah tempat sumber daya aplikasi berada.

productType

string

Tidak

Tipe grup pengiriman. Untuk cloud phone, nilai default adalah AndroidCloud.

4.4 UiConfig

Pengaturan UI untuk halaman koneksi.

Parameter

Tipe

Wajib

Deskripsi

toolbar

ToolBarConfig

Tidak

Pengaturan tampilan bilah alat pada halaman koneksi.

exitCheck

bool

Tidak

Menentukan apakah akan mengaktifkan konfirmasi kedua di browser saat Anda keluar dari halaman saat ini. Fitur ini diaktifkan secara default.

rotateDegree

number

Tidak

Menentukan apakah akan memaksa mode landscape. Hanya 0 (normal) dan 90 (mode landscape paksa) yang didukung.

vconsoleVisiable

bool

Tidak

Menentukan apakah akan menampilkan kotak debug vconsole.

debugPanelVisiable

bool

Tidak

Menentukan apakah akan menampilkan kotak informasi untuk bitstream, laju frame, dan informasi lainnya.

reconnectType

ReconnectType

Tidak

Gaya kotak prompt penyambungan ulang.

defaultResolution

ResolutionType

Tidak

Resolusi default untuk koneksi pertama. Nilai default: 'A'.

language

Language

Tidak

Bahasa untuk prompt pop-up internal. Nilai default: Bahasa Tionghoa Sederhana.

allowErrorDialog

bool

Tidak

Menentukan apakah akan menampilkan jendela pop-up error.

backgroundColor

string

Tidak

Latar belakang kustom untuk proses pemuatan.

backgroundImg

string

Tidak

Gambar kustom untuk proses pemuatan.

4.5 ToolBarConfig

Pengaturan tampilan bilah alat.

Parameter

Tipe

Wajib

Deskripsi

visible

bool

Tidak

Menentukan apakah akan menampilkan bilah alat.

noMenu

bool

Tidak

Menentukan apakah DesktopAssistant mendukung pembukaan menu konteks. Nilai default: false. Fitur ini didukung pada versi 1.4.20 dan yang lebih baru.

4.6 ConnConfig

Parameter konfigurasi koneksi.

Parameter

Tipe

Wajib

Deskripsi

decodeType

ConnDecodeType (enumerasi numerik)

Tidak

Konfigurasi pengkodean.

playSoundBackground

bool

Tidak

Menentukan apakah akan terus memutar suara setelah beralih ke latar belakang.

5. Tipe enumerasi

5.1 OpenType

Metode untuk menjalankan Cloud Phone.

Enumerasi

Deskripsi

newTab

Membuka di tab baru.

inline

Membuka di halaman iframe yang disematkan.

urlScheme

Mendukung pembukaan dengan klien native lokal. Anda harus menginstal klien Alibaba Cloud Workspace versi 6.2 atau yang lebih baru untuk opsi ini.

5.2 ConnectType

Menentukan apakah akan menjalankan komputer cloud atau Cloud Phone.

Enumerasi

Deskripsi

app

Menjalankan cloud phone.

desktop

Menjalankan komputer cloud.

Saat ini, tipe app digunakan kembali untuk Cloud Phone. Saat Anda menghubungkan ke Cloud Phone, atur connectType ke app.

5.3 ResourceType

Menentukan apakah akan membuka halaman koneksi lokal atau klien web Alibaba Cloud Workspace.

Enumerasi

Deskripsi

local

Membuka halaman HTML koneksi lokal.

Untuk integrasi Cloud Phone, atur parameter ini ke local.

5.4 ReconnectType

UI jendela pop-up prompt penyambungan ulang.

Enumerasi

Deskripsi

simple

Gaya pemuatan sederhana.

normal

Jendela pop-up hitung mundur.

5.5 ResolutionType

Resolusi default untuk koneksi awal. Jika pengguna telah menetapkan resolusi pilihan, resolusi tersebut yang akan digunakan.

Enumerasi

Deskripsi

A

Diprioritaskan kecepatan. Ukuran jendela saat ini.

B

Diprioritaskan kualitas. Ukuran jendela saat ini dikalikan dengan window.devicePixelRatio.

5.6 ChargeType

Metode penagihan Cloud Phone.

Enumerasi

Deskripsi

Versi yang didukung

PostPaid

Pay-as-you-go

1.4.0 atau yang lebih baru

PrePaid

Subscription

1.4.0 atau yang lebih baru

5.7 Language

Pengaturan bahasa. Nilai default: zh-CN.

Enumerasi

Deskripsi

zh-CN

Bahasa Tionghoa Sederhana

en-US

Bahasa Inggris

ja-JP

Bahasa Jepang

5.8 LoginType

Metode untuk login ke Cloud Phone.

Enumerasi

Deskripsi

aliyunLogin

Login dengan Akun Alibaba Cloud.

normalLogin

Login dengan akun Alibaba Cloud Workspace. Cloud phone hanya mendukung normalLogin.

5.9 SessionEventType

Pemetaan tipe event sesi. Ini mencakup deskripsi event Cloud Phone.

Enumerasi

Deskripsi

Versi yang didukung

getConnectionTicketInfo

Event saat menghubungkan ke cloud phone.

1.0.0 atau yang lebih baru

onConnected

Event saat membuat koneksi ke cloud phone.

1.0.0 atau yang lebih baru

onDisConnected

Event saat memutus koneksi dari cloud phone.

1.0.0 atau yang lebih baru

onRuntimeMsg

Pesan yang dikirim dari runtime ke SDK.

1.1.0 atau yang lebih baru

networkData

Parameter kinerja jaringan.

1.3.1 atau yang lebih baru

onError

Menerima error yang terjadi selama proses koneksi.

1.4.1 atau yang lebih baru

5.10 ConnDecodeType

Tipe decoding aliran.

Enumerasi

Deskripsi

Versi yang didukung

0

Decoding perangkat lunak

1.2.0 atau yang lebih baru

1

Decoding hardware

1.2.0 atau yang lebih baru

2

WebRTC

1.2.0 atau yang lebih baru

5.11 Protocol Type

Tipe protokol koneksi.

Enumerasi

Deskripsi

Versi yang didukung

ASP

Protokol ASP internal Alibaba Cloud. Cloud phone hanya mendukung protokol ASP.

1.3.0 atau yang lebih baru

HDX

Protokol Citrix

1.3.0 atau yang lebih baru

6. Kode error

6.1 onDisconnected: menerima error pemutusan koneksi

Kode

Nama

Deskripsi

0

ASP_CLIENT_DISCONNECT_CONNECT_ERROR

Terputus.

1

ASP_CLIENT_DISCONNECT_SOCKET_CLOSE

Socket ditutup.

2

ASP_CLIENT_DISCONNECT_WEBRTC_CLOSE

WebRTC ditutup.

25

Verifikasi tiket gagal. Jika pengguna terputus lalu menggunakan tiket yang sama untuk meminta koneksi lagi, error ini juga dipicu.

2001

ASP_CLIENT_DISCONNECT_CLOUD_APP_STOP

Aplikasi cloud ditutup.

2002

ASP_CLIENT_DISCONNECT_CLIENT_PREEMPTION

Cloud phone saat ini dipreempt.

2003

ASP_CLIENT_DISCONNECT_GUEST_SHUTDOWN_REBOOT

Tamu direstart.

2004

Pengguna saat ini terputus.

2027

Mode penarikan aliran diubah.

2200

ASP_CLIENT_RTT_TIMEOUT

Timeout RTT.

2201

ASP_CLIENT_NET_ERROR_IO

Error I/O jaringan.

2202

ASP_CLIENT_UPDATE_TICKET_FAILED

Gagal memperbarui tiket.

6.2 onError: menerima error proses koneksi

Format: {code: string, message: string, api: string}. Parameter message berisi requestId, dan parameter api menentukan permintaan yang melaporkan error.

Kode error

Deskripsi

AccountNotAvailable

Akun domain terkunci, dinonaktifkan, atau telah kedaluwarsa. Hubungi administrator IT atau administrator pengontrol domain sistem Anda untuk menyelesaikan masalah ini.

ClientLockedForAliasFailed

Jumlah maksimum percobaan salah tercapai. Coba lagi dalam 5 menit.

content-monthpackageenterpostpaidphase

Paket langganan bulanan untuk cloud phone ini telah habis. Setelah Anda menjalankan atau membangunkan cloud phone, Anda akan dikenai biaya berdasarkan pay-as-you-go.

content-recordingscreen

Administrator IT perusahaan Anda telah mengaktifkan fitur perekaman layar dan audit untuk cloud phone Anda. Semua operasi Anda di cloud phone akan direkam. Jika Anda memiliki pertanyaan tentang fitur perekaman layar dan audit, hubungi administrator Anda.

desktop-AgentUnbinding

Koneksi ke cloud phone sementara baru gagal karena cloud phone sementara yang sebelumnya Anda hubungkan sedang dilepaskan. Coba sambungkan kembali nanti.

desktop-AssignUserFailed

Gagal menetapkan cloud phone. Coba lagi nanti.

desktop-ConnectTicket.Timeout

Koneksi ke cloud phone gagal karena timeout koneksi. Restart cloud phone lalu sambungkan kembali.

desktop-DesktopAgentFileLose

Koneksi gagal karena file proses inti cloud phone hilang. Restart cloud phone dan sambungkan kembali. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-DesktopContainSecuritySoftware

Jaringan cloud phone ini tidak normal karena perangkat lunak keamanan diinstal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Hubungi administrator IT Anda untuk keluar dari perangkat lunak keamanan lalu sambungkan kembali.

desktop-DesktopContainVpn

Jaringan cloud phone ini tidak normal karena perangkat lunak VPN diinstal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-DesktopGuestStop

Koneksi gagal karena cloud phone ini tidak dalam status "Berjalan".

desktop-DesktopNetworkAnomaly

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-DesktopNetworkError

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-DesktopResourceStatusInvalid

Koneksi ke cloud phone gagal karena instans Elastic Compute Service (ECS) tidak dalam status berjalan. Restart cloud phone lalu sambungkan kembali.

desktop-DesktopResourceStop

Koneksi ke cloud phone gagal karena instans ECS dimatikan. Restart cloud phone lalu sambungkan kembali.

desktop-DesktopsUnderMaintenance

Koneksi gagal karena cloud phone ini tidak dalam status "Berjalan".

desktop-DesktopUnavailable

Koneksi gagal. Coba lagi nanti. Jika koneksi tetap gagal, hubungi administrator IT Anda untuk memperbarui status cloud phone ini.

desktop-DistributeLockFailed

Koneksi gagal karena terlalu banyak pengguna yang menghubungkan ke cloud phone sementara. Coba sambungkan kembali nanti.

desktop-GENERAL_ERROR

Terjadi error layanan. Sambungkan kembali ke cloud phone. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-GET_TICKET_LOCK

Permintaan koneksi cloud phone terlalu sering. Coba lagi nanti.

desktop-INSUFFICIENT_QUOTA

Tidak ada cloud phone sementara yang tersedia karena kuota cloud phone di bawah akun administrator IT tidak mencukupi. Hubungi administrator IT Anda untuk bantuan O&M.

desktop-INTERNAL_ERROR

Terjadi error layanan. Sambungkan kembali ke cloud phone. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-InvalidBundleId.NotFound

Templat citra cloud phone ini tidak normal. Hubungi administrator IT Anda.

desktop-InvalidClientIp.Policy

Anda tidak dapat menghubungkan ke cloud phone ini di lingkungan IP saat ini karena administrator IT telah mengonfigurasi kebijakan daftar putih alamat IP. Hubungi administrator IT Anda.

desktop-InvalidClientType.AccessDenied

Administrator IT telah melarang menjalankan cloud phone ini di klien ini. Untuk terus menggunakan cloud phone ini, hubungi administrator IT Anda.

desktop-InvalidDesktopId.NotFound

Administrator IT telah mencabut izin Anda untuk menggunakan cloud phone ini.

desktop-InvalidDesktopId.Status

Koneksi gagal karena cloud phone ini tidak dalam status "Berjalan".

desktop-InvalidDesktopStatus.NotRunning

Gagal mematikan cloud phone karena error server. Coba lagi nanti atau hubungi administrator IT Anda.

desktop-InvalidDesktopStatus.NotStopped

Gagal menjalankan cloud phone karena error server. Coba lagi nanti atau hubungi administrator IT Anda.

desktop-InvalidDesktopStatusInvalid

Koneksi gagal karena cloud phone ini tidak dalam status berjalan.

desktop-InvalidLiteConnectionCheck

Penyambungan ulang ke cloud phone gagal karena error layanan protokol. Coba sambungkan kembali.

desktop-NoEnoughDesktops

Tidak ada cloud phone sementara yang dapat ditetapkan karena pengaturan administrator IT. Hubungi administrator IT Anda.

desktop-NotFindDesktopId

Cloud phone ini telah dirilis oleh administrator IT.

desktop-NotFoundUserDesktop

Administrator IT telah mencabut izin Anda untuk menggunakan cloud phone ini.

desktop-PermissionDeny.Desktop

Administrator IT telah mencabut izin Anda. Untuk terus menggunakan cloud phone, hubungi administrator IT Anda untuk memberikan izin kembali.

desktop-RES_GW_ERROR

Terjadi error layanan. Sambungkan kembali ke cloud phone. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-SDK.ReadTimeout

Terjadi error layanan. Sambungkan kembali ke cloud phone. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-ServiceUnavailable

Koneksi layanan timeout. Sambungkan kembali ke cloud phone. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-THROTTLING_USER

Terjadi error layanan. Sambungkan kembali ke cloud phone. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-UnavailableDesktop

Timeout login cloud phone. Anda dapat menyambungkan kembali atau me-restart cloud phone untuk memperbaiki masalah ini. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-UnavailableDesktop.2901

Koneksi ke cloud phone gagal karena koneksi antara layanan protokol dan lingkungan cloud gagal. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-UnavailableDesktop.2902

Koneksi ke cloud phone gagal karena layanan protokol tidak merespons. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-UnavailableDesktop.2903

Koneksi ke cloud phone gagal karena error di lingkungan cloud. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-UnavailableDesktop.2904

Koneksi ke cloud phone gagal karena error di lingkungan cloud. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-UnavailableDesktop.2905

Koneksi gagal karena terjadi timeout saat logout dari sesi pengguna lain. Hal ini terjadi karena cloud phone ini ditetapkan untuk beberapa pengguna. Sambungkan kembali atau restart cloud phone.

desktop-UnavailableDesktop.2906

Koneksi gagal karena terjadi timeout respons selama login sistem. Sambungkan kembali atau restart cloud phone. 

desktop-UnavailableDesktop.2907

Koneksi ke cloud phone gagal karena layanan protokol masih dalam proses startup. Sambungkan kembali nanti atau restart cloud phone. Jika koneksi tetap gagal, hubungi administrator IT Anda.

desktop-UnavailableDesktop.NotRegistered

Administrator IT telah menghapus cloud phone ini.

desktop-UnavailableDesktop.ServerNotReady

Koneksi gagal karena error selama login sistem. Hubungi administrator IT Anda untuk memberikan izin menggunakan cloud phone kembali.

desktop.linux-UnavailableDesktop.AuthFailed

Koneksi ke cloud phone mungkin gagal karena masalah pelepasan domain. Restart cloud phone lalu sambungkan kembali, atau hubungi administrator IT Anda.

DesktopNetworkError.AbortBySoftware

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.BadHandShake

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.BindAddressFailed

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.ConnectAddressFailed

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.ConnectionClosedError

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.ConnectionRefusedError

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.ConnectionResetError

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.ConnectionTimeout

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.DnsLookupFailed

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.Forbidden

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.ReceivedUnexpectedEOF

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.SystemOutOfResource

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopNetworkError.UnKnowError

Jaringan cloud phone ini tidak normal. Koneksi antara lingkungan cloud dan layanan manajemen terputus. Anda dapat me-restart cloud phone untuk memperbaiki masalah ini.

DesktopStatus-Desc-Updating

Konfigurasi cloud phone ini sedang diubah. Cloud phone sementara tidak tersedia.

DesktopStatus-Repairing

Memperbaiki

DesktopStatus-Updating

Peningkatan/Penurunan

DeviceNotInManage

Login gagal. Autentikasi perangkat tepercaya diaktifkan untuk jaringan kantor atau organisasi. Minta administrator untuk menonaktifkan autentikasi perangkat tepercaya atau menambahkan terminal saat ini sebagai perangkat tepercaya secara manual.

DirectoryLoginUnsupported

Informasi yang dimasukkan salah. Gunakan ID organisasi untuk login.

DomainFailed

Koneksi ke cloud phone gagal karena sistem gagal ditambahkan ke domain.

DomainRelationshipFailed

Koneksi ke cloud phone gagal karena hubungan domain sistem tidak normal.

ExistedEmail

Alamat email sudah digunakan. Masukkan alamat email lain.

ExistedEndUserId

Username sudah digunakan. Masukkan username lain.

ExistedPhoneNumber

Nomor ponsel sudah digunakan. Masukkan nomor ponsel lain.

ExpiredEmailVerifyCode

Kode verifikasi email telah kedaluwarsa. Dapatkan kembali.

FailedToSendEmailVerifyCode

Gagal mendapatkan kode verifikasi email. Coba lagi.

ForbidByClientVersionForBusiness

ID organisasi untuk edisi bisnis. Anda harus meningkatkan klien saat ini ke versi terbaru untuk login.

ForbidByPasswordPolicy

Gagal mengubah kata sandi. Administrator IT Anda telah menonaktifkan fitur "Ubah Kata Sandi Login".

FOTA_DESKTOP_IN_USE

Cloud phone "%s" sedang digunakan. Putuskan koneksi darinya dan coba perbarui lagi.

FOTA_SNAPSHOT_IN_PROGRESS

Citra tidak dapat diperbarui karena snapshot sistem sedang dibuat untuk cloud phone "%s". Coba lagi nanti.

GuestOperateDesktopFail

Gagal mematikan atau me-restart cloud phone.

GuestOperateDesktopTimeout

Operasi shutdown atau restart yang Anda lakukan di cloud phone gagal karena timeout respons.

GuestRebootOperateFail

Gagal me-restart cloud phone.

GuestRebootOperateTimeout

Operasi restart yang Anda lakukan di cloud phone gagal karena timeout respons.

GuestStopOperateFail

Gagal mematikan cloud phone.

GuestStopOperateTimeout

Operasi shutdown yang Anda lakukan di cloud phone gagal karena timeout respons.

InvalidDirectoryType

Pengguna RAM sedang offline. Hubungi administrator IT Anda.

InvalidEmailVerifyCode

Kode verifikasi email salah. Masukkan kembali.

InvalidMfaDeviceStatus

Perangkat otentikasi multi-faktor virtual tidak valid. Gunakan perangkat yang terkait dengan akun Anda.

InvalidPassword

Username atau kata sandi salah.

LoginError.MissingConcatForVerify

Verifikasi identitas tidak dapat diselesaikan karena akun ini adalah akun yang diaktifkan administrator. Hubungi administrator IT Anda.

LoginForbidden

Login gagal. Autentikasi perangkat tepercaya diaktifkan untuk jaringan kantor atau organisasi. Minta administrator untuk menonaktifkan autentikasi perangkat tepercaya atau menambahkan terminal saat ini sebagai perangkat tepercaya secara manual.

LoginForbidden.LockedByAdmin

Akun convenience terkunci. Hubungi administrator IT Anda untuk membukanya secara manual.

LoginForbiddenByDevice

Login gagal. Administrator telah menentukan bahwa terminal ini hanya dapat dilogin oleh pengguna tertentu. Akun saat ini tidak termasuk dalam rentang yang ditentukan.

LoginForbiddenByUntrustedDevice

Login gagal. Administrator telah mengaktifkan "Blokir Login Terminal Tidak Tepercaya". Administrator perlu menambahkan terminal ini sebagai perangkat tepercaya atau menonaktifkan fitur ini.

LoginForbiddenByUser

Login gagal. Administrator telah mengaktifkan pembatasan terminal login pengguna. Login dari terminal yang ditentukan.

MfaClientNotSupport

Versi klien terlalu lama dan tidak mendukung metode otentikasi multi-faktor ini. Tingkatkan klien.

MfaNotAllowed

Akun Anda tidak memiliki informasi yang diperlukan untuk metode otentikasi multi-faktor ini. Hubungi administrator IT Anda untuk menambahkan informasi tersebut.

MfaTypeNotAllowed

Administrator IT Anda belum mengaktifkan metode otentikasi multi-faktor ini.

MfaUserGoingToBeLocked

Kode verifikasi salah. Jika Anda memasukkan kode salah sebanyak 10 kali berturut-turut, akun Anda akan dikunci selama 20 menit.

MfaUserNotExist

Akun ini telah dihapus. Hubungi administrator IT Anda untuk detailnya.

MfaVerifyCodeDiscarded

Kode verifikasi tidak valid. Dapatkan kembali.

PhoneIsNotRegistered

Nomor ponsel salah, atau administrator belum mengaitkan nomor ponsel dengan akun tersebut.

SessionForceQuit

Anda telah logout otomatis. Penyebab: Anda telah logout dari terminal lain, atau jumlah terminal login melebihi batas yang ditetapkan oleh administrator IT.

StartApplicationGuestTimeout

Sinyal jaringan tidak stabil, dan aplikasi gagal dijalankan. Coba lagi.

StartDesktopFail

Gagal menjalankan cloud phone.

ThrottlingSendEmailVerifyCodeLimit

Anda hanya dapat mengirim kode verifikasi sekali per menit.

UnavailableDesktop.2907

Koneksi ke cloud phone gagal karena layanan protokol masih dalam proses startup. Sambungkan kembali nanti atau restart cloud phone. Jika koneksi tetap gagal, hubungi administrator IT Anda.

7. FAQ

Bagaimana cara menonaktifkan DesktopAssistant?

Anda dapat menonaktifkan DesktopAssistant saat menginisialisasi uiConfig selama fase pembuatan sesi (createSession).

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

Bagaimana cara mengirim perintah ADB melalui saluran ASP?

Anda dapat menginisialisasi lyncChannelConfig saat membuat sesi (createSession).

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

Saat Anda perlu mengirim perintah, Anda dapat memanggil session.sendLyncMessage, misalnya:

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

Untuk menerima hasil eksekusi perintah, Anda dapat menambahkan listener session.addLyncListener, misalnya:

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

Perintah umum:

Fitur

Perintah

Tombol kembali

input keyevent KEYCODE_BACK

Tombol home

input keyevent KEYCODE_HOME

Ganti kunci

input keyevent KEYCODE_APP_SWITCH

Bisukan

input keyevent 164

Volume naik

input keyevent KEYCODE_VOLUME_UP

Volume turun

input keyevent KEYCODE_VOLUME_DOWN

Sembunyikan bilah navigasi

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

Tampilkan bilah navigasi

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

Ambil tangkapan layar

screencap -p /sdcard/Download/abc.png

FAQ tentang penggunaan kamera

  • Saat Anda menggunakan demo untuk menghubungkan ke Cloud Phone, browser mengontrol izin kamera. Oleh karena itu, URL demo harus dimulai dengan https agar kamera dapat digunakan dengan benar.

  • Dalam kasus penggunaan khusus, seperti saat hanya kamera depan atau belakang pada klien yang diperlukan, Anda harus menerapkan pengaturan berikut.

// Kamera depan
session.setLocalConfig('setCameraType', 1);
// Kamera belakang
session.setLocalConfig('setCameraType', 2);

FAQ tentang penggunaan clipboard

  • Clipboard tidak berfungsi

    • Periksa apakah izin clipboard diaktifkan di browser.

    • Di Konsol Cloud Phone, periksa kebijakan yang terkait dengan instans untuk memastikan kebijakan clipboard diaktifkan untuk transfer dua arah.