What makes an android app "market" or "non-market"? - android

How does an Android device identify an app as "market" or "non-market"?
The situation is that I've an app I want to make available to a set of customers, rather than the entire world, but don't want them to have to go through the extra steps of allowing their device to install non-market apps. I'd like to distribute it through a company website behind a login wall without losing the ease of installation for a play app.
The private channel, designed for companies to distribute internally, isn't quite what I had in mind. I'm distributing to clients of my company, each of which has many employees, via a per-client website.
I don't have a problem with somehow presenting the app to Google to get it signed, sealed, etc. "Why not just use the market" is a reasonable question, and I'm considering that option too.
I'd also rather not violate Google's terms of service in the process.
Clarification:
I appreciate the answers so far. I am asking about the mechanism the Android OS uses to determine if something is a market app.

This should give you the right information:
PackageManager pm = getPackageManager();
String installationSource = pm.getInstallerPackageName(getPackageName());
A result com.google.android.feedback indicates, that the app was installed using Google Play.
Hope this helps ... Cheers!
p.s. this related link looks quite interesting

A "market" app is an app that you download from a trusted marketplace (usually Google Play but some devices like the Kindle Fire allow downloads from the Amazon market), so in your case you have to tell your users to allow installation of non-market apps.
What about showing the login screen on the app instead of the website? In this way you could publish it easily on Google Play. This is how
similar apps do (like this one : https://play.google.com/store/apps/details?id=net.intermedia.securisyncinternal.ui)

Related

How to update a Xamarin forms mobile App?

I have a app created in xamarin forms, I already know how to create the APK, the app is to be used internally, i dont want to publish to the appstore, how can the app be update when is available a new version ?
Depending on your resources at hand and requirements, you have a couple of options. These options include, but are certainly not limited to:
Visual Studio Mobile Center (link): probably the most obvious choice. Out of the box support for Xamarin, and 'just works'. You can set up different groups of users, add analytics and crash reporting, etc. In the future you might be able to take your configuration to its big brother: VSTS. But beware! The product is in preview right now. Preview in Microsoft-land means free for now, but doesn't have to be in the future. While I expect it not to cost much/anything for basic functionality, it is something to be aware of. Not sure on this, but I think you need to invite your users by hand, so you have to know who you want to invite.
Google Play Store (link): It's kind of a mis-use, but you could of course leverage the Google Play Stores capabilites for Alpha/Beta testing. Also here you have the ability to create groups and have some basic reporting options. In terms of delivering your app you have some nice options here like A/B testing and unlike Mobile Center (again, I didn't verify this) you can setup a link with which people can enroll themselves. Depending on your needs, this might be nice. In terms of costs, this will set you back 25 dollars once. And you could develop and distribute other apps if you'd like.
Manual: send the APK file manually or hosting it on a shared location. I would prefer this least of all. People are not notified of any updates and you don't have any insights apart from something you might have incorporated in your app. Also you don't have any control over who installs or sees the app, etc.
But of course the prefered way would be to do it through the Google Play enterprise program. See this website. This provides you and your end-users with a private app store basically. Or as they say:
A managed version of Google Play is used by enterprises and their employees to access a rich ecosystem of work and productivity apps.
You can have private apps, only available for your targeted audience and still leverage the power of the Google Play store. The experience for your end-users will be unified with the regular app store.
I couldn't find a straight answer, but it seems the private apps will also cost just 25 dollars once and is included in the regular Play Store developer license.
You have a good way to do that : Use Beta this a service provided by Fabric, you can upload your app with different versions and get access to different teams in your company. It's easy to use and quick to manage.
Hope it helps.
You have multiple options at your hand:
use Bitrise or Visual Studio Mobile Center (aka HockeyApp) to build and provide a downloadable version of you app
in addiont to Bitrise or VS Mobile Center you can set up your own store. Take a look at Relution for example
build locally on your machine and push it to:
a fileshare
an FTP-site
the user by mail.

Android & Google Play publishing for customers

I am currently working on an Android app and I am wondering which would be the best way to distribute it to customers. I understand that one can create a private channel but I haven't been able to determine whether our customers would be able to use it. From what I've gathered, a private channel is for internal distribution; I wonder if someone without an e-mail account from our company would be able to download it this way?
If Google Play is not the answer, what would you do? I know the app can be distributed through e-mail or links to download it but I'd rather avoid having users change their devices' configuration to allow installing APK from unknown sources.
Not sure what your beef with Google Play is but even if you're not intending to publish the app at all, you can still take advantage of the beta testing mechanism -- you can distribute a Google Play to limited audience -- i.e. a list of google accounts.
Apart from that, if I'm not mistaken TestFlight supports Android package distribution. Looks like they dropped Android support

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.

Google Play Market account for different applications

I'm starting developing and app about fights and violence and i'm planning to distribute this app through the Google Play Market, like i did with all my other Android apps. I usually develop and publish apps for children, so i'm scared about publish something that is really far from my other published apps. For example I'm scared about the fact that an user, while is looking for one of my child related app, can see the violence app in the "other apps from this developer" section.
Is there a way to avoid that or the only solution is to buy another developer account?
Unfortunately, More from Developer and related search on site and Play app is based on developer's name.
For example, search for more from developer looks like this: https://play.google.com/store/apps/developer?id=publisher_name and for devices market://search?q=pub:publisher_name
The only option is to register separate Google Play publisher account.
To create another account for the sheer purpose of publishing an application which is violent and should not be seen by users of your other applications, is purely a subjective matter. If you believe this is the best way of doing so, go right ahead. I don't see how it will affect any other factor.
That being said, when you publish an application, you already have the option (a mandatory one, I might add) to select the Content Rating. The recommended selection for such an application could be High Maturity. Read more about it at this link.

Android appstore

Just a quick question, On Android there are various appstore's. For instance Google's own, Amazon's etc.
Is it possible for other 3rd parties to easily create there own app store?
If a device supports side-loading of apps, yes. In fact, you can download and prompt the user to install applications from any other application. Just trigger the phone to download the corresponding APK. The difficult part is getting developers to pay and submit their apps to you.

Categories

Resources