Friday, September 30, 2011

[android-developers] LVL, DeviceLimiter and userId

I'm looking at the LVL code and had a question about user identity and
the DeviceLimiter interface. I've one app in the Android Market that
uses LVL in its recommended form, so users can install the application
on any device they have set up their account on. Early indications are
that the software is being repeat-installed at a higher rate than I'd
expect - 40% of users have my application installed on more than one
device. That seems a bit high but, for that application in particular,
it is no more significant than some lost sales - there are no ongoing
running costs for me to support.

It is enough to make me concerned about my next app though, which
requires a server in the cloud. Application sales should cover the
cost of this but if the repeat installation rate is high, my
application may not be sustainable in the medium to long term - server
costs will eat into income and I could end up running at a significant
loss - and the more popular the app becomes, the bigger that problem
is. So this got me thinking. Repeat installations by one used are not
a problem, but one core function will account for the majority of
server load - both processing and bandwidth. So, my tentative thought
is that if a user is currently using that core function on one of
their devices, they will not be able to use that function on any other
until they are done with it on the first device.

To be able to implement this I need access to a piece of data that is
common to all the installations, which brings me round to the
DeviceLimiter interface. Is the userId supplied here the same for a
given application, purchased by a single user, regardless of the
device it is installed on? Or is it the ANDROID_ID for the device? I
don't want any identifying information (like an email address), I just
want to be able to spot, from my server code, when multiple instances
of a single purchase are using my (relatively) expensive resources
simultaneously.

A fall back solution would involve the user putting in their Google
Checkout order number to activate the application - is there a service
exposed to securely obtain details about an order that my server could
make use of? All I really need is to know is the application
purchased.

A bit rambling I know, but any suggestions on ways of tackling this
issue are most welcome.

--
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+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

No comments:

Post a Comment