Autore Topic: Tutorial su come inserire la licenza in una applicazione  (Letto 5238 volte)

Offline Christian Giupponi

  • Utente junior
  • **
  • Post: 128
    • Google+
    • http://it.linkedin.com/pub/christian-giupponi/29/628/810
    • ultimoprofeta
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ItalianDevTeam
  • Sistema operativo:
    Mac OSX Lion
Tutorial su come inserire la licenza in una applicazione
« il: 14 Ottobre 2010, 20:40:57 CEST »
Ciao,

ho notato che questo è un argomento che non è stato trattato e volevo sapere se c'è qualche utente che ci è già passato e ha voglia di spiegare a noi neofiti come si utilizza il sistema di licenze per l'android market sulle applicazioni da mettere in vendita.

Ho letto che il sistema automatico di google tra poco sarà abbandonato e che bisognerà utilizzare questo sistema di licenze: Licensing Your Applications | Android Developers

Qualcuno di voi lo ha già usato?

Ringrazio anticipatamente chi vorrà scrivere un tutorial a tal proposito!

Offline CarloM

  • Nuovo arrivato
  • *
  • Post: 45
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #1 il: 14 Ottobre 2010, 21:49:26 CEST »
Quoto! sarebbe molto utile qualche dritta da parte di chi già lo abbia capito!

Offline Christian Giupponi

  • Utente junior
  • **
  • Post: 128
    • Google+
    • http://it.linkedin.com/pub/christian-giupponi/29/628/810
    • ultimoprofeta
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ItalianDevTeam
  • Sistema operativo:
    Mac OSX Lion
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #2 il: 15 Ottobre 2010, 21:04:16 CEST »
Quoto! sarebbe molto utile qualche dritta da parte di chi già lo abbia capito!

eh si, e in più se qualcuno lo scrive ne beneficia tutto il forum in generale :)

Offline Christian Giupponi

  • Utente junior
  • **
  • Post: 128
    • Google+
    • http://it.linkedin.com/pub/christian-giupponi/29/628/810
    • ultimoprofeta
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ItalianDevTeam
  • Sistema operativo:
    Mac OSX Lion
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #3 il: 23 Ottobre 2010, 14:39:20 CEST »

Offline roccia80

  • Utente junior
  • **
  • Post: 89
    • Mostra profilo
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #4 il: 01 Dicembre 2010, 17:37:14 CET »
Ho trovato questa classe su internet che potrebbe essere utile: Market License - Easy Implementation to Protect Your Apps - Droid Forum - Verizon Droid & the Motorola Droid Forum

Grazie per la segnalazione!
Ci sono anche ulteriori novità sull'argomento? Mi interessa molto in quanto a giorni dovrei pubblicare la mia prima applicazione a pagamento
Grazie ancora

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #5 il: 07 Dicembre 2010, 17:29:29 CET »
Anche secondo me sarebbe molto gradito che qualcuno mettesse un pò di ordine su come licenziare ( non so se si dice cosi ) un'applicazione..
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline Christian Giupponi

  • Utente junior
  • **
  • Post: 128
    • Google+
    • http://it.linkedin.com/pub/christian-giupponi/29/628/810
    • ultimoprofeta
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ItalianDevTeam
  • Sistema operativo:
    Mac OSX Lion
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #6 il: 08 Dicembre 2010, 10:41:44 CET »
Io alla fine ho utilizzato la classe che vi ho linkato sopra e non ho avuto nessun problema fino ad ora :)

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #7 il: 08 Dicembre 2010, 21:44:59 CET »
Sto utilizzando anche io quella classe ma mi da un problema: manca la classe MyLicenseCheckerCallback nella libreria che ho importato; non capisco perchè! Ho sbagliato ad importare?
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #8 il: 09 Dicembre 2010, 17:26:43 CET »
Sono riuscito a risolvere con delle modifiche; il punto è che ora la sto testando sull'emulatore e mi dice sempre che l'applicazione non ha la licenza..non dovrebbe funzionare dopo aver importato LVL e aver inserito la classe del tutorial sopra?
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline roccia80

  • Utente junior
  • **
  • Post: 89
    • Mostra profilo
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #9 il: 09 Dicembre 2010, 19:33:22 CET »
Sono riuscito a risolvere con delle modifiche; il punto è che ora la sto testando sull'emulatore e mi dice sempre che l'applicazione non ha la licenza..non dovrebbe funzionare dopo aver importato LVL e aver inserito la classe del tutorial sopra?

