Autore Topic: Versioni applicazioni  (Letto 2797 volte)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Versioni applicazioni
« il: 24 Febbraio 2011, 12:19:20 CET »
0
non sò se questa è la sezione adatta però non sapevo dove porre questa domanda, nel caso avessi sbagliato chiedo venia e prego di spostarla nella sezione giusta  O:-)

volevo un consiglio sulla mia applicazione perchè a giorni la pubblicherò sul market ma prima volevo discutere con voi dell'argomento versioni. Infatti ci saranno 2 versioni, una LITE ed una FULL con delle funzionalità in più. Per avere la full avevo pensato però di non metterla a pagamento sul markert bensì far fare una donazione "spontanea" di 1 euro  :-P e dare tipo un codice di sblocco che abilità la versione LITE a tutte le funzionalità e la fa diventare FULL. Che ne dite come pensata ? c'è qualcuno che adotta già questo metodo ? in che rischi posso incorrere a livello di codice ? (tipo che decompilano il codice e si prendono il codice di sblocco  :-\)

Thanks  ;-)

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Versioni applicazioni
« Risposta #1 il: 24 Febbraio 2011, 12:55:20 CET »
0
Parto dalla considerazione che se si vuole copiare una cosa, alla fine la si copia comunque.
In questo modo si può fare girare unicamente il codice di sblocco, senza app o altro, quindi come meccanismo è sicuramente il più facile da bucare.
Potresti fare in modo da abilitare le funzionalità della lite solo in presenza del FULL installata, controllando se esiste una determinata classe, se esiste un determinato broadcast receiver, o similari: implementare un meccanismo, insomma, che controlli che sia presente la versione FULL.
Concludo facendo un'altra considerazione: se si vuole copiare una cosa, alla fine la si copia comunque. (in questo caso basta far girare il file full e il gioco è fatto).
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Versioni applicazioni
« Risposta #2 il: 24 Febbraio 2011, 12:58:54 CET »
0
Si, penso sarà spostato, perchè non è sicuramente un problema di activity e intent.

Quando alla domanda, prima di valutare il quesito tecnico di cui parli, ti faccio notare una cosa: di fatto tu vuoi eludere la piattaforma di pagamento messa a disposizione dal market, sia da un punto di vista della modalità, che della "percentuale". Potresti avere problemi nel market.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #3 il: 24 Febbraio 2011, 13:00:26 CET »
0
Un esempio (compilato e non opensource) è la mia applicazione InfoCosti Tre.

Problemi di decompilazione non ne hai, ma se metti il codice di sblocco fisso sull'apk... beh è unico per tutti! Lo prende uno e lo shara can tutti!

Puoi utilizzare due tattiche, una manuale e una automatica.

Manuale
Usi qualche cosa di proprio del cellulare (ad esempio l'imei) per codificare un codice di sblocco univoco per cellulare (ma questo comporta che qualcuno ti fa una donazione, ti deve contattare dandoti il codice imei e tu devi rispondere con il codice di sblocco.

Automatica (quella su cui si basa InfoCosti Tre)
Vedi se il servizio che usi ha o meno un servizio automatico di notifica (paypal l'ha) e utilizzi quel feedback per autorizzare l'applicazione (qui hai anche bisogno di un server esterno per la gestione dei permessi) e non hai bisogno di catturare l'imei del cellulare (garantendo la privacy del tuo utente).

A te la scelta!

@7h38ugg3r: non è detto, se i controlli sul Lite e Full non stanno sull'applicazione ma su un server esterno (vedi la procedura Automatica), puoi copiare quanto vuoi l'apk (che è del tutto analogo sia nel caso Lite che in quello Full), se non ti autorizza il server (su cui non puoi mettere mano), non hai nulla da fare!

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #4 il: 24 Febbraio 2011, 13:13:20 CET »
0
Automatica (quella su cui si basa InfoCosti Tre)
Vedi se il servizio che usi ha o meno un servizio automatico di notifica (paypal l'ha) e utilizzi quel feedback per autorizzare l'applicazione (qui hai anche bisogno di un server esterno per la gestione dei permessi) e non hai bisogno di catturare l'imei del cellulare (garantendo la privacy del tuo utente).

Bhe questa è sicuramente quella che mi piace di più il problema è se un pivellino come me riesce ad implementarla! però mi spieghi meglio cosa dovrei fare ? anzi te lo dico io e tu mi dici se è giusto...
ESEMPIO :
1) voglio la versione pro quindi clicco il tasto EFFETTUA DONAZIONE e mi rimanda sul sito Paypal
2) effettuo la donazione e paypal restiuisce un feedback che tu memorizzi su un database che si trova sul web
3) per attivare la versione pro sono chiamato ad immettere un qualcosa con cui ho effettuato la donazione tipo l'email o un numero di ordine e clicco su attiva
4) tu fai controllare al programma se nel db esterno è prestente questo dato e fai diventare l'applicazione FULL

