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
-~----------~----~----~----~------~----~------~--~---

Reply via email to