Premetto di aver testato l'applicazione con la gestione del controllo di licenza solo su device fisico collegato al pc via usb.
Sono partito dalla classe del tutorial, modificandola secondo le mie esigenze.
Una volta sistemato il tutto ho fatto upload del file apk (firmato e preparato a dovere) in mio profilo su market android, con inserimento di immagine, descrizione, prezzo e tutte le altre informazioni necessarie. In fondo alla pagina NON CLICCARE su pulsante Publish bensì solo su pulsante Save. In questo modo applicazione viene caricata ma non è visibile su android market da utenti esterni.
Sempre dalla mia pagina di Android, sono andato in Edit Profile e ho aggiunto in sezione "Test Accounts", l'indirizzo di gmail che ho collegato al device.
Ho installato apk (caricato in precedenza per market android) su mio device via usb. A questo punto, settando il campo "License Test Response" (sempre in edit profile) al valore "LICENSED" potrai usare e visualizzare l'applicazione. Se imposti invece il valore su "NOT LICENSED" potrai verificare comportamento della tua app quando viene utilizzata senza licenza. Così via per tutti i valori possibili da assengare a "License Test Response".
Una volta verificato che tutto sia ok, procedi con upload definitivo cliccando su pulsante "Publish" della pagina della tua applicazione.
Fino a quando non sarà effettuata la vera pubblicazione, provando ad utilizzare apk da tuo device otterrai come messaggio di errore "NOT MARKED MANAGED".
Questa è solo descrizione di come mi sono comportato io e vuol essere solo un piccolo aiuto, non certo la definizione con sicurezza di come si risolve il problema di controllo di licenza
Ciao

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #10 il: 09 Dicembre 2010, 22:44:58 CET »
Mi è stata di grande aiuto invece..grazie mille..
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline acquariusoft

  • Utente normale
  • ***
  • Post: 157
    • Mostra profilo
    • Visita il mio blog
  • Dispositivo Android:
    Galaxy ace, Asus eee transformer
  • Play Store ID:
    acquariusoft
  • Sistema operativo:
    Windows 7
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #11 il: 02 Gennaio 2011, 11:02:22 CET »
HO utilizzato questo post per riuscire ad inserire la licenza nella mia applicazione.
Tutto bene tranne una cosa, se  riavvio il cellulare e non sono connesso ad internet il programma mi dice che non è licenziato, non dovrebbe tenersi da qualche parte la licenza?

Offline roccia80

  • Utente junior
  • **
  • Post: 89
    • Mostra profilo
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #12 il: 02 Gennaio 2011, 15:07:03 CET »
HO utilizzato questo post per riuscire ad inserire la licenza nella mia applicazione.
Tutto bene tranne una cosa, se  riavvio il cellulare e non sono connesso ad internet il programma mi dice che non è licenziato, non dovrebbe tenersi da qualche parte la licenza?

Effettivamente, credo proprio che l'esempio indicato in questo thread esegua il controllo di licenza ad ogni avvio dell'applicazione. Di conseguenza, se non sei connesso alla rete il controllo non viene eseguito correttamente e non si accede all'applicazione.
Posso descriverti brevemente come ho lavorato io sulla cosa, prendilo come suggerimento e non "verità assoluta".
All'interno del metodo allow(), quindi del metodo eseguito in caso di licenza OK, ho inserito il codice necessario per memorizzare un particolare valore alfanumerico (che determino tenendo conto di una stringa random generata da me in ogni applicazione, dei vari parametri che individuano e specificano il device, il calcolo del md5, etc...) all'interno di una shared preference. Quando la licenza viene riconosciuta valida per la prima volta, tale valore viene impostato nella shared preference.
Eseguo lo stesso lavoro all'interno dell'OnCreate, dove però faccio confronto fra tale valore e quello memorizzato nella shared preference: se son diversi, si procede con nuovo onCheck, altrimenti si passa direttamente alla reale main activity dell'applicazione.
In sostanza, il controllo viene eseguito solo la prima volta che si utilizza l'applicazione. Poi se ok ho valore memorizzato che mi dice di procedere regolarmente con la consultazione dell'applicazione, senza altri controlli.

Spero possa esserti di aiuto
Ciao 

Offline acquariusoft

  • Utente normale
  • ***
  • Post: 157
    • Mostra profilo
    • Visita il mio blog
  • Dispositivo Android:
    Galaxy ace, Asus eee transformer
  • Play Store ID:
    acquariusoft
  • Sistema operativo:
    Windows 7
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #13 il: 03 Gennaio 2011, 12:00:21 CET »
Ottima idea, penso proprio che farò così :D

Offline Christian Giupponi

  • Utente junior
  • **
  • Post: 128
    • Google+
    • http://it.linkedin.com/pub/christian-giupponi/29/628/810
    • ultimoprofeta
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ItalianDevTeam
  • Sistema operativo:
    Mac OSX Lion
Re:Tutorial su come inserire la licenza in una applicazione
« Risposta #14 il: 04 Febbraio 2011, 15:19:01 CET »
Effettivamente, credo proprio che l'esempio indicato in questo thread esegua il controllo di licenza ad ogni avvio dell'applicazione. Di conseguenza, se non sei connesso alla rete il controllo non viene eseguito correttamente e non si accede all'applicazione.
Posso descriverti brevemente come ho lavorato io sulla cosa, prendilo come suggerimento e non "verità assoluta".
All'interno del metodo allow(), quindi del metodo eseguito in caso di licenza OK, ho inserito il codice necessario per memorizzare un particolare valore alfanumerico (che determino tenendo conto di una stringa random generata da me in ogni applicazione, dei vari parametri che individuano e specificano il device, il calcolo del md5, etc...) all'interno di una shared preference. Quando la licenza viene riconosciuta valida per la prima volta, tale valore viene impostato nella shared preference.
Eseguo lo stesso lavoro all'interno dell'OnCreate, dove però faccio confronto fra tale valore e quello memorizzato nella shared preference: se son diversi, si procede con nuovo onCheck, altrimenti si passa direttamente alla reale main activity dell'applicazione.
In sostanza, il controllo viene eseguito solo la prima volta che si utilizza l'applicazione. Poi se ok ho valore memorizzato che mi dice di procedere regolarmente con la consultazione dell'applicazione, senza altri controlli.

Spero possa esserti di aiuto
Ciao

un esempio? :D