Apps bereitstellen

In den folgenden Abschnitten finden Sie nützliche Informationen zur Verteilung von Apps im Managed Google Play Store.

Apps installieren

Sie können Android-Apps aus dem Google Play Store auf Geräten installieren, die die Richtlinie verwenden. Um dieses Feature verwenden zu können, müssen Sie den Paketnamen der App kennen, die Sie installieren möchten. Sie haben zwei Möglichkeiten, den Paketnamen der App zu ermitteln:

  1. Der Paketname der App ist in der URL der Google Play Store-Seite enthalten. Die URL der Google Chrome-Anwendungsseite lautet beispielsweise

    https://play.google.com/store/apps/details?id=com.android.chrome
    und der Paketname com.android.chrome.

  2. Sie können den iFrame von Managed Google Play in Ihre EMM-Konsole einbetten, damit Ihre Kunden im Google Play Store suchen können. Wenn Ihr Kunde eine App im iFrame auswählt, erhält Ihre EMM-Konsole im Fall des Ereignisses den Paketnamen.

Anschließend können Sie die App in die Geräterichtlinien aufnehmen:

"applications":[
   {
      "installType":"FORCE_INSTALLED",
      "packageName":"com.android.chrome",
   },
],

Wenn Sie die Richtlinie auf ein Gerät anwenden, wird die App entweder auf dem Gerät installiert oder zum Managed Google Play Store auf dem Gerät hinzugefügt.

Apps für geschlossene Tests bereitstellen

In der Play Console können App-Entwickler einen geschlossenen Release (geschlossener Track) erstellen, um Vorabveröffentlichungen ihrer App mit einer Reihe von Testern zu testen. Dies wird als geschlossener Test bezeichnet. Durch die Unterstützung der Closed-Track-Distribution können Organisationen Drittanbieter-Apps sowie alle privaten Anwendungen testen, die sie intern entwickelt haben.

Beim Einrichten eines geschlossenen Tests in der Play Console können App-Entwickler ein Targeting auf bis zu 100 Organisationen (enterprises) vornehmen. Mit der Android Management API kannst du die auf ein Unternehmen ausgerichteten geschlossenen Tracks abrufen und diese geschlossenen Tracks mithilfe der Richtlinie an Geräte verteilen.

Apps, die für geschlossene Tests infrage kommen

Vor dem Einrichten eines geschlossenen Tests müssen App-Entwickler prüfen, ob ihre App die folgenden Anforderungen erfüllt:

  • Eine Produktionsversion der App wird bei Google Play (oder Managed Google Play für interne Apps) 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 den Versionscode.

Unternehmen zu geschlossenen Tests hinzufügen

Beim Einrichten eines geschlossenen Tests können App-Entwickler einer Organisation Zugriff auf geschlossene Tests gewähren, indem sie ihre Organisations-ID hinzufügen. So finden Ihre Kunden ihre Organisations-ID:

  1. Melden Sie sich mit einem Administratorkonto in Managed Google Play 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.

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 findest du unter Interne Apps über die Play Console veröffentlichen.

Geschlossene Tracks an Nutzer verteilen

Um eine Liste der Tracks abzurufen, die einem Unternehmen für eine bestimmte App zur Verfügung stehen, rufen Sie enterprises.applications auf. Die in der Antwort enthaltene appTrackInfo[]-Liste enthält für die jeweiligen Anwendungen Folgendes:

  • trackId: Die eindeutige Kennung des Tracks, die der releaseTrackId in der URL der Seite in der Play Console entnommen wird, auf der die Titelinformationen der App angezeigt werden.
  • trackAlias: Der für Menschen lesbare Name des Titels, der in der Play Console geändert werden kann.

Wenn du einen geschlossenen Track auf dem Gerät eines Nutzers installieren möchtest, gib accessibleTrackIds in den Geräterichtlinien des Nutzers an:

"applications":[
   {
      "installType":"AVAILABLE",
      "packageName":"com.google.android.gm",
      "accessibleTrackIds":[
          "123456",
          "789101"
       ]
   },
],

Wenn eine Richtlinie mehrere Tracks aus derselben Anwendung enthält (wie im Beispiel oben), installiert die Richtlinie den Track mit dem höchsten Versionscode.

Die trackIds werden in bestimmten Szenarien automatisch aus dem enterprises.applications-Aufruf entfernt, z. B.:

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

iFrame von Managed Google Play

Mit dem iFrame von Managed Google Play können Sie Managed Google Play direkt in Ihre EMM-Konsole einbetten und so Kunden ein einheitliches Mobilitätsmanagement bieten.

iFrame für Managed Google Play
Abbildung 1. iFrame von Managed Google Play

Der iFrame enthält eine Titelleiste und ein maximierbares seitliches Menü. Über das Menü können Nutzende verschiedene Seiten aufrufen:

  • Apps suchen: Ermöglicht IT-Administratoren, nach Google Play-Apps zu suchen, App-Details anzusehen und Apps auszuwählen.
  • Private Apps: Ermöglicht IT-Administratoren, private Apps für ihr Unternehmen zu veröffentlichen und zu verwalten.
  • Web-Apps: Ermöglicht IT-Administratoren, Websiteverknüpfungen als Apps zu veröffentlichen und zu verteilen.
  • Apps organisieren: IT-Administratoren können konfigurieren, wie Apps in der Play Store App auf den Geräten ihrer Nutzer organisiert werden.

