All Products
Search
Document Center

ApsaraVideo VOD:Persiapan Integrasi

Last Updated:Sep 11, 2026

Topik ini menjelaskan langkah-langkah dan prasyarat untuk mengintegrasikan AliPlayerKit ke dalam proyek Anda.

Catatan

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

Penting

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 playerkit.

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.

Catatan

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.

Penting

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" />          
Catatan
  • Pastikan elemen <meta-data> berada di dalam elemen <application> dan atribut name-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 --info

Jika 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.

Catatan

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

scene-common

Modul skenario umum. Berisi konstanta video contoh. Lewati modul ini jika Anda mengimplementasikan sumber video sendiri.

scene-longvideo

Contoh skenario video panjang.

scene-shortvideo

Contoh skenario video pendek.

scene-live

Contoh skenario live streaming.

scene-playlist

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/
# ...         
Penting
  • 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-common menyediakan 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

scene-longvideo

demo-settings, scene-common

Hapus demo-settings. Pertahankan scene-common hanya jika diperlukan.

scene-live

demo-settings, scene-common

Hapus demo-settings. Pertahankan scene-common hanya jika diperlukan.

scene-shortvideo

scene-common

Pertahankan scene-common hanya jika diperlukan.

scene-playlist

scene-common

Pertahankan scene-common hanya jika diperlukan.

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       
Catatan

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

  1. Periksa kompatibilitas versi

    Sebelum melakukan peningkatan, tinjau riwayat rilis dan log pembaruan SDK. Periksa apakah versi target memperkenalkan perubahan breaking atau penyesuaian kompatibilitas lainnya.

  2. 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"            
  3. Verifikasi peningkatan:

    • Bersihkan dan bangun ulang proyek Anda:

      ./gradlew clean assemble --stacktrace --info                
    • Uji fungsi pemutaran inti: play, pause, seek, dan kecepatan pemutaran.

    • Uji skenario pemutaran spesifik, seperti pemutaran live ultra-latensi rendah Streaming Real-Time (RTS).

Catatan

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:

  1. Konfirmasi bahwa Anda telah mengonfigurasi sertifikat dan kunci lisensi dengan benar.

  2. Periksa apakah lisensi Anda telah kedaluwarsa.

  3. Konfirmasi bahwa nama package aplikasi Anda sesuai dengan nama package yang terikat pada lisensi.

  4. 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:

  1. Periksa apakah proyek Anda sudah berisi versi berbeda dari dependensi yang sama.

  2. Gunakan exclude untuk menghapus dependensi yang bertentangan.

  3. Standarisasi versi dependensi di seluruh proyek Anda.

  4. 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:

  1. Konfirmasi bahwa Context tidak null.

  2. Panggil metode tersebut di Application.onCreate().

  3. 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 build.gradle.

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 build.gradle. Gunakan atribut package di AndroidManifest.xml sebagai gantinya.

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.