انتقل إلى المحتوى
العودة إلى وثائق Launch

تنزيل Markdownالوثيقة الأصلية على GitHub

تكامل التطبيق مع Launch وLicentivo

ينطبق هذا الدليل على موفّر Licentivo. لتوصيل نظام ترخيص يملكه التاجر دون Licentivo، استخدم واجهة الترخيص المخصص وعملية التكامل، واختر custom_http للمنتج/البيئة واحتفظ بـ SDK التشغيل الخاص بذلك النظام.

تستخدم هذه التغييرات المحلية غير المنشورة تبادل هوية الحساب. راجع عقد المسؤوليات ومزامنة الشراء للترحيل وإلغاء الجلسات على الخادم. لم تُنشر أرقام إصدارات الحزم أو تُرقَّ بهذا التغيير.

يتولى Launch حسابات التجار والطلبات والأسعار وعروض التجديد/الترقية والاستردادات وتواريخ الشراء المطلقة. ويتولى Licentivo التراخيص والسياسات وحصص الأجهزة وجلسات الترخيص والأذونات الموقعة وقرارات التشغيل. لا يعد تسجيل دخول Launch الناجح أو الشراء المتزامن إذنًا لتنفيذ عمل محمي مطلقًا.

استخدم صفحة التكامل الإدارية للحصول على استدعاء الاتصال المباشر ومفاتيح المنتج العامة المثبتة. تحتوي أغلفة اللغات التسع كلها على SDK الرسمي. تبقى مفاتيح إدارة التاجر والدفع على الخادم. لا تحتوي إعدادات المنتج العامة على بيانات العميل أو معرّفات الأجهزة أو مسارات الذاكرة المؤقتة أو تأكيدات الهوية.

تبادل الحساب

sequenceDiagram
    participant App as Application
    participant Launch as Launch server
    participant SDK as Official Licentivo SDK
    participant Lic as Licentivo server
    App->>Launch: Account login
    Launch-->>App: Account session
    App->>Launch: POST /software/products/{id}/identity
    Launch-->>App: Short-lived signed identity assertion
    App->>SDK: In-memory identity + connection + environment
    SDK->>Lic: POST /launch/exchange
    Lic-->>SDK: Restricted device credential + signed permission + logout ticket
    App->>SDK: RunFeature around every protected action

يطلب الغلاف POST /api/v1/software/products/{id}/identity مع {"environment":"sandbox"} أو live. يستمر تأكيد الهوية المعاد لمدة 120 ثانية كحد أقصى ويرتبط بمُصدر وجمهور مسجلين وجلسة دخول حقيقية ومنتج وبيئة ومرجع شراء. لا يحتوي على منح ميزات أو حصة أجهزة أو سياسة عدم اتصال.

يتلقى SDK الرسمي هذه القيم في الذاكرة:

{
  "product_id": "LICENTIVO_PRODUCT_UUID",
  "trusted_keys": {"SIGNING_KEY_ID": "PINNED_PUBLIC_KEY"},
  "launch_connection_id": "LICENTIVO_LAUNCH_CONNECTION_UUID",
  "environment": "sandbox",
  "identity_token": "SHORT_LIVED_ASSERTION_FROM_LAUNCH",
  "license_key": ""
}

لا تكتب إعداد التشغيل هذا إلى ملف عام ولا تحفظ تأكيده دائمًا في سجل حساب. تحفظ سجلات Launch v2 المتذكرة جلسة الحساب وسياق التوجيه العام فقط. تعيد واجهة العميل القديمة /credential الرمز HTTP 410.

دورة الحياة والتخزين

  • Login: مصادقة الحساب وطلب تأكيد جديد وبدء SDK الرسمي.
  • Restore: تأكيد الحساب المتذكر عبر الإنترنت وطلب تأكيد جديد وبدء SDK الرسمي. لا يختار تعطل Launch الإذن دون اتصال.
  • RunFeature: تفويض كل تنفيذ محمي إلى SDK الرسمي. يجب ألا يُنفذ رد النداء المرفوض مطلقًا.
  • Close / Dispose / Drop: إيقاف العمل الخلفي مع الاحتفاظ بالدخول الذي اختير تذكره وربط العقدة.
  • Logout: استدعاء الخروج الموحد في SDK الرسمي، ثم تنظيف سجل حساب Launch وإنهاء جلسته.
  • ReleaseDevice: اسم توافق للخروج الصريح. أبلغ بصدق عن الإلغاء البعيد المعلق.

