Copy protection and pay per installation on different device - android

I want with my app such that user can not copy it. and user must pay for an app when user install on different mobile.
Once user paid app then it should work only in one mobile. when user install the app with same login then user can not install the app on different mobile. For this user need to pay for this.
How to achieve this.

You cannot do this through Google Play's paid app feature.
At best, you can make your app free and have an in app purchase that the user must make, which ties the device IMEI or MAC Address to that purchase on a server you own. That way, you can make users buy the app everytime they install it on a new device.
The copy protection feature is now deprecated, and you can't use it. Additionally, any user with a rooted device can pull your apk off their device. This is outside your control.

Related

Lock the app to prevent the app from being installed on other people's devices

How can I make my app so that if the user copies it installed on his device and sends it to his friends, his friends can't install the app?
I want users to be able to download my app from the market only.
Thanks a lot.
One of the best ways is to let anyone install app and then enable app features using in-app purchase.
If your application is online, you can submit user IP at sign up and block other IPs from accessing user accounts or better define a count limit for IPs of each account.
I don't think there's any way to prevent app installation on other user phones.

How to prevent sharing my Paid Application?

I have an Already paid App in Playstore. then I want to check user already paid in play store or not. If the user installs apk from other Resource(like Bluetooth, Xender.etc) how to prevent those users who not paid or not Install From Playstore.
It Totally Depends on you and your phone!
Let me Explain You Clearly:-
There is a feature in most of the Paid Third-Party Apps which is called license verification. This is how this whole process works:-
If you buy an app, at the first launch it will require an internet connection, then it will verify a license from play store which you buy at the time you buy the app. Then if the verification is successful the app will launch. But if you share an app with a user who didn’t purchased the same app and tries to open, it will say you to buy the app.
There are another methods by which you can bypass the verification. To do that you will need to root your device (which is very risky) and do some editing with that app(a little complicated).
So Indirectly Yes it can run
But the Direct Answer Is NO.!
Source - My Experience!

Is Android Device Policy Management possible with system apps only

I have written an app that enforces device policy management to enforce PIN and screen lock (similar to http://developer.android.com/training/enterprise/device-management-policy.html) and intend to ultimately have it on Google PlayStore.
Does my app need to be signed with system certificate in order for it be able to enforce these device management policies?
No, your app will have certain rights and will not require any system certificate, it will just require approval from the user to allow your app to act as an administrator.
Kindly download the sample app from here.
As shown in below image it will ask permission from user and that's it.
Will google allow to upload such app on Play-store ?
Yes definitely, It will allow for sure. Google have disclosed this API for such kind of apps. In playstore, there are many apps which are acting as administrator with this API. i.e. AppLock, AirDroid, AndroidLost

Security against sharing my app

I have a simple question as to how can we prevent the user to share an apk file from his/her device to others.Like if i put a paid application in the market and a user downloads it . If its downloaded how can i be sure that he doesn't transfer the application to other or puts it in some third party market . I need to find some security measure to do it for my application.Is there any permissions that needs to be added or any third party security .
All the answers are appreciated.
As I came across this link. How can i prevent LVL
The Google Licensing Manager is what you should use which can be found at http://developer.android.com/google/play/licensing/index.html.
This uses some code that you can put at the start of your application that uses the licensing API to check that your app is licensed. This is done by checking that the account that the user is using on their device has paid for the app via Google Wallet and that a refund has not provided. If it is found to have been paid, then you can let the app run, otherwise you can display an error to the user informing them that it is not licensed. Most apps that do this provide a button that will launch the play store at your app to let them download the legit version.
This doesn't directly stop users copying the APK or publishing it on other markets but it ensures that app cannot be used unless has been purchased by the current user on the Google account they are using.
Although there may be ways to circumvent this check but this is probably the best and most reliable way.
Hope this helps.
You can do something like verify user on your server when app launched, but you cannot force user not to share .apk by technical means. Apk can be easily copied from non-rooted device, and there's absolutely impossible to prohibit user to copy .apk from rooted device even if Google adds some copy protection in future.

Distributing an Android app outside Google Play and get it linked to it

Suppose I have a wifi network with a walled garden that prevents users from accessing Internet unless an authentication procedure is performed via browser.
Suppose I have an application on Google Play that automates this process for inexperienced people. And suppose 95% of users are inexperienced and unwilling to perform SMS-OTP authentication on a site that is not optimized for mobile.
Scenario
A person asks a clerk how to connect to internet using Android. The clerk suggests the person to download the Android app, but the person responds he has no Internet access because he has no 3G data plan.
Possible workaround
The walled garden portal detects the device running Android by user agent and says: "Would you like to download an APK from our internal network without having to go to Google Play?". The user accepts, unlocks unknown sources and installs the app.
Question
In this scenario, if a user downloads an APK of a Google Play-available application, signed with same key, on his device, will the installed application be linked to Play and subject to updates? And I mean without using a Market linker app.
That's my old answer, don't read it, just skip to the edit portion:
Short answer is no!
I'm sure there're geeky ways around to link an app to its Google Play
variant, but your scenario of non-geeky customers I reckon the best
option is to program the network to allow Android mobile access
(checking the user agent) to play.google.com (maybe even from the
redirection website auto-launch the google play link direct to said
app).
edit:
I'm thinking a bit more on this problem and I would like to change my answer to "I don't know" (what a horrible answer). But I would like to propose a test that you can do it yourself.
The reason I'm changing the answer is because I remember now apps like Titanium and they do link the app to the Play whenever restoring a backup. Of course, Titanium needs root, but that's because it's messing with other apps, not its own.
So in light of what I discusse I'll suggest you a simple test:
build an app, anything, Hello world!
Upload this app to Google Play and make it active
Wait a few hours for Google servers to make it available
Manually flash the same build version (with exact same signing key, etc) to a device.
Reboot the device (to be sure the system will read through installed applications and do communication with Google Play)
Go to Google Play on the device and check if it shows the app
It's possible that the app have the same package name and signed with the same key, the Google Play on the device itself will recognise it as the same and link it.

Categories

Resources