Topik ini menjelaskan langkah-langkah dan prasyarat untuk mengintegrasikan AliPlayerKit ke dalam proyek Anda.
Dokumen ini disusun dengan langkah-langkah yang jelas untuk parsing dan eksekusi oleh AI. Anda dapat menggunakannya sebagai Skill untuk membantu alur kerja pengembangan Anda. Kami merekomendasikan penggunaan AI untuk membantu integrasi AliPlayerKit.
Ikhtisar Integrasi
Pastikan Anda telah mengunduh proyek dari repositori AliPlayerKit.
AliPlayerKit menyediakan dua opsi integrasi. Anda dapat memilih salah satu yang sesuai dengan kebutuhan bisnis Anda. Kami akan segera merilis Skills khusus untuk meningkatkan dukungan integrasi:
Solusi Integrasi | Deskripsi | Kasus penggunaan |
Integrasi tingkat komponen | Integrasikan modul inti | Anda perlu menyesuaikan UI player atau mengontrol perilaku pemutaran secara fleksibel. |
Integrasi tingkat skenario | Integrasikan modul skenario di atas lapisan komponen. | Anda ingin segera menerapkan skenario pemutaran standar. |
Lapisan skenario bergantung pada lapisan komponen. Jika Anda memilih integrasi tingkat skenario, Anda harus menyelesaikan integrasi tingkat komponen terlebih dahulu.
Prasyarat
Konfigurasikan Lingkungan Pengembangan Anda
Sebelum menggunakan AliPlayerKit, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:
JDK 11
Anda dapat mengonfigurasi JDK di Preferences → Build, Execution, Deployment → Build Tools → Gradle → Gradle JDK.
Pilih versi 11. Jika versi 11 tidak tersedia, Anda harus melakukan upgrade Android Studio.
Lingkungan pengembangan Android
Instal versi terbaru Android Studio.
Konfigurasikan Android SDK. Level API minimum yang didukung adalah 21 (Android 5.0).
Kami merekomendasikan menggunakan compileSdkVersion 31 atau lebih baru.
Versi Gradle Anda harus 7.0 atau lebih baru.
Siapkan Lisensi Anda
Dapatkan sertifikat lisensi dan kunci lisensi untuk ApsaraVideo Player SDK. Untuk informasi lebih lanjut, lihat Mengelola Lisensi.
Jika Anda tidak mengonfigurasi lisensi dengan benar, player tidak akan berfungsi dan dapat melemparkan exception otorisasi.
Opsi 1: Integrasi Tingkat Komponen
Modul inti playerkit menyediakan komponen UI player siap pakai yang dapat dikonfigurasi. Modul ini mendukung pemutaran dasar dan interaksi umum.
Langkah 1: Salin Modul Komponen
Salin direktori modul inti playerkit (library) ke dalam proyek Anda:
# Salin modul inti playerkit ke direktori root proyek Anda
# Catatan: Salin hanya direktori playerkit—bukan seluruh proyek atau modul contoh seperti playerkit-examples atau playerkit-scenes
cp -r playerkit /path/to/your/project/Langkah 2: Konfigurasikan Proyek Gradle Anda
Konfigurasikan Repositori Maven
Tambahkan repositori Maven Alibaba Cloud ke proyek Anda:
repositories {
// aliyun maven
maven { url "https://maven.aliyun.com/repository/releases" }
}repositories {
// aliyun maven
maven("https://maven.aliyun.com/repository/releases")
}Tambahkan Referensi Modul
include ':playerkit'include(":playerkit")Tambahkan Dependensi Modul
dependencies {
// AliPlayerKit core module: Provides an out-of-the-box, configurable player UI component. Supports basic playback and common interactions.
implementation project(':playerkit')
}dependencies {
// AliPlayerKit core module: Provides an out-of-the-box, configurable player UI component. Supports basic playback and common interactions.
implementation(project(":playerkit"))
}Langkah 3: Konfigurasikan Lisensi Anda
Tambahkan File Sertifikat Lisensi
Letakkan file sertifikat lisensi di direktori src/main/assets/cert/ modul aplikasi Anda.
Tambahkan Konfigurasi Lisensi
Tambahkan konfigurasi berikut ke file AndroidManifest.xml modul aplikasi Anda:
<meta-data
android:name="com.aliyun.alivc_license.licensekey"
android:value="Your License Key" />
<meta-data
android:name="com.aliyun.alivc_license.licensefile"
android:value="assets/cert/license.crt" /> Pastikan elemen
<meta-data>berada di dalam elemen<application>dan atributname-nya benar.Jika layanan ApsaraVideo Player SDK Anda dideploy di luar Tiongkok, lihat Integrasikan Lisensi di Android untuk instruksi konfigurasi.
Untuk contoh konfigurasi lengkap, lihat modul
demo-app.
Langkah 4: Verifikasi Integrasi
Sinkronkan dan Kompilasi Proyek Anda
Sinkronkan Gradle dan kompilasi proyek Anda untuk memastikan dependensi dan konfigurasi modul sudah benar:
./gradlew clean assemble --stacktrace --infoJika kompilasi berhasil dan tidak ada error dependensi, modul playerkit telah direferensikan dengan benar.
Catat Versi Integrasi (Direkomendasikan)
Setelah integrasi selesai dan berhasil dikompilasi, jalankan git commit untuk mencatat ID commit saat ini dari kode sumber komponen. Catatan ini berfungsi sebagai garis dasar untuk versi integrasi. Hal ini membantu melacak peningkatan atau perubahan kode sumber di masa depan. Catatan ini juga mendukung kontrol kualitas selama integrasi serta mempercepat troubleshooting atau dukungan teknis. Contohnya:
git add .
git commit -m "feat: integrate AliPlayerKit module (source commit: 2c30d92)" Opsi 2: Integrasi Tingkat Skenario
Lapisan skenario menyediakan contoh pemutaran untuk skenario bisnis tertentu, seperti video panjang, video pendek, live streaming, dan putar balik daftar. Setiap modul skenario merupakan contoh mandiri. Anda dapat memilih modul yang sesuai dengan kebutuhan bisnis Anda dan mengintegrasikannya secara langsung.
Prasyarat: Lapisan skenario bergantung pada lapisan komponen. Anda harus menyelesaikan integrasi tingkat komponen sebelum memulai integrasi tingkat skenario.
Langkah 1: Salin Modul Skenario
Salin modul skenario yang diperlukan ke dalam proyek Anda berdasarkan kebutuhan bisnis Anda:
Modul | Deskripsi |
| Modul skenario umum. Berisi konstanta video contoh. Lewati modul ini jika Anda mengimplementasikan sumber video sendiri. |
| Contoh skenario video panjang. |
| Contoh skenario video pendek. |
| Contoh skenario live streaming. |
| Contoh skenario putar balik daftar. |
# scene-common includes sample video constants. Skip it if you implement your own video source.
cp -r playerkit-scenes/scene-common /path/to/your/project/
# Choose other scenario modules as needed.
cp -r playerkit-scenes/scene-longvideo /path/to/your/project/
cp -r playerkit-scenes/scene-live /path/to/your/project/
# ... Jangan salin modul
demo-settings. Modul ini hanya digunakan untuk keperluan demo dan menyediakan fitur seperti konfigurasi kode QR dan penyimpanan tautan pemutaran.Modul
scene-commonmenyediakan konstanta video contoh. Anda dapat melewatkan modul ini jika sudah mengimplementasikan logika sumber video sendiri.
Langkah 2 (Opsional): Selesaikan Dependensi Modul
File build.gradle modul skenario bergantung pada demo-settings dan scene-common. Sesuaikan dependensi ini berdasarkan kebutuhan Anda:
Modul | Dependensi | Aksi selama integrasi |
|
| Hapus |
|
| Hapus |
|
| Pertahankan |
|
| Pertahankan |
Hapus Dependensi demo-settings
Modul scene-longvideo dan scene-live mereferensikan demo-settings di file build.gradle mereka. Anda harus menghapus referensi tersebut:
dependencies {
// ...
// Delete this line: demo-settings is used only for demos.
// implementation project(':demo-settings')
} Atasi Dependensi scene-common
Modul scene-common menyediakan konstanta video contoh, seperti SceneConstants. Anda dapat memilih untuk:
Mempertahankan dependensi: Gunakan video contoh untuk pengujian.
Menghapus dependensi: Jika Anda mengimplementasikan sumber video sendiri, hapus dependensi dari file
build.gradle.
dependencies {
// ...
// Comment out or delete this line if you implement your own video source.
// implementation project(':scene-common')
} Ganti Kode Sumber Video
Setelah Anda menghapus dependensi demo-settings atau scene-common, Anda harus memperbarui logika sumber video di Activity Anda:
Logika sumber video asli:
// ===== Original code (uses demo-settings / scene-common)=====
import com.aliyun.playerkit.example.settings.link.LinkConstants;
import com.aliyun.playerkit.example.settings.storage.SPManager;
import com.aliyun.playerkit.scenes.common.SceneConstants;
private String getVideoVid() {
String savedVid = SPManager.getInstance().getString(LinkConstants.KEY_VIDEO_VID);
return StringUtil.isNotEmpty(savedVid) ? savedVid : SceneConstants.LANDSCAPE_SAMPLE_VID;
}Logika sumber video yang diperbarui:
// ===== Updated (use your video source)=====
private String getVideoVid() {
return "Your video Vid"; // Or fetch it from your business API.
}
private String getVideoPlayAuth() {
return "Your PlayAuth"; // Or fetch it from your business API.
} Langkah 3: Konfigurasikan Proyek Gradle Anda
Tambahkan Referensi Modul
include ':scene-common'
include ':scene-longvideo'
// Add other scenario modules as needed...include(":scene-common")
include(":scene-longvideo")
// Add other scenario modules as needed...Tambahkan Dependensi Modul
dependencies {
// AliPlayerKit scenario modules: Built on the AliPlayerKit core component. Provide out-of-the-box standard playback solutions.
// Long-form video scenario module: Provides a complete solution for long-form video playback.
implementation project(':scene-longvideo')
}dependencies {
// AliPlayerKit scenario modules: Built on the AliPlayerKit core component. Provide out-of-the-box standard playback solutions.
// Long-form video scenario module: Provides a complete solution for long-form video playback.
implementation(project(":scene-longvideo"))
}Langkah 4: Verifikasi Integrasi
Sinkronkan Gradle dan kompilasi proyek Anda untuk memastikan dependensi dan konfigurasi modul sudah benar:
./gradlew clean assemble --stacktrace --info Setelah mengintegrasikan modul skenario, jalankan git commit untuk mencatat ID commit. Hal ini membantu pelacakan di masa depan.
(Opsional) Panduan Peningkatan SDK
AliPlayerKit bergantung pada SDK berikut:
SDK | Deskripsi |
AliPlayer SDK | ApsaraVideo Player SDK. Menyediakan kemampuan pemutaran inti seperti decoding video, rendering, dan kontrol pemutaran. |
RtsSDK | Alibaba Cloud RTS SDK. Memungkinkan pemutaran live ultra-latensi rendah Streaming Real-Time (RTS) dengan delay tingkat milidetik. |
Untuk meningkatkan versi SDK yang mendasari, ikuti langkah-langkah berikut.
Lihat Informasi Versi
Versi SDK saat ini yang digunakan oleh AliPlayerKit didefinisikan dalam file playerkit/build.gradle.
Anda dapat melihat versi terbaru dan dokumentasi SDK terkait di tautan berikut:
Langkah Peningkatan
Periksa kompatibilitas versi
Sebelum melakukan peningkatan, tinjau riwayat rilis dan log pembaruan SDK. Periksa apakah versi target memperkenalkan perubahan breaking atau penyesuaian kompatibilitas lainnya.
Perbarui nomor versi
Di file
playerkit/build.gradle, perbarui nomor versi SDK:def player_sdk_version = "x.x.x" // Replace with your target version api "com.aliyun.sdk.android:AliyunPlayer:$player_sdk_version-full" // RtsSDK version must match the player SDK version. def rts_sdk_version = "x.x.x" // Replace with your target version api "com.aliyun.rts.android:RtsSDK:$rts_sdk_version"Verifikasi peningkatan:
Bersihkan dan bangun ulang proyek Anda:
./gradlew clean assemble --stacktrace --infoUji fungsi pemutaran inti: play, pause, seek, dan kecepatan pemutaran.
Uji skenario pemutaran spesifik, seperti pemutaran live ultra-latensi rendah Streaming Real-Time (RTS).
Setelah meningkatkan SDK, catat nomor versi lama dan baru. Hal ini membantu troubleshooting dan pelacakan versi.
FAQ
Masalah Lisensi
Masalah: Player menampilkan error lisensi.
Solusi:
Konfirmasi bahwa Anda telah mengonfigurasi sertifikat dan kunci lisensi dengan benar.
Periksa apakah lisensi Anda telah kedaluwarsa.
Konfirmasi bahwa nama package aplikasi Anda sesuai dengan nama package yang terikat pada lisensi.
Jika Anda tidak mengonfigurasi lisensi yang benar, pemutaran akan gagal setelah integrasi. Anda mungkin melihat Layar hitam atau perilaku abnormal lainnya.
Konflik Dependensi
Masalah: Sinkronisasi Gradle gagal dengan error konflik dependensi.
Solusi:
Periksa apakah proyek Anda sudah berisi versi berbeda dari dependensi yang sama.
Gunakan
excludeuntuk menghapus dependensi yang bertentangan.Standarisasi versi dependensi di seluruh proyek Anda.
Jika proyek Anda sudah menggunakan library pihak ketiga yang sama, sesuaikan nomor versi di modul playerkit untuk memastikan kompatibilitas dan menghindari konflik.
Inisialisasi Gagal
Masalah: Pemanggilan AliPlayerKit.init() melemparkan exception.
Solusi:
Konfirmasi bahwa Context tidak null.
Panggil metode tersebut di
Application.onCreate().Periksa adanya pemanggilan duplikat. Pemanggilan duplikat diabaikan dan tidak melemparkan exception.
Masalah Konfigurasi Versi SDK
Masalah: Kompilasi gagal dengan error ketidaksesuaian versi SDK.
Solusi:
Pastikan konfigurasi modul playerkit, seperti compileSdkVersion, buildToolsVersion, minSdkVersion, dan targetSdkVersion, sesuai dengan pengaturan proyek Anda.
Masalah Namespace
Masalah: Setelah menyalin modul, kompilasi gagal dengan error terkait namespace.
Solusi:
Setiap file build.gradle modul secara default mendeklarasikan namespace untuk mendukung Android Gradle Plugin (AGP) 7.x dan lebih baru. Sesuaikan pengaturan ini berdasarkan versi AGP Anda:
Versi AGP | Persyaratan konfigurasi |
≥ 8.0 (misalnya, 8.3.2) | Pertahankan deklarasi namespace di |
7.x (misalnya, 7.4.2) | Deklarasi namespace bersifat opsional. Kami merekomendasikan mempertahankannya untuk mendukung peningkatan di masa depan. |
< 7.0 (misalnya, 4.0.1) | Komentari atau hapus deklarasi namespace di |
Lokasi konfigurasi: Di dalam blok android {} di file build.gradle setiap modul.
android {
/// Integration FAQ
/// Notes about namespace declaration:
/// - AGP version ≥ 8.0 (for example, 8.3.2): namespace must be declared.
/// - AGP version < 7.0 (for example, 4.0.1): remove namespace declaration. Use the package attribute in AndroidManifest.xml.
/// - AGP version 7.x: namespace declaration is optional. We recommend declaring it to support future upgrades.
namespace = "com.aliyun.playerkit"
// ...
} Emulator Tidak Didukung
Masalah: Terjadi error saat menjalankan di emulator.
Solusi:
ApsaraVideo Player SDK tidak mendukung emulator. Anda harus menguji di perangkat fisik setelah integrasi.
Konflik Prioritas Repositori
Masalah: Gradle melaporkan konflik saat menyelesaikan prioritas repositori.
Solusi:
Untuk menyelesaikan hal ini, deklarasikan repositori di file settings.gradle Anda.