Is licensing required for paid apps? - android

I have a paid app that I'll be uploading to the market and maybe amazon market. I always thought that when you bought an app, it was automatically linked to your account. Reading the application licensing info on the dev site, I'm wondering if I do in fact need to implement that manually to prevent somebody from downloading my app and then putting a free copy of it online. Or is this used to control more advanced licensing issues?

It isn't required, but it's recommended. Android License Verification Library (LVL) makes really easy to implement licensing in your application. With LVL you query the Android Market to see if the user purchased the licence of your application, and you decide what to do (close the app, enter a trial mode, etc).
For Android LVL see http://developer.android.com/guide/publishing/licensing.html
Remember that this only works for the Google Android Market. If you upload you application to another market (for example, the Amazon market) remember to turn off Android LVL and switch to the mechanism provided by that market (I think Amazon injects a DRM system automatically when you upload your apk).

Related

App Licensing to one time paid apps

I'm in final stage of my project, and I was looking for what to do before publish the app then I came across this App Licensing on https://developer.android.com/google/play/licensing/index.html and this quote
The Google Play Licensing service is primarily intended for paid
applications that wish to verify that the current user did in fact pay
for the application on Google Play.
My app has a free version and a pro version, both have a different package name, the user buy the pro version and after that have anything more to buy (no itens inside to buy).
My doubt is should I implement this Licensing, or it is no needed?
The google play already do this control to not allow that other people can download of .apk and use this pro version without pay for it?
And what I have to do to do the Android on user device delete the .apk and this way avoid that the user give the .apk of pro version to someone else? Has any code that I can implement to do that? Or Google Play take care of it?
Thanks

Android - Bypassing install permission programmatically for enterprise apps from third-party sources

Several years ago, Android allowed you to set a permission that lets you install apps from a third party location other than Google's own app store Google Play. Eventually they deprecated that permission and only allowed hardware manufacturers to set that permission. I haven't checked since then whether that is still the case.
What I am wondering though is how I would handle a situation where a company wants to install an APK file on to their own devices but not host the APK file in Google Play. How would they provision this?
Android does allow users to install APK files on to their devices that don't come from Google Play, although that feature has to be enabled. Can that feature be enabled programmatically?
The solution that I can think of to installing company apps is to upload an installer app to Google Play that has been developed specifically by the company and used only for the company, even if it's available to everyone in Google Play. Employees would install this app as they do any app from Google Play. When this installer runs, it would prompt for a username/password. Upon authentication, the app would retrieve the company's apps from its own server and install them.
Is this the solution enterprises are currently using or is there something built into Jelly Bean / KitKat / Lollipop that provides provisioning?
EDIT:
Google states on their Android site:
The application is installed on users' devices. Android does not
currently have an automated provisioning solution. Some of the ways a
sysadmin might distribute the application to users are as follows:
Google Play. Enabling installation from another store. Distributing
the application through other means, such as email or websites.
http://developer.android.com/guide/topics/admin/device-admin.html
Aside from those suggestions, they don't offer anything else. Those solutions wouldn't be acceptable in many organizations.
The solution that I can think of to installing company apps is to upload an installer app to Google Play that has been developed specifically by the company and used only for the company, even if it's available to everyone in Google Play.
I'm pretty certain that only the Play Store app has the authority/permissions to programmatically install apps. Those permissions are not available externally to third-party apps. It would be a lot easier to use one of the following options and simply let the OS handle the installation process.
For enterprise apps, the APK file can be
hosted on a public URL. When downloaded, it installs automatically on the user's phone.
sent as an email attachment. Again, when downloaded, it installs automatically on the user's phone.
In both these cases, the user is asked whether they would like to install an APK that originates from a third-party source.
Also, it is not possible to programmatically change the permission for installing third-party apps. That choice has to be made by the user, and the user is confronted with that choice when they access an APK file in the two ways described above.
There is one more option - using Google Play's private channel:
1. Distribute Android apps in your organization.
2. Use a Private Channel to distribute apps in your organization.
3. Deploy app through Google Play Store in a private channel without Google Apps?.

Is it possible to program an android app that behaves similar to google's Play Store?

