هل فعلا تحتاج إلى تطبيق موبايل؟ (ميزة الملء التلقائي للرسائل القصيرة)

هل فعلا تحتاج إلى تطبيق موبايل؟ 

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

ميزة الملء التلقائي للرسائل القصيرة

سأقوم بنشر مجموعة من المقالات التي تتحدث عن بعض المزايا التي تقدمها تقنيات الويب والتي قد تجعلك تستعيض عن فكرة تطوير تطبيق موبايل.

وبداية في هذا المقال سأقوم بمناقشة واحدة من المزايا التي قدمتها المتصفحات مؤخرا، والتي غالبا لم تعرف بوجودها خارج نطاق تطبيقات الموبايل وهي ميزة الملء التلقائي للرسائل القصيرة (SMS autofill).

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

هذا الرمز السداسي هو عبارة عن رمز OTP “كلمة سر لمرة واحدة”، والذي يكون مختلفا لزيادة مستوى التوثيق، في كل مرة يتم فيها طلب تسجيل الدخول.

أما عملية اكتشاف الرقم من الرسالة وتعبئتها بشكل تلقائي هو عبارة عن “الملء التلقائي للرسائل القصيرة” “SMS autofill” والهدف منه تخفيف الجهد عن المستخدم وعدم اضطراره لإدخال كلمة السر يدويا عند وصولها.

تقنية الملء التلقائي للرسائل القصيرة ليست بجديدة في عالم تطبيقات الهواتف الذكية، ولكن ما هو جديد دخولها إلى عالم الويب مؤخرا، وبالتحديد متصفح غوغل كروم.

حيث ظهرت النسخة التجريبية للتقنية بدءا من النسخة 78 من غوغل كروم وستستمر حتى النسخة 80، على أن يتم الإطلاق النهائي في النسخة 81.

لكي تستطيع استخدام هذه التقنية، إلى جانب احتواء الرسالة القصيرة المرسلة على الرمز السداسي هنالك عدد من الشروط الواجب توافرها:

  • يجب أن تحتوي الرسالة على الكلمة المفتاحية For ويليها عنوان الموقع “URL” لتطبيق الويب 
  • عنوان الموقع يجب أن يحتوي على بارامترات لتحديد هاش (hash) متصفح الكروم والذي قيمته EvsSSj4C6vl
  • كما يجب أن يحتوي العنوان على بارامتر تحديد رقم الرقم السداسي OTP

مثال: إذا فرضنا أردنا استخدام ميزة الملء التلقائي ضمن موقع شمرا وكان الرقم السري المولد هو 123456 فالرسالة يجب أن تكون بالشكل:

Your OTP is: 123456.

For: https://shamra.sy?otp=123456&EvsSSj4C6vl

أما من ناحية الكود البرمجي من جانب المتصفح والذي سنكتبه بلغة جافاسكريبت (JavaScript )، يجب بداية التحقق إن كان المتصفح يدعم الميزة كالتالي:

if('sms' in navigator){
    console.log('SMS Receiver API is supported');
}

أما من أجل انتظار الرسالة والحصول على الرمز منها يتم بسهولة من خلال الكود:

const sms = await navigator.sms.receive();
const code = sms.content.match(/^[\s\S]*otp=([0-9]{6})[\s\S]*$/m)[1];

ومن ثم لديك حرية استخدام هذا الرمز وتعبئته ضمن الحقل المطلوب.

هذا بما يخص متصفح غوغل كروم، ماذا عن المتصفحات المتبقية؟

حاليا لدى متصفح سفاري تقنية مشابهة من أجل الأجهزة المحمولة التي تعمل بنظام IOS ولاستخدامها يكفي أن تضيف الخاصة 

 autocomplete="one-time-code"

إلى عنصر الإدخال كالتالي:

<input id="single-factor-code-text-field" autocomplete="one-time-code"/>

وبدون أي أكواد إضافية أو شروط خاصة بالرسالة، بالرغم من أن استخدامها أبسط بكثير من المتصفح كروم لكن من عيوبها أنها قد لا تعمل أحيانا ولأسباب خارجة عن السيطرة إذ أنها تعتمد على تقنيات حدثية “heuristic” غير مفهومة بشكل دقيق، وبحال عملها لا تقوم بملء الرسالة تلقائيا وإنما تطلب من المستخدم الضغط على كلمة السر التي تقترحه لوحة المفاتيح عند قدوم الرسالة.

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