The serial key doesn't really make sense unless you want to make your users jump through hoops to get it working.
A good serial key should be using an unique indentifier on the device such as android_id or a phone number to prevent spread of one key. There would be practically no performance hit for a quick query to a sqlite3 database to see if it is register or a date has expired. This is what I would recommend. Store something in a database, and crypt it using some simple way. This would allow you to keep track of the data of installation and it could not be nerfed by a user unless they have root. It *could* be worked around if they uninstall and reinstall -- a few programs has used a work around by placing this install date on the sdcard -- also with little performance hits. Pinging a website to see the date isn't a bad idea, but only if the program already requires internet connection. Essentially your solution boils down to, what is easy enough that any user can use it - but hard enough that an average job won't just try to steal it.... Or a better way of looking at it - if it's good enough to buy, people will buy it regardless. On Jun 3, 9:31 am, aayush <abhatnagar192...@gmail.com> wrote: > Excellent Al. Looks great. > > > -----Original Message----- > > From: android-developers@googlegroups.com > > [mailto:android-develop...@googlegroups.com] On Behalf Of aayush > > Sent: 03 June 2009 14:05 > > To: Android Developers > > Subject: [android-developers] Re: Licensing an Android application > > programatically. > > > I am still in the requirements gathering stage, trying to make some > > use cases for the licensing requirements. Starting this thread really > > helped. > > > For understanding and reference..i am using this resource: > > >http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/Cr... > > > On Jun 3, 12:41 pm, Sujay Krishna Suresh <sujay.coold...@gmail.com> > > wrote: > > > btw aayush... if u r plannin to implement this can u plz temme how u r > > > checkin the validity of a key?? > > > 'm very bad with cryptography... > > > > On Wed, Jun 3, 2009 at 6:04 PM, aayush <abhatnagar192...@gmail.com> wrote: > > > > > Yes...sounds neat indeed.. > > > > > > >>> On Jun 3, 12:09 pm, mobilekid <mobilek...@googlemail.com> wrote: > > > > > >>> > I would do the same. > > > > > > >>> > Get the android ID like this: > > > > > > >>> > String android_id = android.provider.Settings.System.getString > > > > > >>> > (this.getContentResolver(), > > > > > >>> > android.provider.Settings.System.ANDROID_ID); > > > > > > >>> > Then send it to your back-end and query the number of times > > > > > >>> > you've > > > > > >>> > made the same call or the date you firstly made a call against > > > > > >>> > the > > > > > >>> > unique ID. > > > > > > >>> > Hope it helps! > > > > > > >>> > On Jun 3, 11:02 am, Sujay Krishna Suresh > > > > > >>> > <sujay.coold...@gmail.com > > > > > > >>> > wrote: > > > > > > >>> > > if i were u & if my app already interacts with the web then > > > > > >>> > > i'll > > > > > >>> initially > > > > > >>> > > hit a url from the app with may the phone's unique id... > > > > > >>> > > i'll take care of everythin else at the web-side... this will > > > > make > > > > > >>> sure that > > > > > >>> > > there's not much change in my app's performance... > > > > > >>> > > but i dont exactly no if an android phone has any sort of > > > > > >>> > > unique > > > > > >>> id.... & > > > > > >>> > > the possibilities to get such an id... > > > > > >>> > > if not the id u may go for the google acc registered with the > > > > > >>> phone... but > > > > > >>> > > this may have some limitations... > > > > > > >>> > > On Wed, Jun 3, 2009 at 3:20 PM, aayush < > > > > abhatnagar192...@gmail.com> > > > > > >>> wrote: > > > > > > >>> > > > okay..thanks for the answer Marc. > > > > > > >>> > > > For #1 i believe i need to create my own certificate by > > > > > >>> > > > using > > > > the > > > > > >>> > > > keytool utility and sign it as you suggest. > > > > > > >>> > > > Time based is my only requirement..as of now. Usage based is > > > > not a > > > > > >>> > > > priority for me. > > > > > > >>> > > > aayush > > > > > > >>> > > > On Jun 3, 2:34 pm, Marc Lester Tan <mail...@gmail.com> > > > > > >>> > > > wrote: > > > > > >>> > > > > Hi, > > > > > > >>> > > > > # 1 - I believe you can do this when signing your > > > > certificate. > > > > > >>> > > > > # 2 - you can store the number of times your app is > > > > > >>> > > > > invoked > > > > on > > > > > >>> the > > > > > >>> > > > > Preferences then just check if it already exceeds your > > > > > >>> > > > > limit > > > > but > > > > > >>> then it > > > > > >>> > > > can > > > > > >>> > > > > easily be broken by just uninstalling the application and > > > > > >>> download it > > > > > >>> > > > again. > > > > > >>> > > > > I haven't tried this yet. Just my idea. > > > > > > >>> > > > > Marc > > > > > > >>> > > > > 2. Usage based ( 100 invocations of the application). > > > > > > >>> > > > > On Wed, Jun 3, 2009 at 5:24 PM, aayush < > > > > > >>> abhatnagar192...@gmail.com> > > > > > >>> > > > wrote: > > > > > > >>> > > > > > Hello list.. > > > > > > >>> > > > > > I had a query: > > > > > > >>> > > > > > If i wish to attach an evaluation license to my android > > > > > >>> application, > > > > > >>> > > > > > how can that be achieved ? As for example, i may want to > > > > > >>> provide an > > > > > >>> > > > > > evaluation license based application that expires in > > > > > >>> > > > > > one of > > > > the > > > > > >>> > > > > > following ways: > > > > > > >>> > > > > > 1. Time based (30 days etc) > > > > > > >>> > > > > > 2. Usage based ( 100 invocations of the application). > > > > > > >>> > > > > > Once the application's license expires, i need to > > > > > >>> > > > > > restrict > > > > > >>> access to > > > > > >>> > > > > > it from the user. > > > > > > >>> > > > > > Thanks in advance.. > > > > > > >>> > > > > > Best Regards > > > > > > >>> > > > > > aayush > > > > > > >>> > > -- > > > > > >>> > > Regards, > > > > > >>> > > Sujay > > > > > >>> > > George Bernard Shaw< > > > > > >>>http://www.brainyquote.com/quotes/authors/g/george_bernard_shaw.html> > > > > > >>> > > - "A government that robs Peter to pay Paul can always depend > > > > > >>> > > on > > > > the > > > > > >>> > > support of Paul." > > > > > > >> -- > > > > > >> Regards, > > > > > >> Sujay > > > > > >> H. L. Mencken< > > > >http://www.brainyquote.com/quotes/authors/h/h_l_mencken.html> - "Nobody > > > > ever went broke underestimating the taste of the American > > > > > >> public." > > > > > > > -- > > > > > > Regards, > > > > > > Sujay > > > > > > Mark Twain < > > > >http://www.brainyquote.com/quotes/authors/m/mark_twain.html> - "There is > > > > no sadder sight than a young pessimist." > > > > > > -- > > > > > Regards, > > > > > Sujay > > > > > H. L. Mencken < > > > >http://www.brainyquote.com/quotes/authors/h/h_l_mencken.html> > > > > > - "Nobody ever went broke underestimating the taste of the American > > > > > public." > > > > -- > > > Regards, > > > Sujay > > > H. L. Mencken > > > <http://www.brainyquote.com/quotes/authors/h/h_l_mencken.html> > > > - "Nobody ever went broke underestimating the taste of the American > > > public." --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---