ho capito bene ? se si ho 3 domande :
1) La risposta di paypal in cosa lo memorizzi ? un file o un database ?
2) come cavolo fai a collegarti dallo smartphone su un file o db esterno ?
3) Per far diventare il prog da versione LITE a FULL avevo pensato di memorizzare il CEK nelle SharedPreference hai fatto anche tu così  ?

Thanks ;)

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #5 il: 24 Febbraio 2011, 14:02:59 CET »
0
Tutto esatto, rispondo alle ultime tre domande:

1) Database, ma tecnicamente puoi salvarlo dove ti pare!
2) Ti serve che la risorsa sia raggiungibile dall'esterno, la cosa più semplice è creare un servizio web su un webserver, dall'applicazione ti colleghi al webserver ed il webserver si collega al db.
3) Si, e volendo puoi periodicamente controllare se l'attivazione è ancora valida o meno.

Insomma, di soluzioni e di politiche di sicurezza ne esistono a bizzeffe... spetta a te decidere quali usare! ;)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #6 il: 24 Febbraio 2011, 14:33:59 CET »
0
Ok grazie ma la vedo dura per me implementare sta cosa :) ora ci studio un pò sopra e vediamo..
Ah marco un'ultima cosa : ma quindi verifichi anche se il collegamento internet dell'utente è disponibile ?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Versioni applicazioni
« Risposta #7 il: 24 Febbraio 2011, 14:35:40 CET »
0
Quando alla domanda, prima di valutare il quesito tecnico di cui parli, ti faccio notare una cosa: di fatto tu vuoi eludere la piattaforma di pagamento messa a disposizione dal market, sia da un punto di vista della modalità, che della "percentuale". Potresti avere problemi nel market.

Scusate se insisto e sono un po' noioso, ma fate attenzione a come impostate e dichiarate questa "meccanica di pagamento", perchè se mal-posta è in violazione dei termini del market (vedi sezione 3 di Android Market Developer Distribution Agreement ).
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Kappa27

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +2
    • kevvort
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Tab
  • Sistema operativo:
    Windows 7 x64 - Ubuntu 10.10
Re:Versioni applicazioni
« Risposta #8 il: 24 Febbraio 2011, 14:46:09 CET »
0
Bhe questa è sicuramente quella che mi piace di più il problema è se un pivellino come me riesce ad implementarla! però mi spieghi meglio cosa dovrei fare ? anzi te lo dico io e tu mi dici se è giusto...
ESEMPIO :
1) voglio la versione pro quindi clicco il tasto EFFETTUA DONAZIONE e mi rimanda sul sito Paypal
2) effettuo la donazione e paypal restiuisce un feedback che tu memorizzi su un database che si trova sul web
3) per attivare la versione pro sono chiamato ad immettere un qualcosa con cui ho effettuato la donazione tipo l'email o un numero di ordine e clicco su attiva
4) tu fai controllare al programma se nel db esterno è prestente questo dato e fai diventare l'applicazione FULL

ho capito bene ? se si ho 3 domande :
1) La risposta di paypal in cosa lo memorizzi ? un file o un database ?
2) come cavolo fai a collegarti dallo smartphone su un file o db esterno ?
3) Per far diventare il prog da versione LITE a FULL avevo pensato di memorizzare il CEK nelle SharedPreference hai fatto anche tu così  ?

Thanks ;)