Is it possible for an android application to act as a custom market place?
The imagined behavior of the app:
Download XYZ app from the built in Google Play Store
Opening XYZ app yields a UI similar to that seen in the Play Store
The user can navigate through XYZ app and select a custom app supported by XYZ to install on their phone
This custom app would not be located on the Play Store and the .apk would be directly installed from the context of the XYZ app/marketplace to the users phone
I did some research and found alternative Android App Stores such as:
Amazon App Store for Android
GetJar
SLideMe
F-Droid
But is it possible to have an alternative marketplace like this that can be accessed from an app that was downloaded from the Google Play Store? Does google allow this type of practice?
So I suppose the heart of my questions is: Is it possible to create an android application that has permissions to install other 3rd party applications directly to a users phone? (without needing to leverage the Play Store or needing to jailbreak the phone)
Thanks in advance for the answers and insights! And please let me know if anything I'm saying doesn't make sense.
(Extra Credit: I would also be curious to learn about the feasibility of doing this with an iOS app as well)
To add to the other answers, you will have problems with some of Google Play's rules. AFAIK they don't allow your app to direct users to a different store. So you won't be able to keep your app on Google Play store in that case.
EDIT
It is not in the Terms and Conditions, as confirmed by #Cumulo Nimbus.
It is in clause 4.5 of the Developer Distribution Agreement:
4.5 Non-Compete. You may not use the Market to distribute or make available any Product whose primary purpose is to facilitate the
distribution of software applications and games for use on Android
devices outside of the Market.
My interpretation of the above was, and still is, that we can't point people to a different app store.
Kudos to #zmarties for pointing me at the Developer Program Policy which links out to the Developer Distribution Agreement. I knew I'd seen this somewhere...
In terms of iOS, Apple does not allow different app stores unless you jailbreak (iOS-speak for rooting) your phone. They are not as open minded as the Google.
Android apps don't need to be rooted in order to install third party apk's. The use just needs to allow this in their settings. The apps you have listed simply instruct their users to enable this setting.
The best example of a third-party "free as in freedom" app store would be F-Droid
Technically it's possible.
The current Developer Program Policy does not seem to prohibit it either - all they have to say on the matter relates to installing "dangerous products" from outside the play store:
Dangerous Products: We don't allow content that harms, interferes with the operation of, or accesses in an unauthorized manner, networks, servers, or other infrastructure.
Malicious scripts and password phishing scams are also prohibited on Google Play, as are apps that cause users to unknowingly download or install apps from sources outside of Google Play.
Having said that, I can't quickly see any alternative apps stores that are themselves in the Play Store.

Distributing "Free" Android App as .apk file directly

I have already published android app on Google Play. It is desired to distribute the application even offline as .apk file directly. My app is completely free and we wish it should spread to as many people.
I am not sure what could be advantages and disadvantages of providing .apk file?
Questions are :
Will Google play count direct .apk installation as a download, when connected to internet ?
Will users with direct .apk installation get any update published later ?
To answer your questions:
Yes, you will get a download prompt if you click on an .apk in Android. When you go to open the completed download, it will offer it up for install (see caveats below)
If you offer your .apk up for direct download outside of Google Play you get no "update checking" -- you have to do that yourself. Not entirely sure what happens if the .apk is available in the play store and via direct download.
It is easier to talk about the disadvantages for the approach of distributing the .apk yourself.
You have to do all the tracking yourself, if you publish to the play store you get some statistics
Similarly, you have to do all "update checking" on your own (either via writing it in your app or some other way.)
No secure way of distributing your application. The built in Android browser does not support downloads over HTTPS streams that require authentication **
Easier for users to get the source code of your app. They can download the .apk from your site, open it in 7zip (or similar) and have at the underlying class files. Whether or not this is a concern is really for you to decide.
The most important reason
Your users will have to check "Allow installation of packages from unknown sources". Your average person might not know how to do this, and may be hesitant to do so. So, it may limit your ability to gain a a wide market share.
So, in summary, ask yourself if not being in Google Play/Android Market is really worth the hassle that comes for both you and your users.
** Not sure if this is true with Chrome on Android -- it is certainly true with the older default browser
Google play collects statistics of Apps only installed through Play Store , with a Google account logged in. Read Documentation on App statistics.
Newer version of Play Store app can auto detect if any of installed app is also available on play store, and will notify for the update.
Also, there are numerous third party app markets other than Play Store. You can upload your app there too (auto update is not available with all of them).
Seems no, correct me if I am wrong :)
Yes, provided that the package name is the same and the version code of the apk file you've uploaded to google play is larger than the one installed in the device.

amazon app store and android licensing LVL

So, I have a few little android apps now, and am thinking about releasing the in the Amazon App Store. However I have one fundamental question I don't see answered anywhere.
How is Licensing handled if you release the app on the amazon store? I am currently using the Google LVL licensing in my paid apps to ensure the user is licensed to run them. I assume that an app sold on Amazon, isn't going to have any connection to tell Google, hey, this app was purchased, they are licensed, so send them an OK TO RUN status when they launch it. Or am I mistaken?
Does Amazon have its own LVL type code? Or do you just have to forget licensing all together if you want to sell on Amazon?
Simply remove all LVL code from your app (making it unprotected), then select the copy protection radio button when submitting your app to Amazon. They'll add the licensing code to your app before resigning it and releasing it on the Amazon Appstore.
No store-provided licensing code works in other app stores. Many have rolled their own, with varying degrees of simplicity.
I have an app in Android Market. What should I do to ensure the app
works in the Amazon Appstore?
You should make sure that your app does
not include any copy protection functionality (you have the option to
apply Amazon’s DRM technology – see our FAQ on DRM). You should also
take a moment to understand the different signing options available to
you (developer signed or Amazon signed) and choose the option that
works best for your users.
Source

Categories

Resources