تكوين تطبيق جوال خاص بالشركة باستخدام AppConfig

إذا كنت مسؤولاً في شركة لديها تطبيق داخلي للهاتف المحمول ، بغض النظر عما إذا كان ذلك - سواء كان رسولًا عاديًا أو بريدًا أو شيئًا خاصًا مثل ماسح الباركود - فستواجه عاجلاً أم آجلاً مهمة التكوين عن بُعد وإدارة التطبيقات. يمكنك استخدام العكازات لوصف معرف معين أو عنوان خادم في جميع الهواتف ، ولكن هناك أيضًا حل جاهز - بحكم الواقع معيار يمكن استخدامه بالاقتران مع أحد أنظمة EMM / UEM الحالية (Enterprise Mobile Management / Unified Endpoint Management).



في هذه المقالة ، قررنا تقديم إرشادات حول كيفية جعل تطبيق Android الخاص بك قابلاً للتكوين إذا كنت مطورًا له. هذا هو: ما الذي يجب تغييره بالضبط في تطبيقك لتلبية احتياجات جمهور الشركة. وصفنا أيضًا جميع أعمال المسؤول باستخدام منصة Knox Manage كمثال .

 





صياغة المشكلة



في مقابلة مع زملاء من SRI SOKB (المعهد العلمي والاختباري لأنظمة الأمان المتكاملة) ، اتفقنا على أنه لم يعد من الممكن تصور بنية أساسية متنقلة حديثة للشركة بدون نظام تحكم مركزي. 



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



عادة ، عند إدخال أنظمة مركزية ، فإننا نواجه مهمتين:



  1. . , : Knox Mobile Enrollment, Android Zero Touch Android Enterprise Enrollment (EMM-, QR- .)

  2. . ,   ,





كحل للمشكلة الثانية ، هناك آلية AppConfig ، وهذه ليست مبادرة من شركة واحدة ، ولكنها الاتفاقية الحالية للعديد من البائعين. جوهرها باختصار هو كما يلي: ينفذ المطور في تطبيق الهاتف المحمول الخاص به - البريد ، والمراسلة ، وعميل اتصالات الفيديو ، إلخ. - دعم التهيئة المدارة ، المخصصة لمستخدم معين. يقرر المطور ما هي المعلمات في التطبيق التي يمكن تعيينها من الخارج (المعرف ، اسم المستخدم ، عنوان الخادم). من خلال Google Play للشركات ، يتم إرسال هذه المعلمات إلى نظام EMM. ويسمح لك بالفعل بإنشاء تكوينات مُدارة وتعيينها عن بُعد لأجهزة ومستخدمين محددين. 



لمعرفة ما إذا تم تنفيذ هذه الوظيفة في تطبيق معين:



  • انتقل إلى Google Play للشركات.

  • ابحث عن التطبيق الذي تريده. 

  • إذا كان يدعم التكوينات المُدارة ، فسترى الرمز "يمكن تكوين هذا التطبيق عن بُعد" تحت الاسم:







 تبدو العملية العامة كما يلي:



  1. يضيف المطور دعمًا للتكوينات المُدارة إلى تطبيقه. في ملف مخطط XML ، يحدد المعلمات التي تم تكوينها عن بعد ، وفي كود التطبيق ، يقوم بتوسيع هذه المعلمات. ثم يقوم بتحميل التطبيق إلى شركة Google Play.

  2. يوفر نظام EMM واجهة مشرف يتم من خلالها استرداد مخطط XML من تطبيق على Google Play باستخدام إطار iframe .

  3. يقوم المسؤول بإدخال قيم المعلمات التي يجب أن تظهر على أجهزة الشركة. بعد ذلك ، ينقل نظام EMM التكوين إلى Google Play.

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



    



عملية تكييف تطبيق الهاتف المحمول للشركة مع AppConfig



     افترض أنك بحاجة إلى إدخال عنوان واسم مستخدم عن بُعد في عميل بريد إلكتروني. باستخدام Samsung Knox Manage كمثال ، ستبدو واجهة تكوين هذه المعلمات باستخدام تكوين مُدار







على النحو التالي : بالنسبة لحقل عنوان البريد الإلكتروني ، أدخل $ emailaddress $ ، وبالنسبة لاسم المستخدم ، $ username $ (سيتم استبدال هذه المتغيرات ديناميكيًا ، اعتمادًا على المستخدم المحدد).       



كيف يمكن للمطور إضافة دعم AppConfig إلى تطبيقه؟



