Autore Topic: Compatibiltà App su PlayStore  (Letto 389 volte)

Offline arlabs

  • Utente normale
  • ***
  • Post: 433
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Compatibiltà App su PlayStore
« il: 20 Febbraio 2015, 14:46:30 CET »
Ciao, qualcuno sa se c'è un modo di verificare se un app è compatibile con un dispositivo (da codice che gira su questo dispositivo).

Magari con qualche rest service di Google Play (se esiste).

Con le Google Play Developer API non si può, giusto?

Ciao.

Offline icex93

  • Nuovo arrivato
  • *
  • Post: 6
    • Mostra profilo
Re:Compatibiltà App su PlayStore
« Risposta #1 il: 19 Marzo 2015, 07:48:35 CET »
Cosa intendi? Il Play Store stesso si fa carico della verifica della compatibilità di un'app in base a quanto riportato nel suo manifest: valuta la versione minima del sdk dell'app, la presenza o meno di un determinato hardware ecc

Offline arlabs

  • Utente normale
  • ***
  • Post: 433
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Compatibiltà App su PlayStore
« Risposta #2 il: 19 Marzo 2015, 09:47:50 CET »
Mi pareva chiaro dalla domanda che voglio lo voglio sapere da codice.

Diciamo un metodo che, dato un package-name, mi risponde vero o falso, se posso o non posso installare quell'applicazione sul dispositivo sul quale quel codice sta girando.
Ovviamente tale metodo dovrebbe interrogare il PlayStore per saperlo, ma non ho trovato un metodo per farlo.

Ciao.

Offline icex93

  • Nuovo arrivato
  • *
  • Post: 6
    • Mostra profilo
Re:Compatibiltà App su PlayStore
« Risposta #3 il: 19 Marzo 2015, 13:48:37 CET »
Capisco.. Beh, a quanto pare Google acquisisce le info su di un'app al momento del caricamento della stessa nel Play Store e le conserva su un database in un suo server remoto.  Quando un utente entra nel Play Store,  invia i dati del suo dispositivo su questo server in maniera tale da filtrare,  in base alle caratteristiche da esso presentate e da quelle delle apps caricate,  la visualizzazione di un'app piuttosto che di un'altra.
A questo punto,  penso che l'unico modo per capire se un'app è compatibile sia mandare una qwery a codesto database. Tuttavia dubito che Google lo renda pubblico, per ovvie ragioni di sicurezza.

Prova a cambiare la logica del tuo programma,  magari invitando l'utente a scaricare una determinata app e se questa poi è installata "sbloccare" determinate funzioni; dato che l'installazione di un'app,  come saprai,  lancia un messaggio broadcast, questo evento non sarà mai lanciato se l'app non è compatibile in quanto non sarà possibile installarla.

Offline undead

  • Utente senior
  • ****
  • Post: 666
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Compatibiltà App su PlayStore
« Risposta #4 il: 19 Marzo 2015, 14:18:33 CET »
Mi pareva chiaro dalla domanda che voglio lo voglio sapere da codice.

Diciamo un metodo che, dato un package-name, mi risponde vero o falso, se posso o non posso installare quell'applicazione sul dispositivo sul quale quel codice sta girando.
Ovviamente tale metodo dovrebbe interrogare il PlayStore per saperlo, ma non ho trovato un metodo per farlo.

Ciao.
A parte che a me questa feature funziona ad intermittenza (a volte da browser mi dice che è incompatibile... mah), potresti provare a fare una richiesta http e parsare l'html che ti arriva.
Non so bene se da qualche parte viene mantenuto un cookie o altro, in quel caso potresti avere fortuna e ottenere quello che ti serve.

Fermo restando che però da desktop secondo me funziona malissimo e la situazione tenderà a peggiorare.

Offline arlabs

  • Utente normale
  • ***
  • Post: 433
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Compatibiltà App su PlayStore
« Risposta #5 il: 19 Marzo 2015, 14:38:57 CET »
Prova a cambiare la logica del tuo programma,  magari invitando l'utente a scaricare una determinata app e se questa poi è installata "sbloccare" determinate funzioni; dato che l'installazione di un'app,  come saprai,  lancia un messaggio broadcast, questo evento non sarà mai lanciato se l'app non è compatibile in quanto non sarà possibile installarla.

L'obiettivo era proprio quello di evitare di presentare link inutili all'utente.

Citazione da: undead
potresti provare a fare una richiesta http e parsare l'html che ti arriva.

Troppo complicato, l'html risultante potrebbe dipendere da troppe cose che non so (lingua in primis, ma anche account collegato o altro) e potrebbe cambiare da un giorno all'altro.

Per ora ho rinunciato alla cosa.