Mengonfigurasi aplikasi seluler perusahaan menggunakan AppConfig

Jika Anda adalah seorang administrator di sebuah perusahaan yang memiliki aplikasi seluler internal, tidak peduli untuk apa - baik itu utusan biasa atau surat, atau sesuatu yang istimewa seperti pemindai kode batang - cepat atau lambat Anda akan dihadapkan pada tugas konfigurasi jarak jauh dan manajemen aplikasi. Anda dapat menggunakan kruk untuk meresepkan id atau alamat server tertentu di semua telepon, tetapi ada juga solusi siap pakai - de facto sudah menjadi standar yang dapat digunakan bersama dengan salah satu platform EMM / UEM yang ada (Enterprise Mobile Management / Unified Endpoint Management).



Pada artikel ini, kami memutuskan untuk memberikan petunjuk tentang cara membuat aplikasi Android Anda dapat dikonfigurasi jika Anda adalah pengembangnya. Yaitu: apa yang sebenarnya perlu diubah dalam aplikasi Anda untuk memenuhi kebutuhan audiens perusahaan. Kami juga menjelaskan semua pekerjaan administrator yang menggunakan platform Knox Manage sebagai contoh .

 





Rumusan masalah



Dalam sebuah wawancara dengan rekan dari SRI SOKB (Institut Ilmiah dan Pengujian untuk Sistem Keamanan Terpadu), kami sepakat bahwa infrastruktur seluler perusahaan modern tidak dapat lagi dibayangkan tanpa sistem kontrol terpusat. 



Misalnya, di perusahaan kereta api Swiss SBB, masing-masing dari 30.000 karyawan menerimatelepon yang disesuaikan untuk tugas-tugas kantor - tidak hanya ada mail dan messenger, tetapi juga, misalnya, mengirim pesan tentang malfungsi. Untuk mempercayakan seorang karyawan dengan tugas menyiapkan seluruh periferal ini tidak hanya mahal dalam jam kerja, tetapi juga penuh dengan kemungkinan kesalahan dalam prosesnya. Dan dalam beberapa kasus - misalnya, ketika terjadi malfungsi - lebih mudah untuk mem-reflash dan menginisialisasi ulang ponsel daripada mencari kesalahan. Oleh karena itu, solusi yang dipilih dengan benar untuk aplikasi perusahaan membuat kehidupan seorang administrator TI perusahaan jauh lebih mudah.



Biasanya, saat memperkenalkan sistem terpusat, kita dihadapkan pada dua tugas:



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

  2. . ,   ,





Sebagai solusi untuk masalah kedua, ada mekanisme AppConfig , ini bukan inisiatif dari beberapa perusahaan tunggal, tetapi konvensi beberapa vendor saat ini. Esensinya secara singkat sebagai berikut: pengembang mengimplementasikan dalam aplikasi selulernya - email, messenger, klien komunikasi video, dll. - Dukungan untuk Konfigurasi Terkelola , disesuaikan untuk pengguna tertentu. Pengembang memutuskan parameter apa dalam aplikasi yang dapat diatur dari luar (pengidentifikasi, nama pengguna, alamat server). Melalui Google Play perusahaan , parameter ini masuk ke sistem EMM. Dan itu sudah memungkinkan Anda membuat konfigurasi terkelola dan menetapkannya dari jarak jauh ke perangkat dan pengguna tertentu. 



Untuk mengetahui apakah fungsionalitas tersebut diimplementasikan dalam aplikasi tertentu:



  • Buka Google Play perusahaan.

  • Temukan aplikasi yang Anda inginkan. 

  • Jika mendukung konfigurasi terkelola, Anda akan melihat ikon "Aplikasi ini dapat dikonfigurasi dari jarak jauh" dengan nama:







 Proses umumnya terlihat seperti ini:



  1. Pengembang menambahkan dukungan untuk konfigurasi terkelola ke aplikasinya. Dalam file skema XML, ini menentukan parameter yang dikonfigurasi dari jarak jauh, dan dalam kode aplikasi, itu memperluas parameter tersebut. Kemudian dia mengunggah aplikasinya ke Google Play perusahaan.

  2. Sistem EMM menyediakan antarmuka admin yang melaluinya skema XML diambil dari aplikasi di Google Play menggunakan iframe .

  3. Administrator memasukkan nilai parameter yang akan muncul di perangkat perusahaan. Setelah itu, sistem EMM mentransfer konfigurasi ke Google Play.

  4. Google Play memperbarui aplikasi di semua perangkat perusahaan untuk mencerminkan konfigurasi baru.



    



