Unggahan klien memungkinkan aplikasi seluler, halaman web, dan mini program mengunggah file media langsung ke bucket Object Storage Service (OSS) yang dikelola oleh ApsaraVideo VOD. File tidak melewati server aplikasi Anda, sehingga mengurangi biaya bandwidth server dan menyederhanakan arsitektur sistem. Karena kredensial AK/SK permanen tidak boleh disematkan dalam aplikasi klien, unggah SDK klien menggunakan kredensial unggah berdurasi pendek yang dikeluarkan oleh layanan otorisasi backend Anda (AppServer) untuk mengotentikasi setiap sesi unggah.
Cara kerja unggah klien
Unggah SDK klien dibangun di atas OSS SDK. Saat klien mengunggah file, SDK menangani seluruh logika unggah multi-bagian dan unggah yang dapat dilanjutkan di balik layar. File dikirim langsung dari perangkat klien ke bucket OSS ApsaraVideo VOD. AppServer Anda hanya mengeluarkan kredensial dan tidak pernah menyentuh konten file.
Unggah klien mengikuti proses tiga tahap:
Klien mengirim permintaan HTTP ke AppServer Anda dengan metadata media (seperti
Title,FileName,CateId, danTags).AppServer memperoleh kredensial unggah dari VOD atau STS dan mengembalikannya ke klien.
Klien menggunakan kredensial tersebut untuk mengunggah file langsung ke OSS. Setelah unggah selesai, SDK memicu callback sukses dan VOD secara otomatis memulai pipeline transkoding dan pemrosesan.
Fitur inti
Unggah multi-bagian
Unggah multi-bagian membagi file besar menjadi bagian-bagian lebih kecil dan mengunggahnya secara paralel. Hal ini meningkatkan kecepatan dan keandalan unggah untuk file media besar, karena kegagalan jaringan hanya memerlukan pengulangan bagian yang gagal, bukan mengunggah ulang seluruh file. Unggah multi-bagian diaktifkan secara default di semua unggah SDK klien dan tidak memerlukan konfigurasi tambahan.
Unggah yang dapat dilanjutkan
Unggah yang dapat dilanjutkan memungkinkan SDK melanjutkan unggah yang terputus dari bagian terakhir yang berhasil diunggah, bukan memulai dari awal. Saat unggah terputus karena pemutusan jaringan, aplikasi masuk latar belakang, atau perangkat tidur, SDK menyimpan data checkpoint secara internal. Setelah koneksi dipulihkan dan aplikasi dilanjutkan, SDK secara otomatis melanjutkan dari checkpoint tanpa intervensi developer.
Kontrol unggah
Unggah SDK menyediakan API terprogram untuk memulai, menghentikan, menjeda, dan melanjutkan unggah individual. Fitur ini berguna saat Anda perlu menghormati tindakan yang diprakarsai pengguna, seperti membatalkan unggah saat pengguna berpindah halaman, atau mengelola konkurensi unggah dalam skenario batch. Anda mengontrol seluruh siklus hidup unggah sepenuhnya melalui pemanggilan metode SDK.
Callback progres
SDK menyediakan callback progres terperinci yang melaporkan persentase data yang telah diunggah untuk setiap file. Gunakan callback ini untuk memperbarui bilah progres, menampilkan kecepatan unggah, atau memicu logika kondisional, seperti menonaktifkan elemen UI tertentu selama unggah berlangsung. Callback progres dipicu secara berkala selama unggah, memberikan visibilitas real-time terhadap status transfer.
Peralihan jaringan
Klien seluler sering berpindah antara jaringan Wi-Fi dan jaringan seluler. SDK mendukung penjedaan dan pelanjutan unggah untuk menangani transisi ini. Untuk menghindari penggunaan data seluler, panggil metode pause saat perangkat beralih ke jaringan seluler dan panggil metode resume saat Wi-Fi dipulihkan. Aplikasi Anda harus mengimplementasikan logika deteksi transisi jaringan.
Unggah batch
SDK mengelola antrian unggah yang mendukung penambahan, penghapusan, pembatalan, pelanjutan, dan traversal beberapa file. Anda dapat mengosongkan seluruh antrian atau memanipulasi entri individual. Unggah batch berguna dalam skenario di mana pengguna memilih beberapa file media sekaligus, seperti unggah galeri foto, dan SDK menjadwalkannya secara berurutan atau paralel berdasarkan sumber daya yang tersedia.
Dukungan metadata
Saat memperoleh kredensial unggah, Anda dapat melampirkan metadata ke aset media yang sedang diunggah. Bidang metadata yang didukung mencakup Title, Tags, CateId, CoverURL, TemplateGroupId, dan WorkflowId. Menetapkan metadata pada tahap kredensial memastikan bahwa aset media langsung dikaitkan dengan kategori, tag, dan alur kerja pemrosesan yang tepat setelah unggah selesai, sehingga menghilangkan kebutuhan pemanggilan API terpisah untuk memperbarui properti media.
Platform dan versi yang didukung
Platform | Versi saat ini | Minimal persyaratan sistem |
Web (JavaScript) | Browser modern (Chrome, Safari, Firefox, Edge) | |
Android | Android 5.0+ | |
iOS | iOS 12.0+ | |
Mini program WeChat | Pustaka dasar WeChat 2.x+ |
Untuk nomor versi terbaru dan tautan unduhan, lihat Catatan rilis unggah SDK.
Kepatuhan privasi dan penagihan
Kepatuhan privasi
Unggah SDK klien dirancang untuk disematkan dalam aplikasi yang didistribusikan melalui toko aplikasi. SDK tidak mengumpulkan data pribadi apa pun. Untuk persyaratan kepatuhan saat mendistribusikan aplikasi dengan integrasi SDK, lihat Perjanjian Layanan.
Penagihan
Unggah SDK klien itu sendiri gratis digunakan. Biaya terkait dengan sumber daya ApsaraVideo VOD yang dikonsumsi selama dan setelah unggah:
Item penagihan | Deskripsi |
Biaya penyimpanan | Ditagih berdasarkan volume penyimpanan file media yang diunggah dan durasi penyimpanan. |
Biaya trafik | Trafik unggah (lalu lintas masuk dari klien ke OSS) gratis. Trafik pemutaran downstream ditagih secara terpisah. |
Biaya transkoding | Jika transkoding dipicu setelah unggah, Anda dikenai biaya berdasarkan durasi file output dan spesifikasi transkoding. Tidak ada biaya jika transkoding tidak dilakukan. |
Biaya akselerasi unggah | Ditagih berdasarkan volume data yang diakselerasi dengan skema bayar sesuai penggunaan saat akselerasi unggah diaktifkan. Untuk informasi harga, lihat Ikhtisar penagihan. Hubungi perwakilan penjualan Anda untuk konsultasi. |
Trafik unggah (lalu lintas masuk dari klien ke OSS) tidak dikenai biaya. Untuk informasi lebih lanjut tentang penagihan VOD, lihat Ikhtisar penagihan.