Licensing System APP INVENTOR 2

200 views
Skip to first unread message

Trax

unread,
Dec 17, 2019, 6:11:01 AM12/17/19
to MIT App Inventor Forum
Hello All,

This is my very first post in this group. I started to develop a small app in APP INVENTOR 2 just for testing several things with my arduino but now I created an APP, that I want to sell (not in google app) just sending it by Email.

I want to create a licensing system because I will provide the APK and I don´t want that someonecould  buy just one license and install the app in several devices.

I was checking this forum and I saw that it is imposible to create this system in APP inventor, but I have and idea and I want to ask if it is possible or not.

I was thinking that I could check (when the app starts) if a file exists. IF the answer is yes, just read the content if its no create and empty file.

To check if the APP as a valid license, the app check the device serial number and apply som kind of maths to than number (or just a part of it) and save the result in the file.

When the apps knows what result should be it will check it with the contect of the file. If it match the license its ok, if not.. you should insert the license code. The license code will be saved in the file.


Do you think this algorith could it be possible in APP INVENTOR 2?

What problems could you find in this kind licensing system?


Thank you for your answers.


BR

   Traxto


Chris Ward

unread,
Dec 17, 2019, 6:30:16 AM12/17/19
to MIT App Inventor Forum
Hi

The first problem is that most email providers (a popular one being Gmail) do not allow APK files as attachments. You could run your own Web Server.

There are a lot of advantages in selling/distributing your App via a Market Place. Less hassle (if your App "takes off", you would be sitting at your PC 24/7 issuing licenses etc), Wide Audience, User confidence that your App is safe etc. If you really do not want to use Google, how about Amazon?


BodyMindPower

unread,
Dec 17, 2019, 6:47:36 AM12/17/19
to MIT App Inventor Forum

Trax

unread,
Dec 17, 2019, 7:04:19 AM12/17/19
to mitappinv...@googlegroups.com
Hi

The first problem is that most email providers (a popular one being Gmail) do not allow APK files as attachments. You could run your own Web Server.

There are a lot of advantages in selling/distributing your App via a Market Place. Less hassle (if your App "takes off", you would be sitting at your PC 24/7 issuing licenses etc), Wide Audience, User confidence that your App is safe etc. If you really do not want to use Google, how about Amazon?



I am fully agree with you, but this APP is just usefull for people that are using and specific external device that we develop so.. I think that upload the APP in the market place will contribute those apps are are usefull only for a 0.01% of people.

Regarding the email providers, of course I have my own email and webserver, so this will not be a issue.

Thank you for your answer.

BR

  Traxto

Trax

unread,
Dec 17, 2019, 7:17:28 AM12/17/19
to MIT App Inventor Forum
OMG... Yes.. this is a very important issue. I was reading and they are removing access to all this kind of hardware unique ID. This is a problem. They recommend Instance ID, but for the licensing point of view.. is not usefull.

Any idea about what other unique ID could I use? also MAC address is not recommended.

BR

 Traxto

Chris Ward

unread,
Dec 17, 2019, 7:49:22 AM12/17/19
to MIT App Inventor Forum
Hi again

Yes - the reason for that is in fact born out of EU privacy legislation that other countries are adopting. Same on other devices including desktop PCs and dedicated games consoles. Companies like Sony have a lot of work to do!

Somewhat depends on whether or not you are selling the App. Since it is dedicated to your own bespoke hardware, it would, IMHO, be best to distribute the App for free (back to Google Play as being ideal).

So, what is your concern about people obtaining your App - surely it would be useless to anyone except the customers that have bought your hardware?



Chris Ward

unread,
Dec 17, 2019, 8:03:38 AM12/17/19
to MIT App Inventor Forum
...you could of course give each device a unique ID and email the ID to the customer.

The App could prompt for that ID and store it in TinyDB, testing for the ID each time it connects with the device - so the App only works with the device provided to the Customer.

Trax

unread,
Dec 17, 2019, 9:09:53 AM12/17/19
to MIT App Inventor Forum
Excuse me... but I'm not getting your point.

Let's imagine than the APP could generate a unique ID each time you install it. Then... I have to provide a valid license code according to the ID provided, but what happend if you reinstall the APP in the same device? What I really want to do is to allow "the device" in which you will run the APP. If you want to install the APP in more than one devices, you should "buy" the code. If you are reinstalling the APP in the same device it is not necessary. This point is related with the updates aswell.

Regarding the Google Play...I think that you are right... it would be better to upload it to Google Play instead of sending it by Email. Thanks ;)

By the way, thank you for your help and your answers

BR

  Traxto

BodyMindPower

unread,
Dec 17, 2019, 9:25:44 AM12/17/19
to MIT App Inventor Forum
You can publish your app in the Google Play Store as an Alpha or Beta track and invite the targeted users.

Chris Ward

unread,
Dec 17, 2019, 2:11:12 PM12/17/19
to MIT App Inventor Forum
Hi

You can't have your App generating a unique ID - how would you police that?

Have a unique ID for the hardware (microcontroller). Supply that ID to the customer who buys the hardware (via email or download). Your App then prompts the customer for the ID on first run, and stores it. When the App communicates with the hardware (e.g. BLE), the hardware can request the ID (or simply not work until the ID is sent). If that method is good enough for the electronics giants, it has to be good to go for you too.


TimAI2

unread,
Dec 17, 2019, 2:25:15 PM12/17/19
to MIT App Inventor Forum
Confused....

If it only works with the hardware device, what is the problem?

(I have an app, but it is only of any use if I have the hardware device to go with it ?)

Sell the app with the hardware device, you could even code the two together before dispatch ?

BodyMindPower

unread,
Dec 17, 2019, 4:45:20 PM12/17/19
to MIT App Inventor Forum
Completely confused ...  :)

Trax

unread,
Dec 18, 2019, 4:42:30 AM12/18/19
to MIT App Inventor Forum
Ok Guys ;)

First of all sorry if I confused you. The point is that the relationship between the APP and the microcontroller (External device) could be N to N. The microcontroller has its own configuration and the way to configure it. but you can buy the APP to make it easier. This means that you can have one APP for several microcontroller or even one app for each, but I can not make a relation between Microcontroller and APP for the licensing system. I don´t know if you know what I mean.

I think that the only way, right now is what @ChrisWard said. Generate a Unique ID and after that they send me the ID and I generate the license code. IF you have to reinstall the APP. you have to send me an email telling me that.

I was thinking about a connection to an external database (internet), but, the devices with the APP installed maybe don´t have Internet (at least all the time).

Again.. sorry if I confused you ;) It was not my intention.

BR

   Traxto
Reply all
Reply to author
Forward
0 new messages