DRM-X 6.0 dove dan logo cabang zaitunDRM-X 6.0Dokumentasi
◎ Bahasa Indonesia

Contoh bahasa pemrograman backend

Memahami aliran pemutaran umum dan menemukan callback yang tepat untuk mengubah Node.js, Django, Laravel, PHP, ASP.NET atau Java.

Lihat MarkdownContoh langsungDiperbarui 2026-09-25

Website Anda memutuskan siapa yang dapat menonton#

Pertahankan sistem login, pembelian, keanggotaan, dan pendaftaran kursus Anda. Aplikasi menyediakan pengguna saat ini dan Content ID yang diizinkan. SDK memanggil DRM-X dan pemutar memuat video terlindungi.

Satu koneksi ke aplikasi yang telah ada

Anda mengelola login dan keputusan izin. SDK serta pemutar menangani pemutaran terlindungi.

  1. Simpan log masuk Anda

    Penonton login melalui situs web Anda yang ada.

  2. Hubungkan lookup Anda

    Aplikasi anda memeriksa akses dan mengembalikan DRM-X Content ID untuk pelajaran terpilih.

  3. Panggilan melalui SDK

    Backend SDK menggunakan kredensial server untuk meminta pemutaran yang sah dari DRM-X.

  4. Tampilkan pemutar

    Pemutar memperoleh lisensi DRM dan memutar konten terenkripsi yang sudah diterbitkan.

Memahami dua ID video#

NilaiContohDari mana asalnya
ID video situslesson-123Pelajaran Anda, produk atau rekaman video.
DRM-X Content IDyour-published-content-idIsi terlindung yang diterbitkan di DRM-X.
ID penggunacustomer-456Sesi login terotentikasi Anda.

Petakan pelajaran Anda ke Content ID menggunakan basis data yang ada, API atau kode aplikasi. Mencari video tidak membuktikan bahwa pengguna ini dapat menontonnya; periksa izin sebelum mengembalikannya.

Siapkan sekali, kemudian mengintegrasikan#

  1. Enkripsi dan terbitkan satu video, lalu salin Content ID-nya.
  2. Buat kredensial pemutaran untuk lingkungan yang sama. Gunakan Site ID, Site Key, dan Access Key di server.
  3. Unduh peralatan lengkap atau perangkat platform Anda. Pasang SDK menggunakan manajer paket Anda.
  4. Hubungkan callback pemeriksaan izin pengguna atas konten, lalu tambahkan pemutar ke halaman.

SDK menggunakan konten yang sudah diterbitkan. SDK tidak menggantikan alat pengemasan atau sistem pembayaran Anda. Dependensi runtime pihak ketiga mungkin memerlukan akses internet saat pemasangan.

Pilih bahasa pemrograman#

Pilih bahasa pemrograman untuk melihat bagian yang perlu diubah.

Node.js / Express

Edit aplikasi Anda: server.mjs

Hubungkan: authorize(userId, videoId)

Kembalikan pemetaan konten yang diizinkan atau null. Baca pengguna dari middleware login yang sudah ada.

Buka tutorial dan perintah pemasangan →

Python / Django

Edit aplikasi Anda: authorization.py

Hubungkan: authorize(user, video_id)

Kembalikan dictionary yang berisi content_id, atau None. Daftarkan sebagai DRMX['AUTHORIZE'] di settings.py.

Buka tutorial dan perintah pemasangan →

PHP / Laravel

Edit aplikasi Anda: app/Services/DrmxAccess.php

Hubungkan: ContentAuthorizer.authorize(user, videoId)

Kembalikan array isi yang berwenang atau null. Ikat layananmu di AppServiceProvider.

Buka tutorial dan perintah pemasangan →

PHP tanpa framework

Edit aplikasi Anda: index.php

Hubungkan: findAuthorizedVideo(userId, videoId)

Kembalikan array isi yang berwenang atau null. Hubungkan identitas sesi PHP yang ada.

Buka tutorial dan perintah pemasangan →

C# / ASP.NET Core

Edit aplikasi Anda: Program.cs

Hubungkan: QuickStartCatalog.FindAuthorizedVideoAsync

Kembali QuickStartVideo atau null. IDrmXContentEntitlement memverifikasi yang diminta Content ID terhadap hasil itu.

Buka tutorial dan perintah pemasangan →

C# / ASP.NET Framework

Edit aplikasi Anda: App_Code/DrmXPlayback.cs

Hubungkan: ApplicationServices.Authorize

Kembalikan true hanya untuk pengguna yang berwenang, Content ID dan jenis isi. Ini adaptor sumber untuk Windows / IIS.