لا يزيل بيانات اعتماد الجهاز وملفات الإيجار الخاصة به إلا SDK الرسمي. لا تحذف دليل ذاكرته المؤقتة أو .logout.json مطلقًا: يحتفظ السجل بتذاكر تحرير مقيدة لازمة بعد فشل طلبات الشبكة. يستأنف SDK التذاكر المعلقة عند إعادة تهيئة الذاكرة المطابقة. لتخزين حساب Launch وتخزين SDK مالكان منفصلان.

تستخدم التطبيقات التي تحتاج بدءًا دون اتصال تدفق الاستعادة الموثق لـ SDK الرسمي. يتحقق SDK وحده من الإذن الموقع وسياق المنتج/البيئة والانتهاء وسلوك الساعة وحالة الجهاز. لا تستنتج أغلفة Launch الإذن من تواريخ الشراء أو طلب محلي أو وجود ملف.

جلسات الحساب في الذاكرة فقط هي الافتراضية. يجب أن تشفر مخازن الحساب الدائمة سجلاتها وتصادق عليها وتحمي مفاتيحها بمرافق اعتماد نظام التشغيل. استخدم ذاكرة مؤقتة مستقلة قابلة للكتابة لكل تاجر وحساب ومنتج وبيئة. يجب أن تتلقى عمليات عرض المتصفح نتائج الأعمال بدلًا من رموز حساب سطح المكتب أو تأكيداته أو بيانات الجهاز.

المشتريات والأجهزة

يحسب Launch تواريخ الشراء المطلقة من المدفوعات المتحقق منها وتغطية الطلبات غير القابلة للتغيير، ثم يرسل لقطات ذات إصدارات إلى /api/v1/launch/connections/{id}/events. يستعلم عن الحدث حتى applied؛ ولا يعد الاستلام وحده تنفيذًا. لا يمكن لإعادة محاولات التجديد والاسترداد إضافة المدة مرة ثانية. لا تزيل الاستردادات إلا تغطية الطلب المعني؛ ويُستبدل الشراء المسترد بالكامل بمرجع جديد عند إعادة الشراء.

يمكن للمستخدمين الذين لا يستطيعون الوصول إلى جهاز فتح صفحة إدارة الأجهزة في Launch. تأتي القوائم والتحريرات المتبقية والإجراءات المسموحة ونتائج العمليات من Licentivo. يحمل التحرير جيل الربط المعروض ومعرّف عملية ثابتًا. لا يحتفظ Launch بعداد تحرير أو منفذ مهام منافس.

التحقق والقيود

اختبر تبادل الحساب والتخزين المؤقت لتأكيد الهوية وتنفيذ الميزات الذي يتحكم فيه SDK والإغلاق العادي والخروج الصريح في عملية جديدة وسجلات التحرير المعلقة وعزل المنتج/البيئة. اختبر إيجارات SDK الرسمي الموقعة الفعلية وفحوص عدم الاتصال ورفض العبث بصورة منفصلة عن نقل حساب Launch. لا تثبت الترجمة وتجهيزات الاختبار قبول الإنتاج.

يستخدم Launch أيضًا واجهتي POST لـ session-revocations وGET للإيصال في Licentivo V39 لخروج سطح المكتب والخروج القسري للجلسة وتغيير كلمة المرور وتعطيل الحساب. يجمّد المستلمين الأصليين والطلب بصورة دائمة ويستعيد الاستجابات المفقودة ويؤكد كل بيئة بصورة مستقلة. توقف الإشعارات المعلقة على مستوى الحساب مصادقة سطح المكتب الجديدة؛ وبعد التأكيد يجب أن يكون auth_time للدخول الجديد فعلًا لاحقًا تمامًا لأحدث ثانية revoked_before. تظل استعادة الموقع متاحة. لا تغير هذه الإشعارات تواريخ الشراء مطلقًا. راجع عقد الحدود والاستعادة.

راجع التكامل اليدوي وتكامل AI وحزم التكامل والقبول.