Apps bereitstellen

Die Google Play EMM API unterstützt die folgenden Bereitstellungsmethoden für öffentliche und private Apps:

Apps manuell über den Managed Google Play Store installieren

In den policy der Device kannst du festlegen, welche Apps für die Installation zur Verfügung stehen, und sie durch Aufrufen von Devices.update festlegen. Wenn Sie ein neues Gerät bereitstellen, sollten Sie die Richtlinie festlegen, bevor Sie dem Gerät das Managed Google Play-Konto hinzufügen. Andernfalls wird die Richtlinie für kurze Zeit nach dem Hinzufügen des Kontos zum Gerät nicht angewendet.

Das Verhalten des Managed Play Store wird durch den Wert von policy.productAvailabilityPolicy definiert:

  • all: Alle öffentlichen Apps aus dem Play Store sind verfügbar.
  • whitelist: Nur die unter policy.productPolicy aufgeführten Apps sind verfügbar.

In beiden Fällen werden alle Anwendungen in policy.productPolicy standardmäßig dem Store-Layout des Unternehmens hinzugefügt. Das Store-Layout des Unternehmens ist die Startseite des Managed Play Store, wenn whitelist ausgewählt ist. Wenn all ausgewählt ist, kann auf dem Tab „Geschäftliche Apps“ zugegriffen werden. Sie können Ihrem Kunden ermöglichen, das Store-Layout des Unternehmens durch Einbetten des iFrames für den Managed Play Store anzupassen (siehe Apps mit dem iFrame von Managed Google Play organisieren).

Per Fernzugriff Apps auf Nutzergeräten installieren

Wenn Sie eine App per Fernzugriff (auch Push-Installation genannt) auf dem Gerät eines Nutzers installieren möchten, legen Sie policy.productPolicy.autoInstallPolicy in den policy der Device fest. Wenn Sie ein neues Gerät bereitstellen, sollten Sie die Richtlinie festlegen, bevor Sie dem Gerät das Managed Google Play-Konto hinzufügen. Andernfalls wird die Richtlinie für kurze Zeit nach dem Hinzufügen des Kontos zum Gerät nicht angewendet.

Für autoInstallMode kann Folgendes festgelegt werden:

  • doNotAutoInstall: Die App wird nicht automatisch installiert.
  • autoInstallOnce: Die App wird automatisch einmal installiert. Wenn der Nutzer die App deinstalliert, wird sie nicht noch einmal installiert.
  • forceAutoInstall: Die App wird automatisch installiert. Wenn der Nutzer die App deinstalliert, wird sie noch einmal installiert. Auf verwalteten Geräten sollte der DPC die Deinstallation mit DevicePolicyManager.setUninstallBlocked blockieren.

Bei einem Fehler (Verbindungsverlust, Speichermangel usw.) wird die Installation automatisch wiederholt, bis sie erfolgreich ist. Es wird eine Wiederholungsstrategie mit exponentiellem Backoff angewendet, um bei nicht wiederherstellbaren Fehlern die Verschwendung von Akku und Daten zu vermeiden.

Installationspriorität

Du kannst die Reihenfolge der Installationen festlegen, indem du autoInstallPriority festlegst. Die Priorität muss eine vorzeichenlose Ganzzahl sein und der Standardwert ist 0. Anwendungen werden in aufsteigender Reihenfolge oder Priorität installiert. Das bedeutet, dass Anwendungen mit der niedrigeren Priorität zuerst installiert werden.

Einschränkungen für Installationen

Sie können Installationseinschränkungen für jede App festlegen, indem Sie einen autoInstallConstraint festlegen. So können Sie den erforderlichen Status des Geräts während der Installation steuern:

  • ob das Gerät mit einem WLAN verbunden sein soll,
  • ob das Gerät aufgeladen werden soll,
  • und ob das Gerät inaktiv sein soll, d. h. vom Nutzer nicht aktiv verwendet wird.

Werden die Einschränkungen nicht sofort erfüllt, werden die betroffenen Installationen in die Warteschlange gestellt, bis die Einschränkungen erfüllt sind.

In einer autoInstallConstraint wird die UND-Regel zwischen den Feldern angewendet. Beispiel: Mit der folgenden autoInstallConstraint muss das Gerät sowohl aufladen als auch mit einem kostenlosen Netzwerk (z.B. WLAN) verbunden sein, damit die App installiert werden kann:

"autoInstallConstraint": [
  "chargingStateConstraint" : "chargingRequired",
  "networkTypeConstraint" : "unmeteredNetwork"
]

Apps auf neu bereitgestellten Geräten automatisch installieren

Die Google Play EMM API sendet eine NewDeviceEvent-Benachrichtigung, wenn ein Gerät zum ersten Mal bereitgestellt wird. Damit Apps automatisch per Push auf neu bereitgestellten Geräten installiert werden, warten Sie auf NewDeviceEvent-Benachrichtigungen. Rufe von jedem NewDeviceEvent das userId und die deviceId ab und rufe dann Devices.update auf, um die Richtlinie für dieses Gerät festzulegen.