Buka tutorial dan perintah pemasangan →

Java / Spring Boot

Edit aplikasi Anda: DrmxAccess.java

Hubungkan: ContentEntitlement.authorize(userId, videoId)

Kembalikan Optional<AuthorizedVideo> atau Optional.empty(). Hubungkan pengontrol dan bean otorisasi ke repositori yang ada.

Buka tutorial dan perintah pemasangan →

Atur server Anda#

ContohVariabel lingkungan
Node, Django, Java, PHP SDK, LaravelDRMX_SITE_ID, DRMX_SITE_KEY, DRMX_ACCESS_KEY
ASP.NET Core dan FrameworkDRMX_PLAYBACK_SITE_ID, DRMX_PLAYBACK_SITE_KEY, DRMX_PLAYBACK_ACCESS_KEY

Muat ini dalam proses server. Content ID adalah nilai bisnis pervideo; jangan menimpa kredensial terbagi atau konfigurasi global untuk menukar pengguna atau video. Simpan pilihan kebijakan di server.

PHP: hubungkan situs web Anda yang ada#

Unduh perangkat platform ini

SDK versi pratinjau, contoh aplikasi, dan kode sumber. Pertahankan struktur folder hasil ekstraksi.

Semua platform dan kit lengkap · Pahami proses integrasi

  1. Atur

    Lingkungan server

    Atur DRMX_SITE_ID, DRMX_SITE_KEY, dan DRMX_ACCESS_KEY.

  2. Otorisasiexamples/sdk/php/index.php

    Edit findAuthorizedVideo($userId, $videoId) dan baca ID pengguna dari sesi yang ada.

  3. Sematkan

    Halaman pelajaran Anda

    Gunakan kembali markup pemutar dan pertahankan videoId terpilih pada endpoint sesi.

cd examples/sdk/php
composer install
# Set server credentials and DRMX_LOCAL_DEMO=1 for a localhost demo only.
php -S 127.0.0.1:8106 index.php

Untuk pengujian pertama, ganti your-published-content-id di dalam findAuthorizedVideo. Buka http://127.0.0.1:8106/?videoId=1 dan gunakan Local demo sign in. PHP memerlukan dukungan cURL dan ZIP; gunakan PHP 8.2 atau lebih baru.

Untuk aplikasi Anda, ganti fungsi demo dengan pencarian sendiri. Pemanggilan repositori berikut hanya contoh; implementasikan menggunakan database Anda:

function findAuthorizedVideo(string $userId, string $videoId): ?array {
    $video = customerFindAuthorizedVideo($userId, $videoId);
    if ($video === null) return null;
    return ['contentId' => $video['drmx_content_id'],
            'contentType' => 'vod', 'title' => $video['title'],
            'policy' => 'multi-tier-standard'];
}

Baca $userId dari autentikasi server yang biasa digunakan. Pertahankan pemeriksaan origin, validasi permintaan, dan pencocokan konten serta jenis secara tepat dalam contoh. Pilih kebijakan yang sesuai dengan konten terbitan. PlaybackClient menjalankan permintaan DRM-X; komponen ini tidak dapat menyimpulkan aturan pembelian Anda.

Bahasa lain dan integrasi API#

Go, Ruby, dan bahasa server lainnya dapat memanggil API Sesi Pemutaran setelah mengautentikasi pengguna dan memeriksa akses konten. Rilis ini tidak menyertakan pustaka SDK Go atau Ruby. Untuk tujuh jalur integrasi di atas, utamakan SDK yang disertakan.

Periksa sebelum digunakan dalam produksi#

  • Masuk sebagai pengguna yang diperbolehkan dan memutar video yang diterbitkan dalam peramban yang didukung.
  • Uji pengguna yang belum login dan belum membayar, lalu cabut izin atau buat izin kedaluwarsa. Permintaan sesi baru harus ditolak.
  • Ubah Content ID di browser atau ID video situs. Server harus memeriksa pilihan baru.
  • Tetapkan origin HTTPS publik yang tepat, pertahankan perlindungan sesi/CSRF dari framework, dan nonaktifkan kode identitas demo.

Sesi dan lisensi DRM yang ada memiliki masa berlaku sendiri. Permintaan baru memeriksa perubahan izin; perubahan tersebut tidak menghapus lisensi yang sudah diterbitkan.

PHP: jalankan situs demonstrasi lengkap#

Coba demo PHP online · Unduh demo PHP lengkap · SHA-256

