Licensing J2ME Apps

I wonder if anyone can help, I’d like to license my apps in the following way:

  • Let the user download the jar of the game without any restrictions (apart from anything else, to confirm it deploys on their handset).

  • When the game/app starts it requests a registration code.

  • The user can buy this code from the website by entering their cell number (or ESN, or IMEI, or similar) which will generate a code specific for their handset.

  • Entering this code unlocks the game.

This would allow me to distribute the jars however I like (let the user install them without having to SMS or WAP it on).

However, I can’t find a device independant way of retrieve the cell number/ESN/IMEI. Is there a libarary existing that wraps this up?

Thanks for any comments,

Kev

[quote] However, I can’t find a device independant way of retrieve the cell number/ESN/IMEI. Is there a libarary existing that wraps this up?
[/quote]
In short, No. I think a very few devices will let you access it in a property though.
You could read it through the Symbian API, but would require you to use C++ instead of Java :slight_smile:

There really isn’t any easy way to restrict midlets, since you can’t rely on anything device specific (except bugs ::))
An alternative route might be by using gprs or sms to verify a code and unlock - but that technical limit might severely limit distribution.

How about a randomly generated code? I’m keen on letting people download the jars and test them on handsets before they buy.

So, it would run like this:

  • Go to website, play the game as an applet, choose to download.

  • Download jar either on your PC (for Bluetooth/IR to the phone) or via WML direct to the phone.

  • The downloaded version will require registration but may allow limited play (demo version) to ensure compatibility with the phone.

  • The game will generate a random number and store it in the record store locally. This random number will be stored in the RecordStore for the Midlet. The random number will be presented to the user when they’re asked for registration.

  • Buying the game is the process of typing the random number into a web form, paying your cash and getting the key.

  • Entering the key into the phone game will unlock the game.


I think this benefits the user becaues it ensures the game works and is fun on their handset. Also this should benefit the distributor since the game should be locked to the handset and can’t be redistributed.

Only worry is it might be too complicated for end users?

Kev

Relying on the RMS may run you into some problems.

Quite alot of phones allow the user to clear a particular games RMS.
A few phones can corrupt their RMS quite easily. (run out of power/battery removed, while accessing the RMS)

Right, hmm… ok. Is there anywhere else on the phone to store stuff more reliably. I don’t notice everyone having web connections enabled on their phones either :frowning:

Allowing the use to clear the RMS isn’t a problem though, if they choose to do that they lose their game. Meh! :slight_smile:

Hmm… I take it current distributors don’t give people jars, they just download the games direct to phones?

Kev

[quote]Right, hmm… ok. Is there anywhere else on the phone to store stuff more reliably. I don’t notice everyone having web connections enabled on their phones either :frowning:

Allowing the use to clear the RMS isn’t a problem though, if they choose to do that they lose their game. Meh! :slight_smile:

Hmm… I take it current distributors don’t give people jars, they just download the games direct to phones?

Kev
[/quote]
yeah, pretty much.

Its what the carriers are pushing for too,
more OTA downloads = more revenue through data charges.

For instance, one of our T-mobile pay as you go sims, costs a huge amount for gprs data transfers - 2p/kb i.e. £20 per megabyte!
With that kind of tarrif, you end up paying £5 for the game, and £2+ for the data download!

Obscene realy, and utterly ridiulous.
Almost in the realm of unfair business practices.

This is what I’m kinda trying to avoid.

Think I’m gonna stick with RMS and a random serial number / license key.

Though I spose this is shooting myself in the foot if I ever want to actually be able to sell any of these things?

Kev

i dont know if this is possible coz im not familiar in RMS that much… try this

create 2 RMS’ one for the license and one for the gamesaves… iv read a thread (at the top) that RMS can be destroyed while the program accessing it and the power suddenly disappears. Well, the description of the RMS’ are as follows

Initially the RMSlicense is set to ‘FALSE’ for unregistered.

The user will browse your site which offers the complete jar download and tries to beam it to his phone. When the user downloaded the game it initially run as DEMO and there is an option to LICENSE it in the menu. If the user liked your game he should choose “register” from the Menu and it will then ask for the UNAME and SERIAL. The user will go again to your website using his PC or phonebrowser to order the serial and you successfully sells it to him and you should send the SERIAL and UNAME to his email. After he got it he will try to copy the SERIAL and UNAME to his phone and the program will connect to the GPRS accessing the database to check if the codes are correct. After the program confirms that it is correct the RMSlicense will update ( I suggest a flag ‘true’ for registered and vce versa) the next time the user opened the application it will read the RMSlicense if it detects that it is ‘TRUE’ it will run as licensed version and vice versa.

This is the drawback… the user may share the JAR to other users and he may also share his SERIAL and UNAME to others but this security check is MUCH better than making the COMPLETE version be played on the SPOT…

IF my senses are correct the leech user (like me hehehehe…) may be lessen by half because I may not knew anyone who bought or wants to share his license to me… I MEAN THERE IS BUT IT IS HARD TO FIND…

i hope you got mah idea and I hope i didn’t waste my time to type these lengthy reply thread! ;D

or if you dont rely on GPRS connection try to have a code that generates the key based on the UNAME… make the code simple yet strict. OF course the ordering procedure is the same like

1.The user downloaded and installs the game
2. The program will check if the RMSLicense is set to true (reg) or false(unreg)
3. if it is ‘true’ it will run as FULL VERSION… at this point, since this is the first time the user will open the application the RMS is set to false or DEMO.
4. If the user liked your game he will go to the Menu of the game and click on register asking for UNAME and REGKEY
5. The user will go to ur website with phonebrowser or pc and tries to buy your game… assume the transaction is successful… you will then send the UNAME and REGKEY to the email he provided.
6. The user will key in the UNAME and REGKEY to the application and clicks on OK or somethin like it. Your program should call for a special function in your APP generating a REGKEY. it will then check if the REGKEY your app generated is equal to the REGKEY he inputed the RMSLIcense will update and set the flag to ‘true’ or licensed… and so forth!

Again… i hope my idea is not a crap