Funktionen

In diesem Abschnitt werden die Funktionen beschrieben, die im iFrame von Managed Google Play verfügbar sind. Informationen zum Einbetten des iFrames und zum Implementieren dieser Funktionen finden Sie unter iFrame zu Ihrer Konsole hinzufügen.


iFrame zur Konsole hinzufügen

Schritt 1. Webtoken generieren

Rufen Sie enterprises.webTokens.create auf, um ein Webtoken zu generieren, das das Unternehmen identifiziert. Die Antwort enthält den value des Tokens.

  • Legen Sie für parentFrameUrl die URL des übergeordneten Frames fest, in dem der iFrame gehostet wird.
  • Mit iframeFeature können Sie angeben, welche Funktionen im iFrame aktiviert werden sollen: PLAY_SEARCH, PRIVATE_APPS, WEB_APPS, STORE_BUILDER (Apps organisieren). Wenn iframeFeature nicht festgelegt ist, aktiviert der iFrame standardmäßig alle features.

Schritt 2: iFrame rendern

Hier ein Beispiel für das Rendern des iFrames von Managed Google Play:

<script src="https://apis.google.com/js/api.js"></script>
<div id="container"></div>
<script>
  gapi.load('gapi.iframes', function() {
    var options = {
      'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT',
      'where': document.getElementById('container'),
      'attributes': { style: 'width: 600px; height:1000px', scrolling: 'yes'}
    }

    var iframe = gapi.iframes.getContext().openChild(options);
  });
</script>

Mit diesem Code wird ein iFrame im Container div generiert. Attribute, die auf das iFrame-Tag angewendet werden sollen, können wie oben erwähnt mit der Option „attributes“ festgelegt werden.

URL-Parameter

In der folgenden Tabelle sind alle verfügbaren Parameter für den iFrame aufgeführt, die der URL als URL-Parameter hinzugefügt werden können, z. B.:

'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT&showsearchbox=TRUE',
Parameter Seite Erforderlich Beschreibung
token Ja Das in Schritt 1 zurückgegebene Token.
iframehomepage Nein Die erste Seite, die angezeigt wird, wenn der iFrame gerendert wird. Mögliche Werte sind PLAY_SEARCH, WEB_APPS, PRIVATE_APPS und STORE_BUILDER (Anwendungen organisieren). Wenn keine Angabe erfolgt, wird durch die folgende Rangfolge bestimmt, welche Seite angezeigt wird: 1. PLAY_SEARCH, 2. PRIVATE_APPS, 3. WEB_APPS, 4. STORE_BUILDER.
locale Nein Ein korrekt formatiertes BCP-47-Sprachtag, mit dem der Inhalt im iFrame lokalisiert wird. Wenn keine Angabe erfolgt, wird der Standardwert en_US verwendet.
mode Nach Apps suchen Nein SELECT: Ermöglicht es IT-Administratoren, Apps auszuwählen.
APPROVE (Standardeinstellung): IT-Administratoren können Apps auswählen, genehmigen und ihre Genehmigung aufheben.
showsearchbox Nach Apps suchen Nein TRUE (Standardeinstellung): Das Suchfeld wird angezeigt und die Suchanfrage innerhalb des iFrames gestartet.
FALSE: wird das Suchfeld nicht angezeigt.
search Nach Apps suchen Nein Suchzeichenfolge. Wenn angegeben, leitet der iFrame den IT-Administrator zu den Suchergebnissen mit dem angegebenen String weiter.

Schritt 3. iFrame-Ereignisse verarbeiten

Im Rahmen der Integration sollten Sie auch die folgenden Ereignisse verarbeiten.

VeranstaltungBeschreibung
onproductselect Der Nutzer wählt eine App aus oder genehmigt sie. Dadurch wird ein Objekt zurückgegeben, das Folgendes enthält:
{
    "packageName": The package name of the app, e.g. "com.google.android.gm",
    "productId": The product ID of the app, e.g. "app:com.google.android.gm",
    "action": The type of action performed on the document. Possible values are:
    "approved", "unapproved" or "selected." If you implement the iframe in SELECT
    mode, the only possible value is "selected".
}
    
Im folgenden Beispiel wird gezeigt, wie auf onproductselect gewartet wird:
iframe.register('onproductselect', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);


Eigene App in den Google Play Store hochladen

Wenn du oder dein Kunde eine Android-App entwickelt hast, kannst du sie über die Google Play Console in den Play Store hochladen.

Wenn du nicht möchtest, dass die App im Play Store öffentlich verfügbar ist, kannst du mithilfe der Google Play Console deine App auf ein einzelnes Unternehmen beschränken. Eine weitere Möglichkeit besteht darin, eine private App programmatisch mithilfe der Google Play Custom App Publishing API zu veröffentlichen. Interne Apps sind nur für das Unternehmen verfügbar, auf das sie beschränkt sind. Sie können weiterhin mithilfe einer Richtlinie installiert werden, sind aber für Nutzer außerhalb Ihres Unternehmens nicht sichtbar.