Pilih contoh PHP SDK di atas untuk integrasi kecil berbasis Composer pada situs yang ada. Pilih demo lengkap ini untuk situs yang siap dijalankan dengan contoh daftar putar, proksi token, dan diagnostik. Demo lengkap menggunakan adaptor kode sumber serta memerlukan PHP 8.2+ dan cURL, tetapi tidak memerlukan Composer atau database. Keduanya menyimpan kredensial di server Anda dan memerlukan pemeriksaan izin Anda.

  1. Pemutaran pertamaconfig/drmx.php

    Atur siteId, siteKey, accessKey, content.id, content.type, dan licensePolicyTemplate yang sesuai. Pertahankan bagian array lainnya.

  2. Pelanggan Andasrc/bootstrap.php

    Hubungkan authenticated_user_id() ke sistem login; ganti user_can_play_content() dengan pemeriksaan terbaru atas pembelian, keanggotaan, atau pendaftaran kursus.

  3. Katalog video Andasrc/bootstrap.php + public/index.php

    Ganti helper katalog demo dengan pencarian video yang sudah ada. Tampilkan hanya Content ID dan jenis konten yang diizinkan; pertahankan pemeriksaan server pada setiap permintaan sesi.

# Windows, inside the extracted drmx-php-sample folder:
powershell -NoProfile -ExecutionPolicy Bypass -File .\run-local.ps1
# macOS / Linux:
bash ./run-local.sh

Buka http://127.0.0.1:8086/ dan tekan Play. Pemutaran online menemukan manifes terdaftar secara otomatis. Demo lokal melakukan login sebagai penonton uji; ini hanya pemeriksaan pemutaran pertama.

Untuk situs Anda, atur demo.allowLogin, demo.autoAuthenticateLocalhost, dan demo.autoAuthenticatePublicDemo menjadi false di config/drmx.php, atau nonaktifkan variabel proses yang setara. Gunakan login dan pemeriksaan izin terbaru Anda sendiri; jangan gunakan daftar hak akses sesi demo sebagai database pembelian. public/api/playback-session.php dan playback-release.php menangani API pemutaran; pertahankan validasi permintaan serta pengikatan kontennya. Atur root dokumen publik ke public/ dan gunakan perutean server web. Peluncur bawaan hanya untuk pengujian lokal.

Fungsi pembantu katalog adalah demo_content_id(), demo_content_type(), player_playlist(), dan configured_content(). Untuk situs dengan banyak video, ambil nilai tersebut dari katalog yang ada; pemeriksaan izin harus memvalidasi pilihan itu secara tepat. Anda tidak perlu menyinkronkan pembelian ke tabel DRM-X. Lisensi DRM yang telah diterbitkan memiliki masa berlaku sendiri; pencabutan izin diperiksa kembali pada sesi baru.

Baca README yang disertakan untuk rincian lengkap tentang kebijakan, hosting, token-proxy, dan fitur offline native. Sebelum rilis, uji pemutaran yang diizinkan, pengguna yang ditolak atau dicabut aksesnya, penggantian konten, Stop, serta browser yang didukung melalui HTTPS.

Satu Content ID, apa pun penyimpanan yang digunakan#

Integrasi streaming Anda tidak memerlukan URL manifes. Untuk 1aicloud atau penyimpanan S3 yang dikonfigurasi, DRM-X menggunakan URL media yang dicatat saat paket diterbitkan. Jika berkas terenkripsi diunggah ke server Anda sendiri, daftarkan dahulu URL media DASH/HLS-nya di DRM-X. Setelah itu gunakan Content ID yang sama pada PHP, ASP.NET, atau integrasi lainnya. Server tetap harus memeriksa izin pengguna saat ini sebelum meminta pemutaran.

  1. Terbitkan atau register sekaliDRM-X content settings

    Pastikan URL media DASH/HLS terlindungi yang benar sudah terdaftar untuk Content ID Anda.

  2. Hubungkan situs web Anda

    Callback otorisasi Anda

    Periksa log masuk dan pembelian, keanggotaan atau pendaftaran. Kembalikan Content ID yang diijinkan.

  3. PutarDRM-X playback session

    DRM-X menyelesaikan paket yang diterbitkan dan mengembalikan manifest yang cocok dan DRM License Token.

Jika manifes terdaftar tidak ditemukan, perbaiki publikasi atau pendaftaran URL media di DRM-X. Jangan gunakan URL sembarang dari browser sebagai cadangan. Endpoint native offline dalam demo PHP lengkap merupakan contoh lanjutan terpisah; pemetaan manualnya saat ini dijelaskan di advanced/OFFLINE.md.