1. قم بإعداد المنتج والترخيص
ابدأ بترخيص مقفل بالعقدة وميزة تصدير عادية. قم بإضافة الاستخدام المقنن فقط بعد عمل تدفق التفويض الأساسي.
تُحسب حصة الأجهزة من التفعيلات الحالية وتعود عند التحرير. تبقى التراخيص العادية محسوبة دون اتصال، وتعيد التراخيص العائمة الحصة تلقائيًا أيضًا عند انتهاء الإيجار.
- انسخ معرّف المنتج من لوحة التحكم > المنتجات. افتح مفاتيح التوقيع العامة للمنتج نفسه والصق جميع أزواج معرّف المفتاح والمفتاح العام في كود التهيئة بدلاً من YOUR_PRODUCT_ID وYOUR_KEY_ID وYOUR_PUBLIC_KEY. يمكن للتكامل السريع توليد هذا الكود. لا يلزم ملف إعداد للمنتج؛ يتصل SDK افتراضياً بـ https://www.licentivo.com.
- في التكامل السريع، قم بإنشاء منتج أو تحديده. قم بتمكين ميزة تسمى التصدير في سياستها وإعداد ترخيص اختباري.
2. قم بتثبيت SDK
ثبّت SDK 0.11.6 بتشغيل الأمر أدناه داخل مشروع تطبيقك أو بإضافة تبعية البناء. يتولى مدير الحزم جلب SDK؛ لا حاجة إلى تنزيل ملفات المصدر وفك ضغطها أو إعداد مسار محلي.
gem install licentivo-sdk --version 0.11.63. حماية التصدير الحقيقي
هيّئ SDK عند بدء برنامجك أو تنشيطه. اقرأ مفتاح العميل من نافذة التنشيط ومرّر معرّف المنتج والمفاتيح الموثوقة. احتفظ بالعميل حتى إغلاق التطبيق. ضع RunFeature عند العملية الفعلية واستبدل التصدير بوظيفتك.
# frozen_string_literal: true
require 'licentivo'
# BEGIN LICENTIVO PRODUCT
# Copy Product ID and all key ID/public key pairs from Console > Products > Signing public keys.
PRODUCT_ID = 'YOUR_PRODUCT_ID'
TRUSTED_KEYS = {'YOUR_KEY_ID' => 'YOUR_PUBLIC_KEY'}.freeze
# END LICENTIVO PRODUCT
def setting(name, fallback)
value = ENV[name]
value.nil? || value.empty? ? fallback : value
end
def export_report(path)
# Replace this write with your existing export operation.
File.write(path, "A report generated by the licensed application.\n")
end
begin
# A GUI supplies the activation input. Later starts use an empty key.
Licentivo::Client.open_product(
PRODUCT_ID, TRUSTED_KEYS,
setting('LICENTIVO_LICENSE_KEY', '')
) do |client|
feature = setting('LICENTIVO_FEATURE', 'export')
path = setting('LICENTIVO_OUTPUT', 'licensed-report.txt')
if setting('LICENTIVO_METERED', '0') == '1'
client.run_metered_feature(feature, 1, setting('LICENTIVO_OPERATION_ID', '')) { export_report(path) }
else
client.run_feature(feature) { export_report(path) }
end
puts "License OK: #{feature} is available\nExport completed: #{path}"
end # Real app: keep the owning block/client alive until shutdown.
rescue StandardError => error
warn error.message
exit 2
end
4. إبقاء العميل على قيد الحياة حتى إيقاف التشغيل
يقوم مثال سطر الأوامر هذا بتنفيذ عملية واحدة والخروج. في تطبيق سطح المكتب، افتح عميلًا واحدًا عند بدء التشغيل، واستدع رد اتصال الميزة من إجراء التصدير، وأغلق العميل فقط عند خروج التطبيق.
بعد التنشيط، يمكن للبدايات اللاحقة ترك LICENTIVO_LICENSE_KEY فارغًا واستعادة بيانات الاعتماد الخاصة ضمن نفس المستخدم وموقع ذاكرة التخزين المؤقت. احتفظ ببيانات الاعتماد هذه في دليل بيانات تطبيق المستخدم. الإغلاق يوقف نبضات القلب ويعيد المقاعد العائمة. يجب ألا يؤدي الخروج العادي إلى إلغاء تنشيط الجهاز المقفل بالعقدة.
يتوفر الوصول دون اتصال بالإنترنت فقط عندما تسمح السياسة بذلك وتظل المنحة الموقعة صالحة. يجب أن تظل الميزة منتهية الصلاحية أو المرفوضة محظورة. تتطلب العمليات المقاسة اتصالاً بالشبكة.
الكتلة open_with_license تمتلك العميل. احتفظ بحلقة التطبيق طوال عمرها واستدعاء run_feature لكل إجراء محمي. لا تغلق العميل من داخل دالة الاستدعاء الراجع التجاري. تنتشر استثناءات Ruby بعد معالجة SDK للعملية الفاشلة.
5. قم بالتشغيل والتحقق من النتيجة
انسخ معرّف المنتج من لوحة التحكم > المنتجات. افتح مفاتيح التوقيع العامة للمنتج نفسه والصق جميع أزواج معرّف المفتاح والمفتاح العام في كود التهيئة بدلاً من YOUR_PRODUCT_ID وYOUR_KEY_ID وYOUR_PUBLIC_KEY. يمكن للتكامل السريع توليد هذا الكود. لا يلزم ملف إعداد للمنتج؛ يتصل SDK افتراضياً بـ https://www.licentivo.com.
- تأكد من أن الترخيص الصالح الذي يتمتع بحق الوصول للتصدير ينشئ licensed-report.txt.
- امسح LICENTIVO_LICENSE_KEY وقم بتشغيله مرة أخرى باستخدام حساب المستخدم نفسه: يجب استعادة بيانات الاعتماد المحفوظة.
- قم بتعيين LICENTIVO_FEATURE إلى ميزة غير موجودة في الترخيص وLICENTIVO_OUTPUT إلى اسم ملف جديد. يجب أن يقوم البرنامج بالإبلاغ عن الرفض دون إنشاء هذا الملف.
- اختبر إعادة التشغيل في وضع عدم الاتصال فقط من خلال منحة موقعة مسموح بها وغير منتهية الصلاحية. لا تتجاوز فحص الميزات الفاشل بعد حدوث خطأ في تحديث الخلفية.
$env:LICENTIVO_LICENSE_KEY = 'YOUR_LICENSE_KEY'
ruby main.rbLICENTIVO_LICENSE_KEY=YOUR_LICENSE_KEY ruby main.rbمشاكل التكامل المشتركة
تحقق من معرّف المنتج وجميع أزواج معرّف المفتاح والمفتاح العام وترخيص العميل. المفاتيح العامة تخص المنتج؛ التراخيص وبيانات اعتماد الأجهزة منفصلة. لا توزّع مفاتيح الاختبار أو مفاتيح API الإدارية.
تم رفض الميزة، أو تم الوصول إلى حد الجهاز أو انتهت صلاحية الترخيص: افحص الترخيص والسياسة في وحدة التحكم، ثم أظهر الخطأ SDK للعميل. يجب ألا يستدعي التفويض الفاشل وظيفة التصدير.
يتحقق RunFeature من الوصول إلى الميزات؛ يقوم المتغير المقيس باحتجاز الاستخدام الذي تم تكوينه وتسويته. استخدم معرف عملية ثابتًا لكل مهمة عمل حقيقية وافحص نتائجها الدائمة قبل استعادة مهمة متقطعة.
لا يمكن تحميل licentivo: تأكد من أن تثبيت الجوهرة وتنفيذ البرنامج يستخدمان نفس بيئة Ruby. للحصول على مصدر مبني على Windows، قم بتعيين LICENTIVO_CURL_ROOT واجعل libcurl المطابق DLL متاحًا على PATH.