Proses mengadaptasi aplikasi seluler perusahaan ke AppConfig



     Misalkan Anda perlu memasukkan alamat dan nama pengguna dari jarak jauh di klien email. Menggunakan Samsung Knox Manage sebagai contoh, antarmuka untuk mengonfigurasi parameter ini menggunakan konfigurasi terkelola akan terlihat seperti ini:







Untuk bidang Alamat email, masukkan $ emailaddress $, dan untuk Nama pengguna, tentukan $ username $ (variabel ini akan diganti secara dinamis, bergantung pada pengguna tertentu).       



Bagaimana cara pengembang menambahkan dukungan AppConfig ke aplikasi mereka?



Misalkan kita sedang mengembangkan aplikasi seluler dengan parameter yang dapat dikonfigurasi adalah alamat server. Menurut rekomendasi Google, pengembang harus:



  1. Temukan file sumber daya XML, yang biasanya ditemukan di folder proyek res / xml. Ini berisi informasi tentang semua parameter yang dapat dikonfigurasi, yang kemudian memasuki sistem EMM melalui Google Play API.



    <?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. Cantumkan secara eksplisit file app_restrictions.xml dalam manifes aplikasi Anda di dalam tag aplikasi.



    <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. Implementasikan penanganan event ACTION_APPLICATION_RESTRICTIONS_CHANGED dalam kode aplikasi. Langkah ini memastikan bahwa aplikasi menerima nilai baru seperti yang ditentukan oleh administrator.



    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. 
              */  
         }  
    };  




Sebagai hasil dari perbaikan sederhana ini, setelah mempublikasikan aplikasi di Google Play perusahaan, Anda akan dapat menerima konfigurasi khusus dari server: 





Aplikasi sebelum dan setelah menerima konfigurasi dari server



Bagaimana seorang administrator dapat mengkonfigurasi aplikasi melalui konsol Knox Manage?



Untuk menyetel konfigurasi kontrol, administrator perlu menambahkan aplikasi itu sendiri melalui Knox Manage (KM) dari Google Play store perusahaan, atau mengunggahnya dari komputernya sebagai Managed Google Play Private (kemudian memublikasikan ke Google Play perusahaan bersifat opsional). Untuk mengatur konfigurasi baru:



  1. Di KM, buka tab Grup, pilih grup yang terkait dengan perangkat Anda dan klik tombol Aplikasi



  2. Sekarang pilih aplikasi Anda dan klik Assign



  3. Pilih Android Enterprise sebagai Perangkat Target. Klik pada tombol Set Configuration.



  4. Jika Anda melakukan semuanya dengan benar dan aplikasi Anda memiliki dukungan AppConfig, maka KM akan mengisi parameter yang diperlukan dengan nilai. Masukkan saja alamat server (jangan lupa masukkan nama konfigurasi) dan klik tombol Simpan.



  5. Tekan tombol Assign untuk mendownload konfigurasi baru ke perangkat.



  6. Klik OK untuk konfirmasi.





Jika aplikasi sedang berjalan, dan pengembang telah menerapkan dukungan AppConfig dengan benar, maka aplikasi akan menerima alamat server baru yang ditentukan di konsol KM.





Aplikasi dengan alamat server yang dimasukkan melalui konsol KM 



Kami tidak hanya mengkonfigurasi aplikasi, tetapi juga perangkat itu sendiri



Pada titik tertentu, pengembang berpikir: bagaimana jika kita ingin mengonfigurasi tidak hanya aplikasi, tetapi juga parameter perangkat itu sendiri dengan cara yang serupa? OEMConfig adalah standar baru untuk mengirim konfigurasi ke aplikasi yang ditulis oleh produsen perangkat. Pengiriman dilakukan menggunakan skema XML yang sama. Produsen perangkat keras Android mengikuti standar ini untuk memberi administrator lebih banyak kontrol atas perangkat mereka. Jadi, pada smartphone Samsung dengan dukungan Knox, ada solusi - Knox Service Plugin (KSP), yang dapat diunduh dari Google Play. Tapi kita akan membicarakannya lain kali.



Hasil



  • Gunakan AppConfig untuk mendukung konfigurasi terkelola untuk aplikasi Anda. Ini cukup mudah untuk diterapkan, dan yang terpenting, ini bisa sangat berguna.
  • Buat konfigurasi baru dan kirimkan ke perangkat dengan sejumlah besar pengguna menggunakan sistem EMM (dalam contoh kami, Knox Manage).
  • Sesedikit mungkin kruk, gunakan solusi siap pakai dan metode standar!




Sumber daya tambahan tentang topik:







Diposting oleh Pavel Lepeev,

Engineer, B2B Pra / Pasca Penjualan

Tim Pengembangan Bisnis

Samsung R&D Institute Russia



All Articles