Informationen zum Abonnieren von EMM-Benachrichtigungen finden Sie unter EMM-Benachrichtigungen einrichten.

Apps für geschlossene Tests bereitstellen

Geschlossene Tests ermöglichen es App-Entwicklern, von vertrauenswürdigen Nutzern Feedback zu ersten Versionen ihrer App zu erhalten. Entwickler können in der Google Play Console geschlossene Tests einrichten. Mit der Play EMM API können IT-Administratoren geschlossene Versionen (auch Tracks genannt) von Apps an bestimmte Nutzer verteilen. Ihre Unternehmenskunden können mit dieser Funktion nicht nur Drittanbieter-Apps testen, sondern auch intern entwickelte private Apps testen.

Geeignete Apps

Bevor ein Entwickler ein Unternehmen zur Liste der geschlossenen Tester einer App hinzufügt, sollte die App die folgenden Kriterien erfüllen:

  • Eine Produktionsversion der App wird bei Google Play veröffentlicht.
  • In der Google Play Console ist Managed Google Play auf der Seite Erweiterte Einstellungen der App aktiviert.
  • Alle geschlossenen Versionen der App erfüllen die Anforderungen an Versionscodes.

Unternehmen zu geschlossenen Tests hinzufügen

App-Entwickler können Unternehmen zu Tests hinzufügen, die die Methoden Geschlossener Alphatest oder Alphatest mit Google Groups verwenden. Eine Anleitung finden Sie in der Anleitung zum Einrichten eines offenen, geschlossenen oder internen Tests. Der Entwickler muss die Organisations-ID (auch als Unternehmens-ID bezeichnet) jedes teilnehmenden Unternehmens eingeben. IT-Administratoren können die ID ihrer Organisation an App-Entwickler von Drittanbietern weitergeben. Gehen Sie dazu so vor:

  1. Melden Sie sich im Managed Play Store an.
  2. Klicken Sie auf Administratoreinstellungen.
  3. Kopieren Sie den Organisations-ID-String aus dem Feld mit den Organisationsinformationen und senden Sie ihn an den Entwickler.

Zusätzliche Anforderungen für interne Apps

Bei privaten Apps muss der Entwickler außerdem auf der Seite „Erweiterte Einstellungen“ der App auf dem Tab Managed Google Play die Organisations-ID jedes teilnehmenden Unternehmens hinzufügen. Eine Anleitung dazu finden Sie unter Private App veröffentlichen.

Geschlossene Tracks an Nutzer vertreiben

Rufen Sie Products.get auf, um eine Liste der für ein Unternehmen verfügbaren Tracks für eine bestimmte App abzurufen. Die in der Antwort enthaltene Liste appTracks[] enthält die für jede Anwendung verfügbaren Tracks. appTracks[].trackAlias ist ein für Nutzer lesbarer Name für den Track, den Sie in Ihrer EMM-Konsole anzeigen können, und appTracks[].trackId die maschinenlesbare ID für den Track.

Wenn du einem Nutzer die Sichtbarkeit des geschlossenen Tracks einer App gewähren möchtest, lege die policy.productPolicy[].trackIds[] in den policy der Device fest. Wenn für ein Gerät mehrere Tracks verfügbar sind, wird die verfügbare Version mit dem höchsten Versionscode installiert.

Die trackIds werden in bestimmten Szenarien automatisch aus dem Products.get-Aufruf entfernt, z. B. in den folgenden Fällen:

  • Das APK des Tracks wurde in einen anderen Track oder in den Produktions-Track hochgestuft.
  • Die Produktionsversion wird mit einer höheren Version als der Track aktualisiert.
  • Der Entwickler beendet den Track.

Kostenpflichtige App-Lizenzen im Blick behalten

Bei kostenpflichtigen Apps erfasst das Objekt Grouplicenses, wie viele Lizenzen einem Unternehmen gehören und wie viele Lizenzen verwendet werden. Sie können Grouplicenses.get aufrufen, um Lizenzdetails für eine App abzurufen.

Bevor eine kostenpflichtige App auf einem Gerät installiert werden kann, muss das Unternehmen eine Lizenz dafür haben. Wenn eine Lizenz verfügbar ist, wird die App auf dem Gerät installiert und ein Entitlements-Objekt wird erstellt. Ein Entitlements-Objekt verknüpft eine Lizenz mit einem Nutzer und verringert die Anzahl der verfügbaren Lizenzen für die Anwendung. Wenn keine Lizenzen verfügbar sind, schlägt die Installation der Anwendung fehl und es wird kein Entitlements-Objekt erstellt.

Grouplicenses- und Entitlements-Objekte werden nicht von Anwendungen verwendet, die kostenlos angeboten werden.