Se pazienti uno o due giorni sto scrivendo un tutorial a riguardo  ;-)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #9 il: 24 Febbraio 2011, 14:53:39 CET »
0
Scusate se insisto e sono un po' noioso, ma fate attenzione a come impostate e dichiarate questa "meccanica di pagamento", perchè se mal-posta è in violazione dei termini del market (vedi sezione 3 di Android Market Developer Distribution Agreement ).

Ciao bradipao, concordo con il fatto di stare attenti perchè non siamo proprio nella legalità ma nemmeno nell'illegalità leggendo i termini di uso del market...alla fine si chiede una donazione spontanea altrimenti si continua ad utilizzare il prodotto del market che è perfettamente corrispondente a quando indicato nello stesso la donazione è una cosa spotanea che si può fare o meno..google non può mettere bocca se tu decidi di donarmi qualcosa ed io in cambio di regalarti un'altra cosa...

EDIT : Diverso sarebbe stato se poi nella pagina della donazione io avessi ipostato un valore minimo o prestabilito per la stessa tipo 2€

@Kappa27 : MAGARI !!!:)

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #10 il: 24 Febbraio 2011, 14:55:19 CET »
0
@mimmog
Il mio programma ha senso solo se si è connessi ad internet, quindi non ho bisogno di controllare se la connessione è disponibile o meno... alla fine se non è disponibile il programma non serve a nulla!

