Java, Spring Boot ও Vue
Spring Boot starter ইনস্টল করে ContentEntitlement-কে আপনার বর্তমান ব্যবহারকারী ও কনটেন্ট repository-এর সঙ্গে যুক্ত করুন। ফ্রন্টএন্ডে Vue ব্যবহার করলেই শুধু এটি যোগ করুন।
Preview SDK, অ্যাপের উদাহরণ ও সোর্স। এক্সট্র্যাক্ট করা ফোল্ডারের কাঠামো বজায় রাখুন।
সব প্ল্যাটফর্ম ও সম্পূর্ণ কিট · ইন্টিগ্রেশন প্রক্রিয়া বুঝুন
যে তিনটি জায়গা আপনি কাস্টমাইজ করবেন#
- কনফিগার করুন
application.properties / server environmentDRMX_SITE_ID, DRMX_SITE_KEY, DRMX_ACCESS_KEY এবং instance ID নির্ধারণ করুন।
- অনুমোদন দিন
DrmxAccess.java ও আপনার repository
ব্যবহারকারী ও ভিডিওর বর্তমান অনুমতি যাচাইসহ ContentEntitlement বাস্তবায়ন করুন।
- রাউট
PlayerController.java / আপনার controller
পৃষ্ঠার metadata ও session request-এর জন্য একই অনুমতি যাচাই করা অনুসন্ধান ব্যবহার করুন।
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 ব্যবহৃত হয়েছে। বর্তমান অ্যাপে examples/sdk/java/pom.xml-তে দেখানো starter dependency যোগ করুন। Maven ফ্রেমওয়ার্কের স্বাভাবিক dependency ডাউনলোড করতে পারে।
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-demohttp://127.0.0.1:8107/ খুলুন। drmx-learner হিসেবে লগইন করুন; drmx-denied অনুমতি না থাকা একটি পরীক্ষামূলক অ্যাকাউন্ট দেয়। অস্থায়ী in-memory ডেটাবেস পুনরায় চালু করলে রিসেট হয়। এটি ডেমো অ্যাপের কোড, প্রোডাকশনের জন্য বাধ্যতামূলক ডেটাবেস কাঠামো নয়।
3. আপনার প্রকৃত ডেটাবেস যুক্ত করুন#
DrmxAccess.java-তে bean বাস্তবায়ন করুন। আপনার repository তথ্য অনুসন্ধান ও অনুমতি যাচাই করে; নিচের কোডটি প্রতিস্থাপনের একটি উদাহরণ:
@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-কে একই repository-এর সঙ্গে যুক্ত করুন এবং অনুরোধ করা কনটেন্ট ও ধরনের হুবহু মিল যাচাই বজায় রাখুন। স্বাভাবিক Spring Security ও CSRF সুরক্ষা রাখুন। উদাহরণের controller ওয়েবসাইটের সংখ্যাভিত্তিক ID ব্যবহার করে; অ্যাপ UUIDs ব্যবহার করলে এর parameter ও repository একসঙ্গে বদলান।
4. ফ্রন্টএন্ড যুক্ত করুন#
উদাহরণের HTML পৃষ্ঠা শেয়ার করা Web Component দেখায়। Vue ব্যবহার করলে integrations/web-components/DrmxPlayer.vue ও পাশের runtime ফাইলগুলো ব্যবহার করুন। controller থেকে অনুমোদিত কনটেন্টের metadata ও একই origin-এর session URL পাঠান। প্রোডাকশনে local-demo profile বন্ধ করুন।
প্রকাশের আগে যাচাই করুন#
- অনুমতি আছে এমন ব্যবহারকারী হিসেবে লগইন করে সমর্থিত ব্রাউজারে প্রকাশিত ভিডিও চালান।
- লগইন না করা ও অর্থ না দেওয়া ব্যবহারকারী পরীক্ষা করুন, তারপর প্রবেশাধিকার বাতিল করুন বা মেয়াদ শেষ করুন। নতুন সেশন অনুরোধ অবশ্যই প্রত্যাখ্যাত হতে হবে।
- ব্রাউজারে Content ID বা ওয়েবসাইটের ভিডিও ID বদলান। সার্ভারকে নতুন নির্বাচন যাচাই করতে হবে।
- সঠিক পাবলিক HTTPS origin নির্ধারণ করুন, ফ্রেমওয়ার্কের session/CSRF সুরক্ষা বজায় রাখুন এবং ডেমো identity code বন্ধ করুন।
বর্তমান সেশন ও DRM লাইসেন্সের নিজস্ব মেয়াদ থাকে। নতুন অনুরোধে অনুমতির পরিবর্তন যাচাই করা হয়; এতে আগে ইস্যু করা লাইসেন্স মুছে যায় না।
DRM-X 6.0