Android app upgrade without market - android

I am going to have a alpha release of my app, which is not yet on the market. I want to have the app APK link sent out to friends via email so they can download it from my site CDN.
One question here: if I want to give them updates, what will be a good way? Can I download the new APK within the app, and somehow install the APK to replace the old one without anything to do with the market? So my friends can have the app upgraded while it is still in alpha release?

When I did it, I used Zubhium -- they were a web service with a small API that you could install into your app, giving you a mini "app store"-style backend and handling distribution for you. It would host and distribute your APK, connect up to their server when the app launched, check for updates, invalidate old versions, gather crash logs for you, etc. It was very good.
Zubhium are now https://www.vessel.io -- I presume they still have the above features as part of their now-much-bigger service, but when I checked you had to give them a credit card number even to sign up for the free plan, so I've not played with it.
A friend of mine uses http://testflightapp.com for iOS, and it looks like they have an Android version now, so that's certainly worth checking out. A quick search also shows up http://applover.me. #Janusz recommends http://hockeyapp.net/features in his comment.
As #Nanne points out in his answer, the Play Store itself now lets you distribute to limited alpha- and beta-test groups. That looks like it has fairly minimal features compared to the third-party services (no A/B testing, etc.), but will be familiar and free. And it doesn't need an extra SDK rolled into your app.
So, my general answer is that there's more than one professional beta-testing API/service that you could use, that they're generally very useful, quite easy to roll into your app, solve all the problems you're anticipating and more, and often have a free plan to get started. I'd recommend picking one of them rather than trying to roll your own solution.

If you want this only to be able to release your app in Alpha, and maybe later in beta, take a look at the android market again.
Check out this link: https://support.google.com/googleplay/android-developer/answer/3131213?hl=en
It boils down to the fact that you can have an Alpha-test, and a beta test, each with selected users. You can upload your app as normal, so you'll have updates via the market, but not everyone can download your app.
For the beta at least, you can select a community that is the source of your users, so all that are in that community could be testers.
This is the best method for testing I believe.

Related

Auto-Update Enterprise (intern) Apps

So, is there a realiable way to update enterprise/intern apps remotelly?
I work in a company that spreads across my state, including some areas that the access is dificult, so I can't send someone to locally update the app everytime there's a new release.
I'm working with Android/Java at the moment, and we also use Azure DevOps to store the repositories.
I tryied App Center from Microsoft but didn't understood if that could help me update my app or not.
Also, we don't want to publish the application to the PlayStore and make it public. Unless, of course, if that's the only way.
Thank you for your time reading this, I will keep searching something related to this and also share here any solution that I can find.
There's different ways to do so I'll say some but there's definitely more.
You can use Push-link, read about it it does more or less what you are looking for.
Perhaps could work uploading the .apk to Google Play and just publish it for beta testers, here's an old Google Play Private App Guide pdf and perhaps it doesn't work anymore but give it a try.
Also what you tried with App Center perhaps what you are looking for is Distribution In-App Updates
Note: This is not recommended to avoid by passing Google Play to distribute an app

Is there a way to set the max version of my android app that a group of users are allowed to download?

I have an android app that is a counterpart to our software product that we sell to customers.
When we sell our product to a company, I need an easy way to give those users access to the app, including updates, product description etc.
The reason that a service like Google Play will not work is, that different customers require different versions of the app depending on their version of the main software.
Some customers are unable/unwilling to stay up to date, and we need to be able to give out different versions of the app depending on their version of the software.
Is there a way to set the max version of the app that a group of users are allowed to download?
This is a really good and difficult question. As someone who has worked on app targeting for many years on Google Play I've been racking my brains for the best way to do this.
The trouble is the completely different business models. Android works on the principle "buy the app once, get upgrades forever, usually automatically". Your counterpart computer software clearly works on a slightly different principle.
I can't think of anything that works well. Sorry about that. Some possbilities which are all broken in some way:
Have a different package name for each version of your app. eg com.myapp.v1, com.myapp.v2 etc. You could have the counterpart software provide the package name in a link to be helpful.This is bad because it punishes users who do upgrade, they have to manually install the new version each time. It also means reviews and ratings wouldn't all be associated with the app. It's a pretty terrible idea.
Make the android app versions always be backwards compatible with all versions of the counterpart software. We kind of do the opposite with the Google Play servers. Because we can't guarantee users upgrade Google Play on their phones, the server has to be compatible with almost every version of Google Play (and Android Market) ever shipped. It's a lot of work, but keeps users happy. You could make sure your app always works with old counterpart versions. You could always have a "sorry, you are getting a degraded experience because you haven't upgraded.
Sorry I can't help more.