@bradipao
Partendo dal presupposto che tutto è ad interpretazione (specialmente in america), il punto 3 si riferisce a versioni trial. Ovvero: tu dai un programma in prova per tot giorni. Dopo tot giorni il programma scade. Se vuoi continuare ad usarlo devi pagare. Il punto 3 ti impone di utilizzare il processo di pagamento del market per far pagare gli utenti.
Qui parliamo di altro, il programma è scaricabile in modo gratuito e resta gratuito sempre, non ha limiti di tempo di utilizzo. Se vuoi attivare funzioni in più, effettui una donazione che le abilita. Il programma resta sempre lo stesso (non c'è cambio di apk).

Esistono vari programmi, anche con più di mezzo milione di download, che utilizzano questa modalità di donazione per ricevere funzioni in più, se ci fosse stata una violazione penso che google li avrebbe già bloccati.

Ma ripeto... è pur sempre una mia interpretazione del regolamento.

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #11 il: 24 Febbraio 2011, 15:14:19 CET »
0
@mimmog
Il mio programma ha senso solo se si è connessi ad internet, quindi non ho bisogno di controllare se la connessione è disponibile o meno... alla fine se non è disponibile il programma non serve a nulla!

@bradipao
Partendo dal presupposto che tutto è ad interpretazione (specialmente in america), il punto 3 si riferisce a versioni trial. Ovvero: tu dai un programma in prova per tot giorni. Dopo tot giorni il programma scade. Se vuoi continuare ad usarlo devi pagare. Il punto 3 ti impone di utilizzare il processo di pagamento del market per far pagare gli utenti.
Qui parliamo di altro, il programma è scaricabile in modo gratuito e resta gratuito sempre, non ha limiti di tempo di utilizzo. Se vuoi attivare funzioni in più, effettui una donazione che le abilita. Il programma resta sempre lo stesso (non c'è cambio di apk).

Esistono vari programmi, anche con più di mezzo milione di download, che utilizzano questa modalità di donazione per ricevere funzioni in più, se ci fosse stata una violazione penso che google li avrebbe già bloccati.

Ma ripeto... è pur sempre una mia interpretazione del regolamento.

Concordo su tutto anche sul fatto che sicuramente uno smartphone android è per forza connesso ad internet e se non lo è (dato che la mia app non deve essere sempre connessa) sti cavoli proveranno ad attivarla quando la connessione sarà disponibile :)

Grazie per le dritte anche per RingtonePreference :)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Versioni applicazioni
« Risposta #12 il: 24 Febbraio 2011, 16:35:20 CET »
0
@bradipao
Partendo dal presupposto che tutto è ad interpretazione (specialmente in america), il punto 3 si riferisce a versioni trial. Ovvero: tu dai un programma in prova per tot giorni. Dopo tot giorni il programma scade. Se vuoi continuare ad usarlo devi pagare. Il punto 3 ti impone di utilizzare il processo di pagamento del market per far pagare gli utenti.
Qui parliamo di altro, il programma è scaricabile in modo gratuito e resta gratuito sempre, non ha limiti di tempo di utilizzo. Se vuoi attivare funzioni in più, effettui una donazione che le abilita. Il programma resta sempre lo stesso (non c'è cambio di apk).

Esistono vari programmi, anche con più di mezzo milione di download, che utilizzano questa modalità di donazione per ricevere funzioni in più, se ci fosse stata una violazione penso che google li avrebbe già bloccati.

Ma ripeto... è pur sempre una mia interpretazione del regolamento.

L'esistenza di programmi che usano questa modalità purtroppo non da' nessuna sicurezza assoluta. Sicuramente è un segno che entro certi limiti (fair use) viene tranquillamente tollerata, ma è sicuramente una spada di Damocle.

La sezione 3.3 è molto generale in quello che dice, difatti il paragrafo si applica alle app FOR FREE (you may also choose to distribute Products for free). Si parla anche delle TRIAL come esempio di app for free, esempio con scadenza, ma nei TRIAL potremmo includerci senza problemi quelle a funzionamento limitato. In particolare l'ultima frase ti dice che tutto quello che ricavi dai prodotti distribuiti col market, DEVONO passare al metodo di pagamento del market. Il fatto che lo abbiano messo nel paragrafo delle app free, è abbastanza indicativo.

Citazione
3.3 You may also choose to distribute Products for free. If the Product is free, you will not be charged a Transaction Fee. You may not collect future charges from users for copies of the Products that those users were initially allowed to download for free. This is not intended to prevent distribution of free trial versions of the Product with an "upsell" option to obtain the full version of the Product: Such free trials for Products are encouraged. However, if you want to collect fees after the free trial expires, you must collect all fees for the full version of the Product through the Payment Processor on the Market. In this Agreement, "free" means there are no charges or fees of any kind for use of the Product. All fees received by Developers for Products distributed via the Market must be processed by the Market's Payment Processor.

E' chiaro che le donazioni sono estranee in quanto "donazioni volontarie". Ma la spada di Damocle sta nel fatto che possono sempre contestarti che useresti impropriamente la parola "donazione" come un altro modo di vendere l'app in versione FULL. Oppure vista in altro modo, secondo questa "meccanica di pagamento", tutte le app a pagamento potrebbero essere vendute gratis sul market, poi facendo una "donazione" per altra via te la sbloccano e funziona. Se l'applicazione è FULL da subito e lasci la "donazione" al buon cuore dell'utilizzatore, allora nessuno potrà mai contestare niente.

Comunque, ripeto che io non ho nessuna intenzione di contestare niente a nessuno, e pure io non ho nessuna certezza. Volevo solo portare alla vostra attenzione il potenziale problema.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #13 il: 24 Febbraio 2011, 16:58:31 CET »
0
Il problema per me è quello. L'articolo non parla delle trial come "esempio", ma come unico caso di studio del punto 3.3. Inoltre in questo contesto la parola "fee" viene associata esclusivamente al pagamento di una commissione per l'utilizzo del prodotto dopo che la versione di prova è scaduta.

Vero è che se l'articolo 3.3 fosse stato composto esclusivamente dalla frase in grassetto, allora non ci sarebbero stati problemi di interpretazione: anche le "donazioni" dovevano passare dal Payment Processor del Market.

Casomai è da capire (tramite interpretazione ovviamente... odio le leggi!) se si possono considerare "Free" le applicazioni che accettano donazioni vista la frase: "In this Agreement, "free" means there are no charges or fees of any kind for use of the Product." ovvero "In questo accordo, "libero" significa che non ci sono spese o commissioni di alcun tipo per l'utilizzo del prodotto."... ed in effetti per utilizzare alcune feature del prodotto ci sono delle spese...

Insomma, è tutto un casino! XD

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Versioni applicazioni
« Risposta #14 il: 24 Febbraio 2011, 17:47:27 CET »
0
converrete con me che però la donazione è libera quindi se io volessi vendere il mio programma a 5€ non posso pretenderli con una donazione dove magari le persone mi donano solo 1€ ed io non posso dirgli niente proprio perchè è una donazione