Quando un utente cerca o sfoglia app da scaricare su Google Play, i risultati vengono filtrati in base alle applicazioni compatibili con il dispositivo. Ad esempio, se un'app richiede una fotocamera, Google Play non la mostrerà ai dispositivi che non ne hanno una. Questo filtro aiuta gli sviluppatori a gestire la distribuzione delle loro app e a garantire la migliore esperienza possibile per gli utenti.
Il filtro in Google Play si basa su diversi tipi di metadati e impostazioni di configurazione delle app, tra cui dichiarazioni manifest, librerie richieste, dipendenze dell'architettura e controlli di distribuzione impostati in Google Play Console, come il targeting geografico, i prezzi e altro ancora.
Il filtro di Google Play si basa in parte sulle dichiarazioni manifest e su altri aspetti del framework Android, ma i comportamenti di filtro effettivi sono distinti dal framework e non sono legati a livelli API specifici. Questo documento specifica le regole di filtro correnti utilizzate da Google Play.
Come funzionano i filtri su Google Play
Google Play utilizza le restrizioni dei filtri descritte di seguito per determinare se mostrare la tua applicazione a un utente che sta cercando o sfogliando app dall'app Google Play.
Per decidere se mostrare la tua app, Google Play controlla i requisiti hardware e software del dispositivo, nonché l'operatore, la posizione e altre caratteristiche. Poi li confronta con le limitazioni e le dipendenze espresse dal file manifest e dai dettagli di pubblicazione dell'applicazione.
Se l'applicazione è compatibile con il dispositivo in base alle regole di filtro, Google Play la mostra all'utente. In caso contrario, Google Play nasconde la tua applicazione dai risultati di ricerca e dalla navigazione nelle categorie, anche se un utente richiede specificamente l'app facendo clic su un link diretto che rimanda direttamente all'ID dell'app all'interno di Google Play.
Puoi utilizzare qualsiasi combinazione dei filtri disponibili per la tua app. Ad esempio, puoi impostare un requisito minSdkVersion
di "4"
e impostare smallScreens="false"
nell'app, quindi, quando carichi l'app su Google Play, puoi scegliere come target solo i paesi europei (operatori). I filtri di Google Play impediranno quindi che l'applicazione sia disponibile su qualsiasi dispositivo
che non soddisfi tutti e tre questi requisiti.
Tutte le limitazioni di filtro sono associate alla versione di un'applicazione e possono cambiare da una versione all'altra. Ad esempio, se un utente ha installato la tua applicazione e pubblichi un update che rende l'app invisibile all'utente, quest'ultimo non vedrà che è disponibile un aggiornamento.
Filtri sul sito web di Google Play
Quando gli utenti visitano il sito web di Google Play, possono vedere tutte le applicazioni pubblicate. Tuttavia, il sito web di Google Play confronta i requisiti dell'applicazione con ciascuno dei dispositivi registrati dell'utente per verificarne la compatibilità e consente di installare l'applicazione solo se è compatibile con il dispositivo.
Filtri in base al file manifest dell'app
La maggior parte dei filtri viene attivata dagli elementi all'interno del file manifest di un'applicazione, AndroidManifest.xml (anche se non tutti gli elementi del file manifest possono attivare il filtro). La tabella 1 elenca gli elementi manifest da utilizzare per attivare il filtro e spiega come funziona il filtro per ciascun elemento.
Tabella 1. Elementi manifest che attivano il filtro su Google Play.
Elemento manifest | Nome filtro | Come funziona |
---|---|---|
<supports-screens>
|
Dimensioni schermo |
Un'applicazione indica le dimensioni dello schermo che è in grado di supportare impostando gli attributi dell'elemento Come regola generale, Google Play presuppone che la piattaforma sul dispositivo possa adattare i layout più piccoli agli schermi più grandi, ma non possa adattare i layout più grandi agli schermi più piccoli. Pertanto, se un'applicazione dichiara il supporto solo per le dimensioni dello schermo "normali", Google Play rende l'applicazione disponibile sia per i dispositivi con schermo normale che per quelli con schermo grande, ma la filtra in modo che non sia disponibile per i dispositivi con schermo piccolo. Se un'applicazione non dichiara attributi per
Esempio 1 Esempio 2 Esempio 3 Per ulteriori informazioni su come dichiarare il supporto per le dimensioni dello schermo nella tua applicazione, consulta |
<uses-configuration>
|
Configurazione
dispositivo: tastiera, navigazione, touch screen |
Un'applicazione può richiedere determinate funzionalità hardware e Google Play mostrerà l'app solo sui dispositivi con l'hardware richiesto. Esempio 1 Esempio 2 Per maggiori dettagli, vedi |
<uses-feature>
|
Funzionalità del dispositivo ( name ) |
Un'applicazione può richiedere la presenza di determinate funzionalità sul dispositivo. Questa funzionalità è stata introdotta in Android 2.0 (livello API 5). Esempio 1 Esempio 2 Per informazioni complete, vedi Filtro in base alle funzionalità implicite:in alcuni casi, Google Play interpreta le autorizzazioni richieste tramite gli elementi |
Versione OpenGL-ES ( openGlEsVersion ) |
Un'applicazione può richiedere che il dispositivo supporti una versione specifica di OpenGL ES utilizzando l'attributo Esempio 1 Esempio 2 Esempio 3 Esempio 4 Per maggiori dettagli, vedi |
|
<uses-library> |
Librerie software | Un'applicazione può richiedere la presenza di librerie condivise specifiche sul dispositivo. Esempio 1 Esempio 2 Per maggiori dettagli, vedi |
<uses-permission> |
Google Play non applica filtri in base agli elementi In generale, se un'applicazione richiede autorizzazioni correlate all'hardware, Google Play presume che l'applicazione richieda le funzionalità hardware di base, anche se potrebbero non essere presenti dichiarazioni corrispondenti a Per un elenco delle autorizzazioni che implicano funzionalità hardware, consulta la documentazione relativa all'elemento |
|
<uses-sdk> |
Versione minima del framework (minSdkVersion ) |
Un'applicazione può richiedere un livello API minimo. Esempio 1 Esempio 2 Poiché vuoi evitare questo secondo scenario, ti consigliamo di dichiarare sempre un |
Versione massima del framework (maxSdkVersion ) |
Deprecato. Android 2.1 e versioni successive non controllano né applicano l'attributo La dichiarazione di |
Filtri manifest avanzati
Oltre agli elementi manifest nella tabella 1, Google Play può anche filtrare le applicazioni in base agli elementi manifest avanzati nella tabella 2.
Questi elementi manifest e il filtraggio che attivano sono destinati solo a casi d'uso eccezionali. Sono progettati per determinati tipi di giochi ad alte prestazioni e applicazioni simili che richiedono controlli rigorosi sulla distribuzione delle applicazioni. La maggior parte delle applicazioni non dovrebbe mai utilizzare questi filtri.
Tabella 2. Elementi manifest avanzati per il filtro di Google Play.
Elemento manifest | Riepilogo |
---|---|
<compatible-screens> |
Google Play filtra l'applicazione se le dimensioni e la densità dello schermo del dispositivo non corrispondono a nessuna delle configurazioni dello schermo (dichiarate da un elemento Attenzione: in genere non devi utilizzare questo elemento manifest. L'utilizzo di questo elemento può ridurre notevolmente la potenziale base utenti della tua applicazione, escludendo tutte le combinazioni di dimensioni e densità dello schermo che non hai elencato. Devi invece utilizzare l'elemento manifest |
<supports-gl-texture> |
Google Play filtra l'applicazione, a meno che uno o più dei formati di compressione delle texture GL supportati dall'applicazione non siano supportati anche dal dispositivo. |
Altri filtri
Google Play utilizza altre caratteristiche dell'applicazione per determinare se mostrare o nascondere un'applicazione per un determinato utente su un determinato dispositivo, come descritto nella tabella seguente.
Tabella 3. Caratteristiche di pubblicazione e dell'applicazione che influiscono sui filtri su Google Play.
Nome filtro | Come funziona |
---|---|
Stato di pubblicazione | Solo le applicazioni pubblicate verranno visualizzate nelle ricerche e nella navigazione all'interno di Google Play. Anche se un'app non è pubblicata, può essere installata se gli utenti possono visualizzarla nell'area Download tra le app acquistate, installate o disinstallate di recente. Se un'applicazione è stata sospesa, gli utenti non potranno reinstallarla o aggiornarla, anche se è visualizzata nella sezione Download. |
Stato del prezzo | Non tutti gli utenti possono vedere le app a pagamento. Per mostrare le app a pagamento, un dispositivo deve avere Android 1.1 o versioni successive ed essere in un paese in cui sono disponibili le app a pagamento. Se un dispositivo ha una scheda SIM, è l'operatore della scheda a determinare se le app a pagamento sono disponibili. Se un dispositivo non ha una scheda SIM, viene utilizzato il suo indirizzo IP per determinare se si trova in un paese in cui sono disponibili app a pagamento. |
Targeting per paese | Quando carichi la tua app su Google Play, puoi selezionare i paesi in cui distribuirla nella sezione Prezzi e distribuzione. L'app sarà quindi disponibile solo per gli utenti dei paesi selezionati. |
Architettura CPU (ABI) | Un'applicazione che include librerie native destinate a un'architettura CPU specifica (ad esempio ARM EABI v7 o x86) è visibile solo sui dispositivi che supportano quell'architettura. Per informazioni dettagliate sull'NDK e sull'utilizzo delle librerie native, consulta Che cos'è Android NDK? |
Applicazioni protette dalla copia | Google Play non supporta più la funzionalità di protezione da copia in Play Console e non filtra più le app in base a questa funzionalità. Per proteggere la tua app, utilizza Application Licensing. Per ulteriori informazioni, consulta la sezione Sostituto della protezione anticopia. |
Pubblicazione di più APK con filtri diversi
Alcuni filtri specifici di Google Play ti consentono di pubblicare più APK per la stessa applicazione al fine di fornire un APK diverso a configurazioni di dispositivi diverse. Ad esempio, se stai creando un videogioco che utilizza asset grafici ad alta fedeltà, ti consigliamo di creare due APK che supportano ciascuno formati di compressione delle texture diversi. In questo modo, puoi ridurre le dimensioni del file APK includendo solo le texture richieste per ogni configurazione del dispositivo. A seconda del supporto dei formati di compressione delle texture di ciascun dispositivo, Google Play fornirà l'APK che hai dichiarato di supportare per quel dispositivo.
Al momento, Google Play ti consente di pubblicare più APK per la stessa applicazione solo se ogni APK fornisce filtri diversi in base alle seguenti configurazioni:
- Formati di compressione delle texture OpenGL
Utilizzando l'elemento
<supports-gl-texture>
. - Dimensioni dello schermo (e, facoltativamente, densità dello schermo)
Utilizzando l'elemento
<supports-screens>
o<compatible-screens>
. - Livello API
Utilizzando l'elemento
<uses-sdk>
. - Architettura CPU (ABI)
Includendo librerie native create con l'NDK Android che hanno come target un'architettura della CPU specifica (ad esempio ARM EABI v7 o x86).
Tutti gli altri filtri funzionano come al solito, ma questi quattro sono gli unici che possono distinguere un APK da un altro all'interno della stessa scheda dell'applicazione su Google Play. Ad esempio, non puoi pubblicare più APK per la stessa applicazione se gli APK differiscono solo in base al fatto che il dispositivo abbia o meno una fotocamera.
Attenzione: la pubblicazione di più APK per la stessa applicazione è considerata una funzionalità avanzata e la maggior parte delle applicazioni dovrebbe pubblicare un solo APK che supporti una vasta gamma di configurazioni di dispositivi. La pubblicazione di più APK richiede di seguire regole specifiche all'interno dei filtri e di prestare particolare attenzione ai codici versione di ogni APK per garantire percorsi di aggiornamento appropriati per ogni configurazione.
Per ulteriori informazioni su come pubblicare più APK su Google Play, leggi l'articolo Supporto di più APK.