لنفترض أننا نطور تطبيقًا للهاتف المحمول حيث تكون المعلمة القابلة للتكوين هي عنوان الخادم. وفقًا لتوصيات جوجل ، يجب على المطور:



  1. ابحث عن ملف مصدر XML ، والذي يوجد عادةً في مجلد مشروع res / xml. يحتوي على معلومات حول جميع المعلمات القابلة للتكوين ، والتي تدخل بعد ذلك نظام EMM من خلال واجهات برمجة تطبيقات Google Play.



    <?xml version="1.0" encoding="utf-8"?>  
    <restrictions xmlns:android="http://schemas.android.com/apk/res/android">  
    <restriction  
             android:key="address"  
            android:title="@string/title"  
             android:restrictionType="string"  
             android:description="@string/description"  
             android:defaultValue="sample address" />  
     </restrictions>  
    
  2. قم بإدراج ملف app_restrictions.xml بشكل صريح في بيان التطبيق الخاص بك داخل علامة التطبيق.



    <application  
         android:allowBackup="true"  
         android:icon="@mipmap/ic_launcher"  
         android:label="@string/app_name"  
         android:roundIcon="@mipmap/ic_launcher_round"  
         android:supportsRtl="true"  
         android:theme="@style/AppTheme">  
     <meta-data android:name="android.content.APP_RESTRICTIONS"  
         android:resource="@xml/app_restrictions" />
  3. تنفيذ معالجة الحدث ACTION_APPLICATION_RESTRICTIONS_CHANGED في كود التطبيق. تضمن هذه الخطوة أن يتلقى التطبيق القيمة الجديدة كما حددها المسؤول.



    IntentFilter restrictionFilter = new IntentFilter(Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);
    BroadcastReceiver restrictionReciever = new BroadcastReceiver() {  
         @Override  
         public void onReceive(Context context, Intent intent) {  
              Bundle appRestrictions = restrictionsManager.getApplicationRestrictions();  
              /* 
              Fetch the values of managed application configuration from this bundle and take 
              action in your app accordingly. 
              */  
         }  
    };  




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





التطبيق قبل وبعد استلام التكوين من الخادم



كيف يمكن للمسؤول تكوين تطبيق من خلال وحدة تحكم Knox Manage؟



لضبط تكوينات التحكم ، يحتاج المسؤول إلى إضافة التطبيق نفسه عبر Knox Manage (KM) من متجر Google Play الخاص بالشركة ، أو تحميله من جهاز الكمبيوتر الخاص به باعتباره Managed Google Play Private (ثم النشر على Google Play الخاص بالشركة أمر اختياري). لتعيين تكوين جديد:



  1. في KM ، افتح علامة التبويب Group ، وحدد المجموعة المرتبطة بجهازك وانقر فوق الزر Application



  2. الآن حدد التطبيق الخاص بك وانقر فوق تعيين



  3. حدد Android Enterprise باعتباره الجهاز المستهدف. انقر فوق الزر "تعيين التكوين".



  4. إذا فعلت كل شيء بشكل صحيح وكان تطبيقك يدعم AppConfig ، فسيقوم KM بملء المعلمات الضرورية بالقيم. فقط أدخل عنوان الخادم (لا تنس إدخال اسم التكوين) وانقر على زر حفظ.



  5. اضغط على الزر Assign لتنزيل التكوين الجديد على الجهاز.



  6. انقر فوق "موافق" للتأكيد.





إذا كان التطبيق قيد التشغيل ، وقام المطور بتنفيذ دعم AppConfig بشكل صحيح ، فسيتلقى التطبيق عنوان الخادم الجديد المحدد في وحدة التحكم KM.





تم إدخال التطبيق بعنوان الخادم من خلال وحدة التحكم KM 



نحن لا نقوم بتكوين التطبيقات فقط ، ولكن أيضًا الجهاز نفسه



في مرحلة ما ، فكر المطورون: ماذا لو أردنا تكوين ليس فقط التطبيقات ، ولكن أيضًا معلمات الجهاز نفسه بطريقة مماثلة؟ يعد OEMConfig معيارًا جديدًا لإرسال التكوينات إلى التطبيقات المكتوبة من قبل الشركات المصنعة للأجهزة. يتم الإرسال باستخدام نفس مخطط XML. يتبع مصنعو أجهزة Android هذا المعيار لمنح المسؤولين مزيدًا من التحكم في أجهزتهم. لذلك ، على هواتف Samsung الذكية التي تدعم Knox ، يوجد حل - Knox Service Plugin (KSP) ، والذي يمكن تنزيله من Google Play. لكننا سنتحدث عن هذا مرة أخرى.



النتيجة



  • استخدم AppConfig لدعم التكوينات المدارة لتطبيقاتك. إنه سهل التنفيذ ، والأهم من ذلك أنه يمكن أن يكون مفيدًا حقًا.
  • أنشئ تهيئة جديدة وأرسلها إلى أجهزة عدد كبير من المستخدمين باستخدام نظام EMM (في مثالنا ، Knox Manage).
  • أقل عدد ممكن من العكازات ، استخدم الحلول الجاهزة والطرق القياسية!




موارد إضافية حول الموضوع:







المؤلف: بافيل ليبييف ،

مهندس ،

فريق تطوير الأعمال بين الشركات

والمؤسسات قبل / ما بعد البيع ، معهد سامسونج للبحث والتطوير في روسيا



All Articles