In diesem Artikel haben wir beschlossen, Anweisungen zu geben, wie Sie Ihre Android-Anwendung konfigurieren können, wenn Sie Entwickler sind. Das heißt: Was genau muss in Ihrer Anwendung geändert werden, um den Anforderungen des Unternehmenspublikums gerecht zu werden. Wir haben auch die gesamte Arbeit des Administrators am Beispiel der Knox Manage- Plattform beschrieben .
Formulierung des Problems
In einem Interview mit Kollegen des SRI SOKB (Wissenschaftliches und prüfendes Institut für integrierte Sicherheitssysteme) waren wir uns einig, dass eine moderne mobile Unternehmensinfrastruktur ohne ein zentrales Steuerungssystem nicht mehr vorstellbar ist.
In der Schweizerischen Bahngesellschaft SBB beispielsweise erhält jeder der 30.000 MitarbeiterEin Telefon, das auf Arbeitsaufgaben zugeschnitten ist - es gibt nicht nur E-Mails und einen Messenger, sondern beispielsweise auch das Senden von Nachrichten über Fehler. Einen Mitarbeiter mit der Einrichtung dieser gesamten Peripherie zu beauftragen, ist nicht nur in Arbeitsstunden kostspielig, sondern auch mit möglichen Fehlern im Prozess behaftet. In einigen Fällen - beispielsweise wenn Fehler auftreten - ist es einfacher, das Telefon vollständig neu zu starten und zu initialisieren, als nach einem Fehler zu suchen. Daher erleichtert eine richtig gewählte Lösung für eine Unternehmensanwendung das Leben eines IT-Administrators eines Unternehmens erheblich.
Bei der Einführung zentraler Systeme stehen wir normalerweise vor zwei Aufgaben:
- . , : Knox Mobile Enrollment, Android Zero Touch Android Enterprise Enrollment (EMM-, QR- .)
- . , ,
Als Lösung für das zweite Problem gibt es den AppConfig- Mechanismus . Dies ist keine Initiative eines einzelnen Unternehmens, sondern die derzeitige Konvention mehrerer Anbieter. Das Wesentliche ist kurz wie folgt: Der Entwickler implementiert in seiner mobilen Anwendung E-Mail, Messenger, Video-Client usw. - Unterstützung für verwaltete Konfigurationen , angepasst an einen bestimmten Benutzer. Der Entwickler entscheidet, welche Parameter in der Anwendung von außen eingestellt werden können (Kennung, Benutzername, Serveradresse). Über Google Play werden diese Parameter an das EMM-System gesendet. Außerdem können Sie bereits verwaltete Konfigurationen erstellen und diese remote bestimmten Geräten und Benutzern zuweisen.
So finden Sie heraus, ob diese Funktionalität in einer bestimmten Anwendung implementiert ist:
- Gehen Sie zu Google Play für Unternehmen.
- Finden Sie die gewünschte App.
- Wenn verwaltete Konfigurationen unterstützt werden, wird unter dem Namen das Symbol "Diese Anwendung kann remote konfiguriert werden" angezeigt:
Der allgemeine Prozess sieht folgendermaßen aus:
- Der Entwickler fügt seiner Anwendung Unterstützung für verwaltete Konfigurationen hinzu. In der XML- Schemadatei werden die Parameter angegeben, die remote konfiguriert werden, und im Anwendungscode werden diese Parameter erweitert. Anschließend lädt er die Anwendung auf das Google Play-Unternehmen hoch.
- Das EMM-System bietet eine Administrationsoberfläche, über die das XML-Schema mithilfe eines Iframes aus einer Anwendung in Google Play abgerufen wird .
- Der Administrator gibt die Parameterwerte ein, die auf Unternehmensgeräten angezeigt werden sollen. Danach überträgt das EMM-System die Konfiguration an Google Play.
- Google Play aktualisiert die App auf allen Unternehmensgeräten, um die neue Konfiguration widerzuspiegeln.
Der Prozess der Anpassung einer mobilen Unternehmensanwendung an AppConfig
Angenommen, Sie müssen eine Adresse und einen Benutzernamen remote in einen E-Mail-Client eingeben. Am Beispiel von Samsung Knox Manage sieht die Schnittstelle zum Konfigurieren dieser Parameter mithilfe einer verwalteten Konfiguration folgendermaßen aus:
Geben Sie im Feld E-Mail-Adresse $ emailaddress $ und im Benutzernamen $ username $ ein (diese Variablen werden je nach Benutzer dynamisch ersetzt).
Wie kann ein Entwickler seiner Anwendung AppConfig-Unterstützung hinzufügen?
Angenommen, wir entwickeln eine mobile Anwendung, bei der der konfigurierbare Parameter die Serveradresse ist. Gemäß den Empfehlungen von Google muss der Entwickler:
- Suchen Sie die XML-Ressourcendatei, die sich normalerweise im Projektordner res / xml befindet. Es enthält Informationen zu allen konfigurierbaren Parametern, die dann über Google Play-APIs in das EMM-System eingegeben werden.
<?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> - Listen Sie die Datei app_restrictions.xml explizit in Ihrem Anwendungsmanifest im Anwendungs-Tag auf.
<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" /> - Implementieren Sie die Behandlung des Ereignisses ACTION_APPLICATION_RESTRICTIONS_CHANGED im Anwendungscode. Dieser Schritt stellt sicher, dass die Anwendung den neuen Wert erhält, der vom Administrator definiert wurde.
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. */ } };
Aufgrund dieser einfachen Verfeinerung können Sie nach dem Veröffentlichen der Anwendung in Google Play eine benutzerdefinierte Konfiguration vom Server erhalten:

