التدريب داخل التطبيق لمنتجات SaaS: كيف تضمِّن الدورات في منتجك
التدريب داخل التطبيق هو تدريب يتلقّاه مستخدموك داخل المنتج الذي يتعلّمونه، لا في بوابة منفصلة. وأكمل صوره الدورة المُضمَّنة: درس حقيقي بشاشات وأسئلة وسجلّ إكمال، يُعرض في صفحة من تطبيقك، بتسجيل الدخول الذي يملكه مستخدموك أصلًا، وتصل نتائجه إلى أنظمتك أنت.
ما التدريب داخل التطبيق؟
تلجأ الفرق إلى هذا المفهوم حين تريد أن يتعلّم العملاء المنتج حيث يستخدمونه: دورة تهيئة في شاشة البداية، أو مسار اعتماد في بوابة الشركاء، أو درس قصير بجوار ميزة يخطئ فيها الناس مرة بعد مرة. والبديل الذي يُعرَّف التدريب داخل التطبيق في مقابله هو رابط إلى أكاديمية على نطاق آخر.
يتناول هذا الدليل الصورة الكاملة: تضمين دورات، لا تلميحات فحسب. ويشرح لماذا يهمّ المكان، وكيف تتفاوت الخيارات، وما الذي تتحقّق منه حين تختار أداة، وكيف يُركَّب التضمين.
لماذا يخسر التدريب خارج المنتج متعلّميه؟
لا تحتاج إلى دراسة لترى أين تقع الخسارة، فالخطوات تُعدّ على الأصابع. العميل الذي يريد تعلّم ميزة في أكاديمية منفصلة عليه أن:
- ينتبه إلى الدعوة، وهي في الغالب رسالة بريد تصل حين لا يفكّر في التدريب أصلًا.
- ينشئ حسابًا آخر بكلمة مرور أخرى، على موقع لا يشبه منتجك في شيء.
- يجد الدورة المناسبة في فهرس نُظِّم على مقاس الأكاديمية، لا على مقاس المهمة التي أمامه.
- يعود إلى منتجك ليجرّب ما تعلّمه، ثم يغادره مرة أخرى حين يتعثّر.
كل خطوة من هذه موضع محتمل للتوقّف، وكلها كلفة فرضها المنتج، لا قلة اهتمام من المتعلّم. والتدريب داخل المنتج يزيلها الأربع: الدرس على الشاشة التي ينظر إليها، وهو مسجّل الدخول أصلًا، وأول ما يفعله بعد الدرس هو ما علّمه إياه الدرس.
وثمة خسارة ثانية، في جهتك أنت. حين يعيش التدريب في نظام آخر، تعيش نتائجه هناك أيضًا. فلا يرى فريق نجاح العملاء من أنهى التهيئة إلا بملف تصدير، ولا يستطيع المنتج أن يفتح الخطوة التالية حين يجتاز المستخدم الدورة، ويغيب عنك أن حسابًا ما لم يُكمل تدريبه في اللحظة نفسها التي كان هذا فيها سيُنذرك بمشكلة.
ما الطرق المتاحة لتدريب المستخدمين داخل المنتج؟
أربع طرق تكفي معظم الفرق. وهي ليست متنافسة بقدر ما هي أدوات لمقادير مختلفة من التعليم، وكثير من المنتجات يستخدم أكثر من واحدة منها:
| الميزة | الجولات والتلميحات | مركز المساعدة | نظام LMS منفصل | الدورات المُضمَّنة |
|---|---|---|---|---|
| أين يظهر | فوق واجهة منتجك | موقع للتوثيق، ومعه غالبًا أداة بحث مصغّرة داخل التطبيق | بوابة على موقع خاص بها | صفحة أو لوحة جانبية في تطبيقك |
| أفضل ما يُحسنه | الإشارة إلى زر، خطوة بعد خطوة | الإجابة عن سؤال يحمله المستخدم أصلًا | البرامج المنظّمة والفهارس | تعليم مسار عمل، ثم التحقّق من أنه فُهم |
| تسجيل دخول المتعلّم | تسجيل الدخول في منتجك | لا شيء في العادة | حساب ثانٍ أو SSO | تسجيل الدخول في منتجك |
| يتحقّق من الفهم | نادرًا | لا | نعم: اختبارات ودرجات وشهادات | نعم: اختبارات ودرجات وشهادات |
| النتائج | تحليلات للخطوات والإكمال | مشاهدات الصفحات وعمليات البحث | تقارير داخل نظام LMS | أحداث وويب هوك تصل إلى أنظمتك |
الخلاصة أن الجولات تُحسن الإجابة عن «أين»، ومراكز المساعدة تُحسن الإجابة عن «ماذا»، ونظام إدارة التعلّم (LMS) يُحسن الإجابة عن «هل تعلّموه فعلًا»، لكن في المكان الخطأ. والدورات المُضمَّنة تحاول أن تحتفظ بالثالثة وهي تعيش حيث تعيش الأولى.
ما الذي تبحث عنه في أداة للتدريب داخل التطبيق؟
أدوات كثيرة تقول إنها قابلة للتضمين. ويظهر الفرق في خمسة مواضع، يستحق كل منها سؤالًا مباشرًا:
- هوية بلا تسجيل دخول ثانٍ. يجب أن يكون المتعلّم هو المستخدم الذي سجّل دخوله في منتجك، يمرّره خادمك، لا حسابًا لدى المورّد، ولا معرّفًا يستطيع أي شخص كتابته في رابط. اسأل: هل هذه الهوية موقّعة؟ وماذا يحدث إن لم تكن كذلك؟
- مظهر أصيل. الدورة التي تصل بخطوط غيرك وألوانه تبدو أداة مصغّرة من طرف ثالث. تحقّق من أنك تستطيع ضبط الخطوط والألوان والأشكال، ومن أن اللغات التي تُكتب من اليمين إلى اليسار تنعكس كما ينبغي إن كنت تبيع بها.
- تتبّع يعود إلى منتجك. يجب أن يصلك التقدّم والإجابات والإكمالات لحظة حدوثها: في المتصفح لتستجيب صفحتك، وعلى خادمك موقّعةً لتتصرّف بناءً عليها. أما التقارير التي عليك أن تسجّل الدخول في مكان آخر لتقرأها، فهي المشكلة القديمة نفسها في مكان جديد.
- يعمل على الهاتف. إن كان منتجك يعمل على الأجهزة اللوحية والهواتف، فعلى الدورة أن تعمل عليها أيضًا: تخطيط متجاوب، وتنقّل باللمس، ونقطة استئناف تتبع المتعلّم من جهاز إلى آخر.
- تأليف سريع. يتقادم التدريب داخل التطبيق مع كل إصدار جديد للمنتج. ومن يتولّاه يحتاج إلى تحديث الدورة في دقائق، والأفضل أن يستطيع إنشاء الدورات وتعديلها برمجيًا حين يتغيّر المنتج.
وثمة أمران يسهل نسيانهما حتى يصبحا مهمّين: كيف يتغيّر السعر مع عدد المستخدمين الذين يمكنهم أخذ دورة لكن أغلبهم لن يفعل، وهل تستطيع تصدير الدورة بصيغة SCORM حين يريدها عميل كبير في نظام LMS الخاص به.
كيف يعمل تضمين الدورة من الناحية التقنية؟
من بعيد، ثلاث قطع تؤدي العمل، ولا تحتاج أيٌّ منها إلى SDK في منتجك:
- هوية موقّعة. حين يعرض خادمك الصفحة، يأخذ معرّف المستخدم الذي يثق به أصلًا، ويضيف إليه موعد انتهاء صلاحية، ويوقّعهما بسرٍّ لا يعرفه غيره وغير منصة التدريب، أي بتوقيع HMAC. وتتحقّق المنصة من التوقيع لا من نص الرابط، فلا يستطيع أحد أن يتعلّم باسم غيره بتعديل الرابط.
- إطار iframe. تعمل الدورة في إطار iframe يحمل رابطُه تلك الهوية. ويفصل الإطار شيفرة المشغّل وأنماطه عن شيفرتك، ولهذا يعمل في أي بيئة، سواء React أو صفحات تُعرض على الخادم أو عارض ويب في تطبيق للهاتف، دون تعارض.
- أحداث وويب هوك. بينما يتقدّم المتعلّم، يرسل المشغّل رسائل إلى صفحتك لتستجيب واجهتك في الحال. وحين يلزم تسجيل شيء، كإكمال أو درجة أو شهادة، يُبلغ خادمَك حدثُ ويب هوك موقّع، وهو القناة الوحيدة التي يُعتمد عليها في كل ما له أهمية.
وهذا هو نصف المتصفح: مستمع يفتح الخطوة التالية حين تكتمل الدورة.
window.addEventListener("message", (event) => {
const msg = event.data;
if (msg?.source !== "underlayer") return;
if (msg.event === "course.completed") unlockNextStep();
});لهذا التقسيم سبب. رسائل المتصفح للواجهة فقط، لأن كل ما في المتصفح يمكن تزويره. أما أحداث ويب هوك فلسجلّاتك، لأنها موقّعة وتنتقل من خادم إلى خادم. شيفرة التوقيع وقائمة الأحداث كاملةً في توثيق التضمين، وطريقة التحقّق من كل إرسال في توثيق ويب هوك.
متى تكون أداة الجولات التعريفية هي الأنسب؟
الدورة ليست الأداة الصحيحة دائمًا، وكثيرًا ما تكون أداة الجولات التعريفية أو منصة التبنّي الرقمي هي الخيار الأفضل:
- حين يكون الدرس خطوة واحدة، كمكان إعداد ما أو الزر الذي يبدأ التصدير. فالتلميح على الزر يعلّم ذلك أسرع من أي دورة.
- حين تريد أن تقود المستخدم داخل الواجهة الحية نفسها، فتبرز العناصر الحقيقية وهو ينقر عليها، بدل أن تشرح الفكرة أولًا.
- حين يكون الهدف دفع السلوك، كالإعلان عن ميزة أو التذكير بإعداد لم يكتمل، ولا تحتاج إلى معرفة إن كان أحد قد فهم.
- حين يريد مديرو المنتجات بناء هذه المسارات واستهدافها دون المساس بالشيفرة، مع تقسيم المستخدمين بحسب خصائصهم.
والأداتان تتكاملان جيدًا. تشير الجولة إلى ميزة جديدة، وتفتح خطوتها الأخيرة دورة من خمس دقائق تشرح لماذا تعمل الميزة كما تعمل، وتتحقّق من أن الفكرة وصلت. استخدم الجولات للتنقّل والدورات للفهم، واحفظ دليل الفهم في النظام القادر على إثباته.
كيف يضمِّن Underlayer التدريب في منتجك؟
Underlayer منصة تدريب بُنيت لهذا بالضبط. تُضمَّن الدورة في منتجك بإطار iframe واحد موقّع. والمتعلّم هو معرّف المستخدم الخاص بك، يوقّعه خادمك بتوقيع HMAC، فلا حسابات للمتعلّمين ولا تسجيل دخول ثانٍ. وبعد التحقّق من التوقيع يحتفظ المشغّل بجلسته الخاصة، ومن يعود من المتعلّمين يستأنف من حيث توقّف، ولو من جهاز آخر.
يأخذ المشغّل خطوطك وألوانك، أو إحدى 8 سمات جاهزة، ويعمل على الحاسوب والجهاز اللوحي والهاتف. وتُبنى الدورات من 39 نوعًا من العناصر، في لوحة التحكم أو عبر REST API أو من عميل ذكاء اصطناعي عبر خادم MCP، وتُترجم إلى 22 لغة، منها العربية من اليمين إلى اليسار. وفي أثناء الدورة يرسل المشغّل إلى الصفحة المضيفة الأحداث course.viewed وcourse.progress وcourse.answered وcourse.completed. وتصل الإكمالات والشهادات كذلك أحداثَ ويب هوك موقّعة، وتستطيع قراءة كل نتيجة عبر الواجهة البرمجية. وحين يريد عميل الدورة في نظام LMS الخاص به، تُصدَّر بصيغة SCORM 1.2 أو 2004، كما تُستورد حزم SCORM الموجودة.
يقوم التسعير على مشاهدات الدورات لا على المقاعد، فالمستخدم الذي لا يفتح دورة لا يكلّفك شيئًا. تبدأ الخطط المدفوعة من $149 شهريًا، وكل رقم منشور في صفحة الأسعار، وبيئة التجربة المجانية متاحة عند الطلب. أما العرض الحي فهو المشغّل المُضمَّن الحقيقي: غيّر سمته ولغته والجهاز لترى كيف سيبدو في منتجك.