Java وSpring Boot وVue
ثبّت Spring Boot starter واربط ContentEntitlement بمستودع المستخدمين والمحتوى الحالي. أضف Vue فقط إذا كانت واجهتك الأمامية تستخدمه.
SDK بإصدار معاينة ومثال تطبيق وشفرة مصدرية. احتفظ ببنية المجلدات بعد الاستخراج.
كل المنصات والحزمة الكاملة · فهم عملية التكامل
المواضع الثلاثة التي تخصّصها#
- الإعداد
application.properties / server environmentاضبط DRMX_SITE_ID وDRMX_SITE_KEY وDRMX_ACCESS_KEY ومعرّف النسخة.
- منح الإذن
DrmxAccess.java ومستودعك
نفّذ ContentEntitlement مع فحص الصلاحية الحالية للمستخدم والفيديو.
- المسار
PlayerController.java / المتحكم لديك
استخدم الاستعلام المصرّح نفسه لبيانات الصفحة وطلبات الجلسات.
1. تثبيت ملف JAR المرفق#
استخدم Java 21 وMaven. من جذر الحزمة المستخرجة:
mvn install:install-file -Dfile=packages/maven/drmx-spring-boot-starter-1.3.0-preview.13.jar -DpomFile=packages/maven/drmx-spring-boot-starter-1.3.0-preview.13.pomيستخدم المثال Spring Boot 3.5. في تطبيق موجود، أضف تبعية starter الموضحة في examples/sdk/java/pom.xml. قد ينزّل Maven تبعيات إطار العمل المعتادة.
2. تشغيل فيديو واحد محليًا#
في examples/sdk/java/src/main/java/com/haihaisoft/drmx/LocalDemo.java، استبدل your-published-content-id. اضبط بيانات الاعتماد الثلاث وعيّن DRMX_DEMO_PASSWORD على كلمة مرور اختبار محلي لا تقل عن 12 حرفًا.
cd examples/sdk/java
mvn spring-boot:run -Dspring-boot.run.profiles=local-demoافتح http://127.0.0.1:8107/. سجّل الدخول باسم drmx-learner؛ ويوفّر drmx-denied حساب اختبار مرفوضًا. تُعاد تهيئة قاعدة البيانات المؤقتة في الذاكرة عند إعادة التشغيل. هذه شفرة تطبيق تجريبي، وليست مخطط قاعدة بيانات مطلوبًا للإنتاج.
3. ربط قاعدة بياناتك الفعلية#
نفّذ bean في DrmxAccess.java. ينفّذ مستودعك الاستعلام وفحص الصلاحيات؛ والمثال التالي يوضّح الاستبدال:
@Bean
ContentEntitlement contentEntitlement(CustomerCatalog catalog) {
return (userId, videoId) -> catalog.findAuthorizedVideo(userId, videoId)
.map(video -> new AuthorizedVideo(
video.drmxContentId(), video.contentType(), video.policy()));
}أرجع Optional.empty() عند رفض الوصول. اربط PlayerController بالمستودع نفسه واحتفظ بالمقارنة الدقيقة للمحتوى والنوع المطلوبين. احتفظ بحماية Spring Security وCSRF المعتادة. يستخدم المتحكم التجريبي معرّفات موقع رقمية؛ عدّل معامِله والمستودع معًا إذا كان تطبيقك يستخدم UUIDs.
4. ربط الواجهة الأمامية#
تعرض صفحة HTML في المثال Web Component المشترك. إذا كنت تستخدم Vue، فاستخدم integrations/web-components/DrmxPlayer.vue وملفات التشغيل المجاورة. مرّر بيانات المحتوى المصرّح به ورابط الجلسة من الأصل نفسه عبر المتحكم. عطّل ملف التعريف local-demo في الإنتاج.
التحقق قبل النشر#
- سجّل الدخول كمستخدم مسموح له وشغّل فيديو منشورًا في متصفح مدعوم.
- اختبر مستخدمين لم يسجّلوا الدخول وآخرين لم يدفعوا، ثم ألغِ الوصول أو اجعله منتهيًا. يجب رفض طلبات الجلسات الجديدة.
- غيّر Content ID أو معرّف فيديو الموقع في المتصفح. يجب أن يتحقق الخادم من الاختيار الجديد.
- اضبط أصل HTTPS العام بدقة، واحتفظ بحماية الجلسات وCSRF في إطار العمل، وعطّل شفرة الهوية التجريبية.
للجلسات وتراخيص DRM الحالية مدد صلاحية مستقلة. تُفحص تغييرات الصلاحيات عند الطلبات الجديدة؛ ولا تمحو ترخيصًا سبق إصداره.
DRM-X 6.0