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
Unduh Web Client SDK
Unduh Web.SDK.Demo
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.htmlWeb.SDK.Demo adalah proyek Vue. Untuk menjalankan proyek tersebut, lakukan langkah-langkah berikut:
Jalankan perintah berikut di Antarmuka baris perintah (CLI) untuk memeriksa apakah Node.js telah diinstal di lingkungan lokal Anda.
nodeJika pesan
Welcome to Node.jsmuncul, berarti Node.js telah diinstal.Jika pesan tersebut tidak muncul, Anda harus menginstal Node.js.
Jalankan perintah berikut untuk masuk ke direktori root proyek Vue.
CatatanGanti
<ProjectRootPath>dengan path aktual ke direktori root proyek Vue.cd <ProjectRootPath>Jalankan perintah berikut untuk menginstal dependensi proyek.
npm iJalankan perintah berikut untuk menjalankan proyek.
npm run devSetelah perintah dijalankan, URL yang dapat diakses akan dikembalikan.
Untuk menjalankan WuyingWebDemo.html, lakukan langkah-langkah berikut:
Jalankan perintah berikut untuk masuk ke direktori tempat file HTML berada.
CatatanGanti
<HTMLPath>dengan path aktual ke direktori tempat file HTML berada.cd <HTMLPath>Jalankan perintah berikut untuk menjalankan server HTTP.
python3 -m http.serverBuka
http://localhost:8000/WuyingWebDemo.htmldi browser.
1.2 Alur integrasi
1.3 Praktik terbaik
Untuk detail solusi lebih lanjut, lihat Praktik terbaik untuk mengintegrasikan Cloud Phone. Gambar berikut menunjukkan solusi integrasi secara keseluruhan.
Tersedia beberapa metode login untuk mendapatkan tiket yang diperlukan agar SDK dapat terhubung ke Cloud Phone. Gambar berikut menunjukkan bagan alirnya.
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.
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 |
setInputEnabled(param: boolean) enableInput(param: boolean) | Mengaktifkan atau menonaktifkan operasi input.
|
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: |
dataChannel | Saluran data kustom bagi klien dan cloud untuk mengirim serta menerima data. |
lyncChannel | Saluran bagi klien untuk mengirim perintah ADB. |
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 |
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 |
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 |
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: |
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 |
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.