L'API EMM di Google Play supporta i seguenti metodi di distribuzione per app pubbliche e private:
- Gli utenti possono installare manualmente le app dalla versione gestita Google Play Store.
- Gli amministratori IT possono installare da remoto le app sui computer degli utenti dispositivi mobili.
Installare manualmente le app dalla versione gestita di Google Play Store
Puoi definire quali app possono essere installate da un utente nel
policy
di Device
e impostalo chiamando Devices.update
. Quando
quando si esegue il provisioning di un nuovo dispositivo, devi impostare il criterio prima di aggiungere la
l'account Google Play al dispositivo, altrimenti il criterio non verrà applicato
per un breve periodo di tempo dopo l'aggiunta dell'account al dispositivo.
Il comportamento della versione gestita del Play Store è definito dal valore
policy.productAvailabilityPolicy
:
all
: sono disponibili tutte le app pubbliche del Play Store.whitelist
: sono disponibili solo le app elencate inpolicy.productPolicy
.
In entrambi i casi, tutte le app in policy.productPolicy
vengono aggiunte per impostazione predefinita a
layout del negozio dell'azienda. Il layout del negozio dell'azienda è la home page
della versione gestita del Play Store quando è selezionata l'opzione whitelist
e puoi accedervi
in un'app "App di lavoro" tab quando è selezionato all
. Puoi consentire al tuo cliente di
personalizzare il layout del negozio aziendale incorporando la versione gestita di Google Play
iframe (vedi Organizzare le app con l'iframe della versione gestita di Google Play).
Installare da remoto le app sui dispositivi degli utenti
Per installare da remoto (detta anche installazione push) un'app sul dispositivo di un utente, imposta
policy.productPolicy.autoInstallPolicy
in policy
di Device
. Quando
quando si esegue il provisioning di un nuovo dispositivo, devi impostare il criterio prima di aggiungere la
l'account Google Play al dispositivo, altrimenti il criterio non verrà applicato
per un breve periodo di tempo dopo l'aggiunta dell'account al dispositivo.
È possibile impostare autoInstallMode
su:
doNotAutoInstall
: l'app non viene installata automaticamente.autoInstallOnce
: l'app viene installata automaticamente una volta, se l'utente disinstalla l'app e non verrà più installato.forceAutoInstall
: l'app viene installata automaticamente se l'utente disinstalla l'app e verrà installata di nuovo. Sui dispositivi gestiti, il DPC (controller criteri dispositivi) dovresti bloccare la disinstallazione utilizzandoDevicePolicyManager.setUninstallBlocked
In caso di errore (perdita di connettività, mancanza di spazio di archiviazione e così via), le installazioni nuovi tentativi automatici finché l'operazione non riesce. Una strategia per nuovi tentativi con backoff esponenziale viene applicata per evitare di sprecare la batteria e i dati nel caso di un errori.
Priorità di installazione
Puoi scegliere l'ordine delle installazioni impostando autoInstallPriority
. La
la priorità deve essere un numero intero senza segno e il valore predefinito è 0. Le app saranno
vengono installate in ordine crescente o in ordine di priorità, vale a dire che le app con il
verrà installato per primo.
Vincoli di installazione
Puoi impostare vincoli di installazione per ogni app impostando un valore
autoInstallConstraint
, che ti consente di controllare lo stato richiesto della
dispositivo durante l'installazione:
- se il dispositivo deve essere connesso a una rete Wi-Fi
- se il dispositivo deve essere in carica,
- e se il dispositivo deve essere inattivo (non utilizzato attivamente dall'utente).
Se i vincoli non vengono soddisfatti immediatamente, le installazioni interessate verranno messe in coda fino a quando i vincoli non vengono soddisfatti.
In un'istruzione autoInstallConstraint
, la regola AND viene applicata tra i campi. Per
ad esempio, con il seguente valore autoInstallConstraint
, il dispositivo deve essere sia
in carica e collegato a una rete illimitata (ad esempio, Wi-Fi) per
installato:
"autoInstallConstraint": [
"chargingStateConstraint" : "chargingRequired",
"networkTypeConstraint" : "unmeteredNetwork"
]
Installa automaticamente le app sui dispositivi di cui è stato eseguito il provisioning di recente
L'API EMM di Google Play invia una notifica NewDeviceEvent
quando un dispositivo viene
di cui è stato eseguito il provisioning. Esegui il push automatico dell'installazione delle app nelle nuove istanze di cui è stato eseguito il provisioning
dispositivi, ascolta le notifiche di NewDeviceEvent
. Da ogni NewDeviceEvent
,
recupera userId
e deviceId
, quindi chiama Devices.update
per impostare
il criterio per quel dispositivo.
Per informazioni su come abbonarti alle notifiche EMM, consulta Configura le notifiche EMM.
Distribuire app per i test chiusi
I test chiusi consentono agli sviluppatori di app di ricevere feedback sulle versioni in anteprima di utenti attendibili. Gli sviluppatori possono impostare test chiusi in Google Play Google Cloud. Puoi utilizzare l'API EMM di Play per consentire agli amministratori IT di distribuire (chiamate anche canali) di app per utenti specifici. La tua azienda I clienti possono utilizzare questa funzione non solo per testare app di terze parti, ma anche per testare di app private sviluppate internamente.
App idonee
Prima che uno sviluppatore aggiunga un'azienda all'elenco di tester chiusi di un'app, deve soddisfare i seguenti criteri:
- Su Google Play viene pubblicata una versione di produzione dell'app.
- In Google Play Console, la versione gestita di Google Play sia attivata nella pagina Impostazioni avanzate.
- Tutte le versioni chiuse dell'app soddisfano requisiti del codice di versione.
Aggiungi un'azienda ai test chiusi
Gli sviluppatori di app possono aggiungere aziende ai test che utilizzano i metodi Alpha chiuso Test o Alpha test con gruppi Google. Per istruzioni, vedi la guida su come impostare un test aperto, chiuso o interno. Lo sviluppatore deve inserire l'ID organizzazione (chiamato anche ID azienda) di ciascuna azienda partecipante. Gli amministratori IT possono fornire dell'organizzazione agli sviluppatori di app di terze parti:
- Accedi alla versione gestita di Google Play Store.
- Fai clic su Impostazioni amministratore.
- Copia la stringa ID organizzazione dalla casella Informazioni sull'organizzazione e la invii allo sviluppatore.
Requisiti aggiuntivi per le app private
Per le app private, lo sviluppatore deve anche aggiungere l'ID organizzazione di ogni all'azienda che partecipano nella scheda Versione gestita di Google Play della Impostazioni avanzate. Per istruzioni, vedi Pubblicare un'app privata.
Distribuisci canali chiusi agli utenti
Per recuperare un elenco di canali disponibili per un'azienda per un'app specifica:
chiama Products.get
. L'elenco appTracks[]
contenuto nella risposta include
i canali disponibili per ogni app. appTracks[].trackAlias
è un utente
un nome leggibile per il canale che puoi visualizzare nella console EMM e
appTracks[].trackId
è l'ID leggibile dalla macchina per la traccia.
Per concedere la visibilità a un utente per il canale chiuso di un'app, imposta il valore
policy.productPolicy[].trackIds[]
in
policy
di Device
. Se per un dispositivo sono disponibili più tracce, il
verrà installata la versione disponibile
con il codice di versione più recente.
I trackId verranno rimossi automaticamente dalla chiamata a Products.get
in alcune
scenari come il seguente:
- L'APK del canale è promosso in un altro canale o nella versione di produzione.
- La versione di produzione viene aggiornata con una versione superiore rispetto al canale.
- Uno sviluppatore interrompe il canale.
Tenere traccia delle licenze di app a pagamento
Per le app a pagamento, l'oggetto Grouplicenses
tiene traccia del numero di licenze
dell'azienda e quante licenze sono in uso. Puoi chiamare
Grouplicenses.get
per ottenere i dettagli della licenza di un'app.
Per poter installare un'app a pagamento su un dispositivo, l'azienda deve disporre di un
licenza disponibile per l'app. Se è disponibile una licenza, l'app viene installata
sul dispositivo e viene creato un oggetto Entitlements
. Entitlements
collega una licenza a un utente e diminuisce il numero di licenze disponibili
per l'app. Se non sono disponibili licenze, l'installazione dell'app non va a buon fine e
non è stato creato alcun oggetto Entitlements
.
Gli oggetti Grouplicenses
e Entitlements
non vengono utilizzati dalle applicazioni che sono
distribuiti senza costi aggiuntivi.