Topik ini menjelaskan solusi integrasi menyeluruh untuk Cloud Phone dan praktik terbaik untuk integrasi sisi server.
Solusi menyeluruh
Gambar berikut menunjukkan solusi integrasi menyeluruh untuk Cloud Phone.
Server Cloud Phone: Menyediakan kemampuan dasar seperti manajemen instans, manajemen koneksi, manajemen kunci, dan manajemen aplikasi untuk integrasi sisi server dan sisi client Anda.
Server Anda: Berintegrasi dengan OpenAPI Cloud Phone untuk menjalankan fungsi seperti penjadwalan instans dan autentikasi pengguna.
Client Anda: Berintegrasi dengan software development kit (SDK) Cloud Phone. Misalnya, Anda dapat mengintegrasikan SDK Android Cloud Phone ke dalam client Android Anda atau mengintegrasikan SDK Windows Cloud Phone ke dalam client Windows Anda. Setelah autentikasi, client Anda menggunakan protokol ASP Cloud Phone untuk terhubung ke cloud phone melalui stream gateway Cloud Phone.
Praktik terbaik integrasi sisi server
Saat melakukan integrasi sisi server, tugas utama Anda adalah mengelola penjadwalan instans dan autentikasi pengguna serta menyediakan API yang dapat dipanggil oleh client Anda. Bagian berikut menjelaskan praktik terbaik untuk tugas-tugas tersebut.
Model bisnis
Cloud Phone mendukung kelompok instans, yang memungkinkan Anda membuat beberapa cloud phone dalam satu kelompok. Kami merekomendasikan rasio 1:1 antara kelompok instans dan instans, artinya hanya membuat satu cloud phone per kelompok instans. Pendekatan ini menyederhanakan operasi selanjutnya seperti mengganti image.
Cloud Phone juga mendukung matriks cloud phone. Anda dapat membuat beberapa cloud phone dalam satu matriks cloud phone.
Penjadwalan instans
Jadwalkan instans cloud phone di bawah Akun Alibaba Cloud Anda. Ini mencakup tugas-tugas berikut:
Pembuatan cloud phone: Buat cloud phone sesuai kebutuhan. Anda dapat membuatnya secara manual di Konsol atau secara dinamis dengan memanggil operasi API CreateInstanceGroup.
Penghapusan cloud phone: Hapus cloud phone ketika tidak lagi diperlukan. Anda dapat menghapusnya secara manual di Konsol atau melepasnya secara dinamis dengan memanggil operasi API DeleteInstanceGroup.
Maintenance pool cloud phone:
Ketika client memulai koneksi, ambil cloud phone yang idle dari pool untuk koneksi tersebut dan atur statusnya menjadi 'in-use'.
Ketika client memutus koneksi, ubah status cloud phone dari 'in-use' menjadi 'idle'. Jika diperlukan, panggil operasi API
RunCommanduntuk menghapus file terkait dan menghilangkan jejak pengguna sebelumnya.
Pemantauan status pool cloud phone: Saat penggunaan pool mencapai ambang batas tertentu, misalnya 80%, picu peringatan dan lakukan scaling out pool secara dinamis atau manual.
Penjadwalan cloud phone yang dipercepat: Untuk memastikan koneksi cepat, pertimbangkan traffic konkuren puncak untuk bisnis Anda dan pastikan selalu tersedia cloud phone aktif yang siap dijadwalkan.
Integrasi sistem akun dan koneksi login
Cloud Phone mendukung beberapa metode login:
Login tanpa otorisasi (mode ticket): Mode login ini memungkinkan Anda menetapkan pengguna temporary untuk terhubung ke cloud phone tanpa memerlukan login yang diotorisasi. Hanya cloud phone yang dibuat setelah fitur ini diaktifkan yang dapat menggunakan login tanpa otorisasi. Server Anda memanggil operasi API BatchGetAcpConnectionTicket (untuk informasi lebih lanjut, lihat Batch get connection credentials for instances) untuk mendapatkan ticket berdasarkan UID pengguna unik dan ID instans cloud phone. Anda kemudian dapat meneruskan ticket tersebut ke SDK client untuk terhubung ke instans cloud phone.
Login tanpa otorisasi (mode kode otorisasi): Setelah Anda mengaktifkan login tanpa otorisasi, Anda dapat menggunakan string unik apa pun yang merepresentasikan pengguna untuk mendapatkan kode otorisasi (AuthCode). Untuk informasi lebih lanjut, lihat Get an authorization code. Anda kemudian dapat meneruskan AuthCode tersebut ke SDK client untuk terhubung ke cloud phone mana pun di bawah Akun Alibaba Cloud saat ini. AuthCode menjadi tidak valid setelah satu kali digunakan. Untuk login kembali, Anda harus mendapatkan AuthCode baru.
Metode tanpa otorisasi lebih fleksibel karena tidak mengharuskan Anda memelihara pemetaan antara akun bisnis Anda dan akun convenience Cloud Phone. Kami merekomendasikan Anda menggunakan solusi login tanpa otorisasi saat mengintegrasikan Cloud Phone.
Untuk mengaktifkan login tanpa otorisasi, kirimkan ticket dan berikan UID Akun Alibaba Cloud Anda.
Login akun convenience: Mode login ini menggunakan sistem pengguna Cloud Phone dan otorisasi akses untuk memastikan bahwa pengguna yang login ke cloud phone adalah pengguna tepercaya. Pertama, buat akun convenience di sistem pengguna Cloud Phone. Untuk informasi lebih lanjut, lihat CreateUsers - Create convenience accounts. Kemudian, tetapkan akun convenience yang diotorisasi ke cloud phone tersebut. Untuk informasi lebih lanjut, lihat Assign and unassign users for instances. Setelah memberikan otorisasi, Anda dapat login ke client Cloud Phone (halaman unduh: Cloud Phone client download page) dan terhubung ke cloud phone. Untuk login dan terhubung ke cloud phone dari SDK client menggunakan akun convenience, peroleh LoginToken dan SessionId berdasarkan username, password akun convenience, serta ID jaringan yang terikat ke cloud phone. Untuk informasi lebih lanjut, lihat Get logon credentials. Kemudian, teruskan LoginToken dan SessionId tersebut ke SDK client untuk terhubung ke cloud phone yang diotorisasi.
Otentikasi pengguna dan koneksi ke cloud phone (login tanpa otorisasi dengan ticket)
Otentikasi pengguna merupakan bagian dari integrasi sisi server. Server Anda harus melakukan tugas-tugas berikut untuk mendapatkan ticket agar pengguna dapat terhubung ke cloud phone.
Koneksi ke cloud phone merupakan bagian dari integrasi sisi client. Anda dapat meneruskan ticket tersebut ke client untuk terhubung ke cloud phone.
Kueri cloud phone: Server memanggil operasi API Query detailed information about instances untuk mengambil
AndroidInstanceIddari cloud phone yang ingin dihubungkan.Peroleh ticket: Server harus menyiapkan EndUserId terlebih dahulu. EndUserId dapat berupa string unik apa pun. Server kemudian memanggil operasi API Batch get connection credentials for instances dengan AndroidInstanceId dan EndUserId untuk mendapatkan
Ticket.Inisialisasi sesi: Untuk client web, client memanggil
wuyingSdk.createSession()untuk menginisialisasi sesi.Buat koneksi: Untuk client web, client memanggil
session.start()untuk membuat koneksi.Putuskan koneksi: Untuk client web, client memanggil
session.stop()untuk memutus koneksi dari sesi.
Referensi
Koneksi ke cloud phone merupakan tugas sisi client. Untuk informasi lebih lanjut, lihat dokumen SDK berikut: