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 mostrerà l'app ai dispositivi senza fotocamera. Questo filtro consente agli sviluppatori di gestire la distribuzione delle loro app e a garantire la migliore esperienza possibile agli utenti.
L'applicazione di filtri in Google Play si basa su diversi tipi di metadati delle app e impostazioni di configurazione, tra cui dichiarazioni del file manifest, librerie richieste, dipendenze dell'architettura e controlli di distribuzione impostati in Google Play Console, ad esempio targeting geografico, prezzi e altro ancora.
I filtri di Google Play si basano in parte sulle dichiarazioni del file manifest e su altri aspetti del framework Android, ma i comportamenti di filtraggio effettivi sono distinti dal framework e non sono vincolati a livelli API specifici. Questo documento specifica le attuali regole di filtro utilizzate da Google Play.
Come funzionano i filtri su Google Play
Google Play utilizza le limitazioni dei filtri descritte di seguito per stabilire se mostrare la tua applicazione a un utente che naviga o cerca applicazioni dall'app Google Play.
Per stabilire se visualizzare o meno la tua app, Google Play controlla i requisiti hardware e software del dispositivo, nonché l'operatore, la località e altre caratteristiche. Quindi le confronta con le restrizioni e le dipendenze espresse dal file manifest dell'applicazione e dai dettagli di pubblicazione.
Se l'applicazione è compatibile con il dispositivo in base alle regole del filtro, Google Play mostra l'applicazione all'utente. In caso contrario, Google Play nasconde la tua applicazione dai risultati di ricerca e dalla navigazione delle categorie, anche se un utente richiede l'app facendo clic su un link diretto che rimanda direttamente all'ID dell'app in Google Play.
Puoi utilizzare qualsiasi combinazione dei filtri disponibili per la tua app. Ad esempio, puoi impostare un requisito minSdkVersion
pari a "4"
e impostare smallScreens="false"
nell'app. Dopodiché, quando carichi l'app su Google Play, puoi scegliere come target soltanto i paesi europei (operatori). I filtri di Google Play impediranno quindi che l'applicazione sia disponibile su qualsiasi dispositivo che non soddisfa tutti e tre i 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 aggiornamento che rende l'app invisibile all'utente, l'utente non vedrà che è disponibile un aggiornamento.
Applicazione di filtri sul sito web Google Play
Quando gli utenti navigano sul sito web Google Play, possono vedere tutte le applicazioni pubblicate. Il sito web Google Play confronta però i requisiti dell'applicazione con quelli di ogni dispositivo registrato dell'utente per quanto riguarda la compatibilità e consente all'utente di installare l'applicazione solo se è compatibile con il suo dispositivo.
Filtri in base al file manifest dell'app
La maggior parte dei filtri viene attivata da elementi contenuti nel file manifest di un'applicazione, AndroidManifest.xml, anche se non tutti i contenuti del file manifest possono attivare filtri. La tabella 1 elenca gli elementi del file manifest da utilizzare per attivare l'applicazione di filtri e spiega il funzionamento del filtro per ogni elemento.
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 sia in grado di adattare layout più piccoli a schermi più grandi, ma non può adattare layout più grandi a schermi più piccoli. Pertanto, se un'applicazione dichiara il supporto soltanto per dimensioni dello schermo "normali", Google Play rende l'applicazione disponibile sia per dispositivi con schermi normali che di grandi dimensioni, ma filtra l'applicazione in modo che non sia disponibile per dispositivi con schermi piccoli. Se un'applicazione non dichiara gli attributi per
Esempio 1 Esempio 2 Esempio 3 Per ulteriori informazioni su come dichiarare il supporto per le dimensioni degli schermi nella tua
applicazione, consulta |
<uses-configuration>
|
Configurazione dispositivo: tastiera , navigazione, touchscreen |
Un'applicazione può richiedere determinate funzionalità hardware e Google Play mostrerà l'app solo sui dispositivi che dispongono dell'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, consulta Applicazione di filtri 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 OpenGL-ES specifica 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> |
Rigorosamente, Google Play non filtra in base agli elementi In generale, se un'applicazione richiede autorizzazioni relative all'hardware,
Google Play presuppone che l'applicazione richieda le funzionalità hardware sottostanti, anche se potrebbero non esserci corrispondenze
con le dichiarazioni 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 Per evitare questo secondo scenario, ti consigliamo di dichiarare sempre un |
Versione massima del framework (maxSdkVersion ) |
Obsoleta. Android 2.1 e versioni successive non controllano né applicano l'attributo Dichiarare |
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 i filtri che attivano sono solo per casi d'uso eccezionali. Sono progettati per alcuni 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 usare questi filtri.
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: normalmente non devi utilizzare questo elemento manifest. L'utilizzo di questo elemento può ridurre drasticamente la potenziale base utenti per la tua applicazione, escludendo tutte le combinazioni di dimensioni e densità dello schermo che non hai elencato. Utilizza invece l'elemento manifest |
<supports-gl-texture> |
Google Play filtra l'applicazione a meno che il dispositivo non supporti anche uno o più formati di compressione delle texture GL supportati dall'applicazione. |
Altri filtri
Google Play utilizza altre caratteristiche dell'applicazione per stabilire se mostrare o nascondere un'applicazione per un determinato utente su un determinato dispositivo, come descritto nella tabella che segue.
Nome filtro | Come funziona |
---|---|
Stato di pubblicazione | Nelle ricerche e nella navigazione in Google Play verranno visualizzate soltanto le applicazioni pubblicate. Anche se un'app non è pubblicata, può essere installata se gli utenti possono vederla 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 appare nella sezione Download. |
Stato con prezzi | Non tutti gli utenti possono vedere le app a pagamento. Per mostrare app a pagamento, su un dispositivo deve essere installato Android 1.1 o versioni successive e deve essere in un paese in cui sono disponibili le app a pagamento. Se un dispositivo ha una scheda SIM, è l'operatore di SIM che determina la disponibilità di app a pagamento. Se un dispositivo non ha una scheda SIM, l'indirizzo IP del dispositivo viene utilizzato per determinare se il dispositivo si trova in un paese in cui sono disponibili le 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 per gli utenti solo nei paesi selezionati. |
Architettura della CPU (ABI) | Un'applicazione che include librerie native che hanno come target un'architettura della CPU specifica (ad esempio ARM EABI v7 o x86) è visibile solo sui dispositivi che supportano questa architettura. Per informazioni dettagliate sull'NDK e sull'utilizzo delle librerie native, consulta la sezione Che cos'è l'NDK di Android? |
Applicazioni con protezione dalla copia | Google Play non supporta più la funzionalità Protezione dalla copia in Play Console e non filtra più le app in base a questa funzionalità. Per proteggere la tua app, utilizza invece le licenze delle applicazioni. Per ulteriori informazioni, consulta la sezione Sostituzione della protezione dalla copia. |
Pubblicazione di più APK con filtri diversi
Alcuni filtri specifici di Google Play ti consentono di pubblicare più APK per la stessa applicazione, in modo da fornire un APK diverso a diverse configurazioni dispositivo. Ad esempio, se stai creando un videogioco che utilizza risorse grafiche ad alta fedeltà, potresti creare due APK che supportano diversi formati di compressione delle texture. In questo modo puoi ridurre le dimensioni del file APK includendo solo le texture necessarie per ogni configurazione del dispositivo. A seconda del supporto dei formati di compressione delle texture da parte di ciascun dispositivo, Google Play fornirà l'APK che hai dichiarato di supportare il dispositivo in questione.
Attualmente, Google Play ti consente di pubblicare più APK per la stessa applicazione soltanto quando 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 della CPU (ABI)
Includendo librerie native create con Android NDK che hanno come target un'architettura CPU specifica (ad esempio ARM EABI v7 o x86).
Tutti gli altri filtri funzionano come al solito, ma questi quattro sono gli unici filtri in grado di distinguere un APK da un altro nella stessa scheda dell'applicazione su Google Play. Ad esempio, non puoi pubblicare più APK per la stessa applicazione se gli APK differiscono solo a seconda che il dispositivo sia dotato di fotocamera.
Attenzione: la pubblicazione di più APK per la stessa applicazione è considerata una funzionalità avanzata e la maggior parte delle applicazioni deve pubblicare un solo APK che supporta una vasta gamma di configurazioni dispositivo. Per pubblicare più APK è necessario seguire regole specifiche all'interno dei filtri e prestare particolare attenzione ai codici di versione di ogni APK per garantire percorsi di aggiornamento corretti per ogni configurazione.
Se hai bisogno di ulteriori informazioni su come pubblicare più APK su Google Play, leggi la pagina Supporto di più APK.