I'm going to deploy new paid app to appstore. This app will connect to our server and download some data (pretty big sometimes).
I'd like to know, is there any way I can check (on server side), that request is going from app, which was really paid (not stolen).
I know that anybody can buy app once and then distribute it (and guys with jailbreaked phones/pads can install it easily). It may cause extra traffic from our servers, and we want to protect us from it.
Or may be I can somehow figure out, that request comes from one sold copy of app? In this case, I can restrict numbers of downloads from one copy, so if it will be widely distributed, it just stops works one day.
Any ideas?
I am copying this verbatim from an email I sent to the cocoa-dev mailing list a while back to someone who had your concerns. The numbers have probably changed, but my rationale still applies as to why I think it's a waste of time to even think about this sort of stuff.
Setting aside all the technical issues, do you have evidence that jailbreak piracy is a large enough problem to justify you doing all this?
For one, while I don't have a percentage I'm quite certain that it is a minority of phones that are jailbroken. I run with a pretty tech savvy crowd and I know only one person who has jailbroken their phone, and I am fairly confident that techies are more likely to go through the trouble. (How many average users have the faintest idea of what it means to "jailbreak" a device?)
Jailbreaking is probably more prevalent in countries and cultures with less of a tradition of paying for software. But this leads to the second point...
From your standpoint you (presumably) really care about converting would-be software pirates into paying customers. If they can't use your app on a jailbroken device yet don't buy it legitimately, you haven't accomplished anything economically worthwhile. In fact, you may be worse off because you lose the (admittedly small) possibility that the would-be pirate will show off your app to others who might in turn become paying customers.
So, your calculus ought to be something like:
(# users with compatible devices) * (% with jailbroken devices) * (% interested in your app) * (% unable or unwilling to circumvent your protection) * (% who will purchase your app when confronted with copy protection) * ($ price per sale) > (increase in legitimate sales that could be obtained by devoting development resources to product enhancement, marketing, support, etc.)
Let's suppose that 250M compatible devices have been sold, with 150M distinct users (assuming that there are many people who have replaced devices or own iPad with an iPhone, etc.) Suppose 10% are jailbroken, which is what some cursory Googling turns up. That gives us 15M candidate users.
Now, unless you are writing Angry Birds, it seems unlikely that you will appeal to any more than 1% of the user base. That leaves 150K users. Maybe 80% are unwilling to circumvent your copy protection, leaving 120K users. Now the kicker: how many are then going to want to actually buy the app? Maybe 5%? That puts you at 6000 users.
So with these admittedly crude guesstimates, if you could gain even 6000 users (out of the 135M non-jailbroken user base postulated above) by devoting your time and energy to anything else, you'd come out ahead.
Well there are many tries to detect, if a device is jailbroken. But most of them can be tricked out again. So there is no SAFE method of detecting a jailbroken device. But just search for "detect jailbreak".
Than you could send your result to your server (together with the data request) and decide, what to do. But think about the effort, as said by Conrad Shultz.
Anyway you can track, how many apps are sold and how many server requests there are. So you will have youre private statistic, how many copies of your app are stolen. You can upload an update for your app anytime, if it really will be a big problem in your case.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With