Deploying to the Android Marketplace

If I want to deploy to the Android Market it looks like I have two options:
Create my own keystore and upload. When I update my app use that keystore on my APK to ensure that users are given the option to update.
Do step 1, but also implement Application Licensing which will put controls on how the app is used.
Am I correct to assume that step 1 means that anyone could copy my APK once it is purchased from the Android Market and install it anywhere they wish?
How common is it for people to use Application Licensing and is it the defacto approach?
My app will be paid and I want to ensure I am taking the best approach.
Am I correct to assume that step 1 means that anyone could copy my APK once it is purchased from the Android Market and install it anywhere they wish?
Yes you are correct, it would be extremely easy to copy your application.
How common is it for people to use Application Licensing and is it the defacto approach?
I would say it's very common since it's the only way to verify the licence against the Android Market, though I don't have any stats on this. Otherwise you would need to implement your own "Market" and verify purchases in your own.
My app will be paid and I want to ensure I am taking the best approach.
Use LVL, DO NOT use the default implementation. Watch the LVL session from the 2011 IO for a how to.
Often times, people will not simply download an app and copy it anywhere they would like. However, it is possible through some apps and other software for users to copy off APKs from their phones (even though they aren't suppose to). In my opinion, if you app is paid, you should implement Applicant Licensing. It is a very useful tool to help in preventing people from stealing your APKs (in other words, downloading it and then trying to install it some where else) as it checks on start up to ensure that the app is on the phone that purchased it. Otherwise, for free apps, I don't really see the neccessity because it's free and anyone could have downloaded it.

Android releasing and app into the market

I am nearly done with my first android app and there's still a bit more work to do but I want to get feedback from users about what they like/hate/bugs to fix, etc. I plan on making the app free with ads. Now I have been testing my app on my phone (HTC Magic) and plan on doing some simple testing on the emulator using different configurations. Would it be a good idea to release the app as being beta as it is now? And then fix up any issues and implement the full features I want in it later on and re-release it? I don't want the beta ratings to hurt the final version so would I'm guessing I simply release it as a new app instead of an update to the beta?
Also If I was to release the beta should I be releasing it with or without ads?
I would love to hear your experience with your apps!
Thanks
In this kind of situations, that's exactly what you can try to do: release a beta version of your app so that the bugs don't hurt your rating on the Market. What I prefer to do in this kind of cases:
Don't add Ads. After all, it's just to be a testing experiment. Not too many people is going to download your app.
Offer a bounty for people who discover bugs. For example, you can give a free fully functional copy of your app to the people who helped you find bugs.
Use a Log system for Android that automatically send you reports of your app.
Try to make sure your app will be tested on different devices with different screen sizes, configurations, etc.
Once you have fixed bugs and done the appropriate modifications you can go ahead and share your app with the whole world.
Don't push half baked product in android market. To get feedback and track crashes do a beta distribution. Try Zubhium , simple yet powerful platform for android dev's where you can upload apk, distribute to users. Optionally, you can enable crash reporting to get realtime crash reports and enable in app support using ZubhiumSDK to your market version. That way you are giving your users a outlet to express their feedback, comments, feature request etc.

Is there a recommended strategy for releasing a beta version of an application to a limited number of users through the Android Market?

I would like to distribute a beta version of my application to a small group of users. Ideally this would be done through the market to make it easier for the beta testers.
Is there a way to restrict an app's presence in the market? The only solutions I could come up with were:
1 - Have users download the .adk from the web and install manually
2 - Release the beta version as a separate app in the market
The first option isn't ideal as you have to potentially walk the user through allowing apps from unknown sources. Not to mention from a user perspective, you're then downloading an app from an untrusted source.
The second option isn't ideal as you then are potentially confusing other users by having multiple versions in the market, one of which might be flaky. And then there's the inevitable comments about how something doesn't work in the market. I guess you could add some sort of password to that version that you only distribute to your beta testers.
Are there any better solutions?
Market is for public apps only so there is not any good ways to do this. Our app was distributed by email as apk when we where doing beta-testing. Use android forums to get beta-testers.
But, if you insist on using android market. I suggest re-name your app and package-names, and put it into the demo category. But again, I would not used android market for beta-testing.
Perhaps put a relatively high price on it and refund the beta users' money.

Categories

Resources