martedì 24 febbraio 2015

Conosciamo il nostro Droide ... le applicazioni non compatibili

Accade spesso di leggere riguardo meravigliose applicazioni, si cercano sul Play Store e non si trovano ... oppure di trovare direttamente link ad applicazioni, si va sul Play Store, si clicca su installa e appare la scherma quì sotto.
Perché succede proprio a me?


Ogni volta che andiamo sul Play Store e ci autentichiamo con le credenziali di Google stiamo dichiarando la
lista dei nostri dispositivi android (se effettuiamo l'operazione dal browser), oppure il duispositivo che stiamo usando in quel momento (se stiamo utilizzando l'applicazione Play Store.

Aprendo il Play Store dal browser, cliccando sull'ingranaggio in alto a destra e scegliendo impostazioni appare una schermata simile a quella al lato, dove vengono elencati i dispositivi su cui sono state inserite le nostre credenziali Google.
Di tali dispositivi il Play Store conosce alcune caratteristiche tecniche, in genere quelle scritte nel file build.prop, di cui noi possiamo leggere alcune parti andando in Impostazioni -> Info sul Telefono


Andiamo a vedere le limitazioni legate alla compatibilità presenti nel Play Store.
  • Nazionalità: Il Play store sa in quale nazione siamo ed in quale nazione è registrato il nostro dispositivo. Alcune applicazioni non vengono pubblicate in tutto il mondo, eclatanti in questi giorni sono Facebook Lite, Youtube Kids ... Si possono trovare degli escamotage per averle, ma non sempre sono consigliati.
  • Versione di Android minima: Quando si sviluppa un'applicazione per Android bisogna decidere, all'inizio,
    che versione di API si utilizza, ovvero quali funzioni del sistema operativo. Ogni volta che si aggiorna un software (il sistema operativo è un software) si aggiungono nuove funzioni e talvolta se ne tolgono di vecchie. Lo sviluppatore sceglierà il livello di API in base a ciò che la sua applicazione dovrà fare, per estendere l'audience della sua "creatura" sarà meglio utilizzare il livello di API più vecchio, ma non sempre è possibile. Tale informazione è possibile trovarla all'interno della scheda dell'applicazione nel Play Store.
  • Versione di Android massima
  • Dimensioni dello schermo: Lo sviluppatore può indicare nel manifest file dell'applicazione le dimensioni dello schermo compatibili. Il Play Store farà passare dimensioni richieste piccole su schermi larghi, ma non il contrario.
  • Densità dello schermo: richiede un certo numero di pixel (DPI). Non è detto che uno schermo grande abbia più pixel, potrebbe averli solo più grandi.
  • Archietettura della CPU: questa voce si trova talvolta nelle impostazioni del telefono. chi ha ma  letto acronimi strani che cominciano conn ARM, NEON, X86, MIPS seguiti dal altre sigle alfanumeriche?
  • TrakkBall: Se lo sviluppatore chiede la presenza di un dispositivo di puntamento ulteriore oltre al touchscreen ed il nopstro dispositivo non lo ha non potremmo scaricare l'applicazione.
  • Dispositivo di puntamento opzionale: Si possono richiedere ulteriori tipi di dispositivi di puntamento oltre al touchscreen (dpad, wheel ...)
  • Tastiera Fisica
  • Tipo di tastiera: Se Qwerty, numerica ...
  • Touchscreen: la necessità di avere un touchscreen
  • Versione di OpneGL ES usata dal dispositivo
  • Presenza di hardware: si può richiedere la presenza di dispositivo Audio a bassa latenza, Bluetooth, Bluetooth Low energy, fotocamera, fotocamera con autofocus, fotocamera con flash, fotocamera frontale, fotocamera esterna, infrarossi, antenna GPS, microfono, NFC, Emulatore di carte NFC, accelerometro, barometro, bussola, giroscopio, sensore di luminosità, sensore di prossimità, contapassi, rilevatore di passi, la possibilità di orientare lo schermo in kandscape, la possibilità di orinetare lo schermo in portrait, la presenza di hardware telefonico, la presenza di un televisore, touchscreen, touchscreen multitouch, touchscreen multitouch a cinque dita, USB OTG, WiFi, WiFi Direct.
  • Libreire software che contengono particolari funzioni

E' possibile che lo sviluppatore crei diverse applicazioni con lo stesso nome, ma con "richieste" differenti, in modo che potremmo avere sempre l'applicazione dedicata al nostro hardware.

Un grosso lato negativo e che non è per niente agevole sapere in anticipo quali "richieste" faccia l'applicazione, e in certi casi quali caratteristiche abbia iil nostro dispositivo.