Mulai dari versi gambar 25.07, Cloud Phone mendukung metode input lokal yang dapat memberikan pengalaman mengetik lebih baik dibandingkan metode input bawaan Cloud Phone dalam beberapa skenario. Panduan ini berlaku untuk Cloud Phone Matrix Edition.
Perbandingan metode input
Metode input lokal diinstal pada perangkat lokal Anda—perangkat yang menjalankan klien Alibaba Cloud Workspace atau menggunakan SDK untuk menampilkan layar Cloud Phone. Saat Anda mengetik di perangkat lokal, teks tersebut langsung muncul di instans Cloud Phone.
Metode input lokal dan metode input bawaan Cloud Phone masing-masing memiliki kelebihan dan kekurangan, sehingga cocok untuk kasus penggunaan yang berbeda. Tabel berikut membandingkan keduanya.
Item perbandingan | Metode input bawaan Cloud Phone | Metode input lokal | |
Kelebihan |
|
| |
Kekurangan |
|
| |
Metode untuk mengganti sumber input
Gunakan salah satu metode berikut untuk mengganti sumber input. Metode ini berlaku untuk Cloud Phone Matrix Edition.
ADB
Aktivasi pertama kali
Saat pertama kali membuat instans Cloud Phone, aktifkan metode input bawaan.
adb shell settings put secure enabled_input_methods "com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME:com.wuying.wyime/.PseudoImeService"Beralih ke metode input lokal
adb shell ime set com.wuying.wyime/.PseudoImeServiceBeralih ke metode input bawaan Cloud Phone
Contoh ini melibatkan metode input Gboard yang telah dipra-instal. Beralih ke metode input lain dengan cara serupa.
adb shell ime set com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIMEWeb SDK
Dapatkan SDK terbaru (untuk menggunakan metode input lokal) dan demo. Untuk informasi selengkapnya, lihat Web SDK.
Tentukan parameter berikut saat melakukan koneksi.
config.useCustomIme=trueKemudian, ikuti prosedur koneksi biasa. Untuk informasi selengkapnya, lihat demo.
Android SDK
Untuk mengaktifkan Input Method Editor (IME) lokal dengan Android SDK, Anda harus mendengarkan callback status koneksi dari ASP Engine sebelum StreamView terhubung. Setelah menerima callback "koneksi berhasil", aktifkan IME lokal dalam callback tersebut.
Dapatkan SDK terbaru (untuk menggunakan metode input lokal) dan demo. Untuk informasi selengkapnya, lihat Android SDK.
@Override
public void onCreate() {
super.onCreate();
IASPEngineListener listener = new IASPEngineListener() {
@Override
public void onConnectionSuccess(int connectionId) {
mStreamView.getASPEngineDelegate().setImeType(ASPIMEType.ASP_IME_TYPE_LOCAL);
mStreamView.shouldProactivelyShowIME(true);
}
/* Catatan: Anda juga perlu mengimplementasikan antarmuka lainnya. */
}
StreamView streamView = findViewById(R.id.stream_view);
streamView.getASPEngineDelegate().registerASPEngineListener(listener);
/* Prosedur onCreate lainnya */
}Windows SDK
Windows tidak memiliki kerangka kerja aplikasi antarmuka pengguna grafis (GUI) yang terpadu. Oleh karena itu, Windows SDK hanya menyediakan callback status dasar dan antarmuka upstream. Anda harus menangani interaksi dengan metode input selama integrasi.
Untuk menggunakan metode input lokal di Windows, ikuti langkah-langkah berikut:
Implementasikan objek AspIme untuk menerima callback
onImeFocusUpdate.Saat membuat AspClient, panggil
setAspImeuntuk mendaftarkan objek AspIme.Saat
onImeFocusUpdate(true, false)dipanggil, jalankan logika metode input untuk kerangka UI yang sesuai.Saat
onImeFocusUpdate(false, false)dipanggil, sembunyikan metode input untuk kerangka UI yang sesuai.Saat metode input mengirimkan karakter, panggil metode
AspClient::setImeCommituntuk mengirimkan input tersebut.
Kerangka GUI yang berbeda menggunakan antarmuka berbeda untuk berinteraksi dengan metode input. Berikut adalah antarmuka untuk kerangka umum:
Kerangka Qt
Untuk menjalankan metode input:
setAttribute(Qt::WA_InputMethodEnabled, true);Untuk mengambil konten input: Gunakan callback
void inputMethodEvent(QInputMethodEvent *event) override;.
Kerangka WPF
Untuk menjalankan metode input: Implementasikan
System.Windows.Interop.IKeyboardInputSink.Untuk mengambil konten input: Implementasikan
public bool TranslateChar(ref MSG msg, ModifierKeys modifiers);.