تضمين Lingara
هذه الصفحة مترجمة من الإنجليزية. إذا اختلفت النسختان، فالصفحة الإنجليزية هي الصحيحة. اقرأ الصفحة الإنجليزية
يمكن أن تعمل Lingara داخل لعبتك أو موقعك الإلكتروني. يمكن لشخصية في عالمك أن تجري محادثة بمستوى اللاعب، ويُحتسب التدريب الذي يُنهيه لاعبك تدريبًا في Lingara. للتضمين نصفان، وأول ما يجب حسمه هو أيّ نصف يعمل وأين.
من يحتفظ بماذا
يحتفظ خادمك بسرّ عميل OAuth الخاص بك وبسرّ توقيع خطافات الويب. ولا يغادره أيّ منهما أبدًا.
يحتفظ جهاز اللاعب بشيء واحد: رمز تضمين يبدأ بـ lgr_et_. كل ما تشحنه داخل الملف التنفيذي للعبة أو داخل صفحة ويب يكون علنيًا، لذا لا يحتفظ الجهاز أبدًا بسرّ عميل، ولا بسرّ خطاف ويب، ولا برمز وصول خاص بعميلك. يعمل رمز التضمين نيابةً عن لاعب واحد فقط، ويدوم دقائق لا ساعات، ولا يحمل إلا الصلاحيات التي منحها إياه خادمك.
لا يحتاج اللاعب إلى حساب Lingara. أول رمز يُصدره خادمك للاعب يُنشئ له متعلّمًا ضيفًا، وكل رمز لاحق يصل إلى المتعلّم نفسه. واللاعب الذي يملك حساب Lingara بالفعل يمكنه أن يجلبه معه: تشرح صفحة حِزم الخادم كيف يربط خادمك بين الاثنين.
كيف يصل الرمز إلى اللاعب
- تحتاج حزمة اللاعب، في لعبتك أو على صفحتك، إلى رمز، فتطلبه من خادمك عبر مصدر الرموز الخاص بها.
- يتحقّق خادمك من جلسته الخاصة لذلك اللاعب، ويُصدر له رمزًا باستخدام حزمة الخادم.
- يعيد خادمك الرمز في حقلين، الرمز وموعد انتهاء صلاحيته، عبر جلستك الخاصة وليس أبدًا في عنوان URL.
- تستخدم حزمة اللاعب الرمز حتى يقترب موعد انتهاء صلاحيته، ثم تطلب من خادمك رمزًا مجددًا. لا تجدّد Lingara أي رمز أبدًا.
player's device your server Lingara
─────────────── ─────────── ───────
player kit ── needs a token ──▶ your token route
server kit ── mint ─────────▶ token for one player
player kit ◀── token, expiry ── your token route ◀──────────
player kit ── API calls with the token ─────────────────────▶
الرمز المخصّص لموقع إلكتروني مرتبط بأصل واحد: مخطط الصفحة نفسها ومضيفها ومنفذها. سجّل كل أصل تعمل عليه أداتك قبل أن تُصدر رمزًا له، كما تشرح صفحة حِزم الخادم. أما الرمز المخصّص للعبة فلا أصل له.
ما يمكن أن يفعله الرمز
يختار خادمك صلاحيات كل رمز عند إصداره، من هذه الخمس: events:read وevents:write وlesson_plans:read وlesson_plans:write وembed:play. لا يمكن للرمز أن يحمل إلا صلاحيات يملكها عميلك أصلًا. تتيح embed:play للاعب إجراء محادثات مع شخصياتك والإبلاغ عن التدريب الذي يُنهيه.
من يدفع
لا يُسمح بإصدار الرموز إلا لعميل مشترك في خطة الاستخدام المقاس. كل ما يفعله اللاعب بالرمز يُحتسب استخدامًا لعميلك ويُفوتَر عليك، لا على اللاعب.
حذف لاعب
عندما يحذف لاعب حسابه في لعبتك، يحذفه خادمك من Lingara أيضًا. يزيل ذلك متعلّمه وكل ما تحتفظ به Lingara له، ويُلغي كل رمز يحمله.
أيّ حزمة تحتاج
تستخدم كل عملية تكامل حزمتين: حزمة خادم على خادمك، وحزمة لاعب حيث يلعب اللاعب.
| ما تبنيه | خادمك | حيث يلعب اللاعب |
|---|---|---|
| لعبة Bevy | حِزم الخادم | Bevy |
| لعبة Unity | حِزم الخادم | Unity |
| لعبة Godot | حِزم الخادم | Godot |
| لعبة Unreal | حِزم الخادم | Unreal |
| لعبة على JVM أو Android | حِزم الخادم | JVM وAndroid |
| موقع إلكتروني | حِزم الخادم | أداة الموقع الإلكتروني |
ثم اقرأ حوار NPC ونتائج التدريب، اللذين يعملان بالطريقة نفسها في كل حزمة.
البدء
- حِزم الخادم
أصدِر رموزًا للاعبيك، ووجّه أحداثهم، واحذفهم، من خادمك أنت.
أين يعمل
- Bevy
أضِف إضافة Lingara إلى لعبة Bevy، وأجب عن طلبات الرموز التي ترسلها، واقرأ أحداثها على شكل رسائل.
- Unity
ثبّت Lingara.Embed عبر NuGetForUnity، واجلب الرموز من خادمك، وأفرغ الأحداث في Update.
- Godot
Lingara في لعبة Godot 4، من GDScript أو من C#، مع رموز من خادمك أنت.
- Unreal
إضافة Lingara لـ Unreal Engine 5، فوق واجهة C الخاصة بنواة اللاعب.
- JVM وAndroid
حزمة اللاعب بلغة Kotlin وواجهتها لـ Java، على سطح المكتب وعلى Android، مع libGDX مثالًا عمليًا.
- أداة الموقع الإلكتروني
ركّب عنصر lingara-embed على صفحتك، وزوّده بالرموز من خادمك أنت.
التعلّم في عالمك
- حوار NPC
شخصية في عالمك تتحدث اللغة المستهدفة للاعب بمستواه، دورًا متدفّقًا واحدًا في كل مرة.
- نتائج التدريب
تدرّب على خطة درس داخل لعبتك، وأبلغ عن نتيجتها، واعلم بها على خادمك.