Anwendung vor und nach dem Empfang der Konfiguration vom Server
Wie kann ein Administrator eine Anwendung über die Knox Manage-Konsole konfigurieren?
Um Steuerungskonfigurationen festzulegen, muss der Administrator die Anwendung selbst über Knox Manage (KM) aus dem Google Play Store des Unternehmens hinzufügen oder sie als Managed Google Play Private von seinem Computer hochladen (die Veröffentlichung im Google Play des Unternehmens ist optional). So legen Sie eine neue Konfiguration fest:
- Öffnen Sie in KM die Registerkarte Gruppe, wählen Sie die Ihrem Gerät zugeordnete Gruppe aus und klicken Sie auf die Schaltfläche Anwendung
- Wählen Sie nun Ihre Anwendung aus und klicken Sie auf Zuweisen
- Wählen Sie Android Enterprise als Zielgerät aus. Klicken Sie auf die Schaltfläche Set Configuration.
- Wenn Sie alles richtig gemacht haben und Ihre Anwendung AppConfig unterstützt, füllt KM die erforderlichen Parameter mit Werten. Geben Sie einfach die Serveradresse ein (vergessen Sie nicht, den Konfigurationsnamen einzugeben) und klicken Sie auf die Schaltfläche Speichern.
- Klicken Sie auf die Schaltfläche Zuweisen, um die neue Konfiguration auf das Gerät herunterzuladen.
- Klicken Sie zur Bestätigung auf OK.
Wenn die Anwendung ausgeführt wird und der Entwickler die AppConfig-Unterstützung korrekt implementiert hat, erhält die Anwendung die neue Serveradresse, die in der KM-Konsole angegeben ist.
Anwendung mit der über die KM-Konsole eingegebenen Serveradresse
Wir konfigurieren nicht nur Anwendungen, sondern auch das Gerät selbst
Irgendwann dachten die Entwickler: Was ist, wenn wir nicht nur Anwendungen, sondern auch die Parameter des Geräts selbst auf ähnliche Weise konfigurieren möchten? OEMConfig ist ein neuer Standard zum Senden von Konfigurationen an Anwendungen, die von Geräteherstellern geschrieben wurden. Das Senden erfolgt mit demselben XML-Schema. Hersteller von Android-Hardware befolgen diesen Standard, um Administratoren mehr Kontrolle über ihr Gerät zu geben. Auf Samsung-Smartphones mit Knox-Unterstützung gibt es also eine Lösung - das Knox Service Plugin (KSP), das von Google Play heruntergeladen werden kann . Aber wir werden ein anderes Mal darüber sprechen.
Ergebnis
- Verwenden Sie AppConfig, um verwaltete Konfigurationen für Ihre Anwendungen zu unterstützen. Es ist recht einfach zu implementieren und vor allem kann es sehr nützlich sein.
- Erstellen Sie eine neue Konfiguration und senden Sie sie mithilfe des EMM-Systems an Geräte einer großen Anzahl von Benutzern (in unserem Beispiel Knox Manage).
- Verwenden Sie so wenig Krücken wie möglich vorgefertigte Lösungen und Standardmethoden!
Zusätzliche Ressourcen zum Thema:
- https://docs.samsungknox.com/admin/uem/km-configure-appconfig.htm
- https://docs.samsungknox.com/dev/managed-configurations/introduction-to-managed-configurations.htm
- https://developer.android.com/work/managed-configurations
- https://www.samsungknox.com/de/solutions/it-solutions/knox-manage
- https://www.appconfig.org/android/
- https://docs.samsungknox.com/admin/knox-service-plugin/welcome.htm
Gepostet von Pavel Lepeev,
Ingenieur, B2B Pre / Post Sales
Geschäftsentwicklungsteam
Samsung R & D Institute Russia