Android, sideloading applications and keep them up to date via Google Play - android

My company would like to give an Android device to a group of our selected customers.
Doing that, we would like to provide users with our mobile app. The app is already on Google Play, but we would like to avoid users downloading and installing by themselves. We prefer to give the device ready, with the app already installed.
We found several ways to manually install an APK on the phone without having to login to the market. But it seems that doing that, the user will not be able to update the app via Google Play, as the app would not be recognized as installed.
Any idea?

As per January 2015, this appears to be impossible. Here is the response I got from Google Play Developer support:
Side-loaded apps do not update via the Play Store. If you would like the app to update, you will need to uninstall the app on your phone and reinstall the app via the Play Store.
I wonder if anyone found a way around this?

To summarize the answer from #Android-Developer and OP's comment discussion:
Google Play recognizes the app signature of APKs regardless of the installation source. As long as you use the same package name and keystore when generating your APK, Google Play will be able to detect newer versions and trigger an update.
To install the app without logging in to a Google account, enable the "Install from unknown sources" option in Settings. You can disable it once the installation is complete.

You may install Titanium Backup if your phone is rooted, then long press on your side loaded app package and select "Attach to market" option. Now you may receive updates via Google Play.
I don't recommend this, I mean never install cracked or patched apps because of copyright or security risks, but installing a Modded version of Google Play can make patched side loaded apps to be upgraded after attaching them to market via Titanium Backup. This is not needed for purchased apps because they are registered in your Google account, so attaching to market will be enough.

To get a MANUALLY INSTALLED APK to show up in the Google Play Store in the UPDATES or INSTALLED section, do either of the following:
1.) Manually install the APK with the SAME APK filename that Google knows the app as (i.e. from the APK download site like APKMirror.com).
2.) If you CHANGED the APK name when you saved it, it will NOT show up in Google Play Store as an installed app.
However, IF there is an update to the app, you will have to do a ONE-TIME search for that app in the store and update it. It will give you the UPDATE option on the app's store page. Once updated via the store, it will show up in the store's Installed / Updates section from now on.
Why does this work? Because the UPDATE will be done thru the store and the APK name it's using during the update process is what Google knows the app as.
If there is NO update, do option #1.
I always add the App name and version info to the front of the filename so I know what it is for later use (because if I'm manually installing, I'll probably be saving it for multiple / future devices).
I also keep the original name at the end, so I can rename it back to the original name if needed. Android is the only O/S I've seen where the filename matters during the install process.

Related

Google Play not updating internal app automatically

I have an app that is released only as an "internal test" on the Google Play store
When I go to the Google Play store on my phone, the app does not show up at all, under "installed" or "updates" or any other tab
When I click the 'internal testing' link (the one that Google Play Console says to give to internal testers), it opens Google Play and shows my app's store page. The store page shows the correct latest version, but I'm unable to install it. My only options are "uninstall" and "open" (which opens the currently installed old version of the app)
I have "enable auto-update" enabled from the Google Play store page
I've waited two days
I've made sure the app is closed completely on the phone
As far as I can tell, there's no way to update the app without uninstalling it, which deletes all the app data. How can my testers update the app?
Updating seems to be broken for apps that Google has not reviewed yet, which they don't do for internal apps.
I released the app to closed beta, causing Google to review it, and stopped using "internal releases" altogether. I'm not sure which of the two was the fix, but now auto updates work.
I think I've found a workaround. It's now worked 3 times out of 3, so fingers crossed.
First, uninstall whatever version you have on your device.
Then visit the link provided from Google Play Console on a PC instead, and from there you click the 'If you don’t have the app installed, download it on Google Play.'-link.
Once there, press install, and choose your device.
This way, the latest version of the app is installed on your device, and not some random version; like seems to be the case, using the Play Store on the device.
Not ideal, but it works :)
Requirements for getting the Internal Update on Play store
Add your same email Account in internal testing which you used as in play store.
Join Beta Testing program which will be visible when you search the same app on play store.
Turn on internal-app-sharing on playstore - > PlayStore->Setting->About ->PlayStore-version(press 7 times), Turn On Internal App Sharing in General Settings of play store.
Wait for some days & Get the app link from play store console to get the update version

Is it possible to upgrade a device owner app through Google Play?

I've created a device owner app, which I install through a QR code when I factory reset my devices. Everything's fine until here.
Now I have a new version of the same device owner app, and I want to update the devices which have the previous version to this new version.
Is it possible to achieve this using Google Play?
I don't want to use custom methods like uploading the APK somewhere and downloading it with some Java code, because I want to centralize the releases in Google Play.
So far I have uploaded the new version (version code is 5, old one is 2) of the app to Google Play and tried to upgrade from there, but it does not work: in Google Play I just see the app as installed, and the "Disable" and "Open" button, but not the button to upgrade it.
Any thoughts? I've found some posts like the ones below, but they're 5 years old, maybe something has changed and this is not longer possible.
Install updates for a Device-Owner App
Install a GooglePlay located App from NFC
I haven't been able to find any specific information on updates with device owner apps. The documentation is extensive about how to create and install a device owner app, but not on how to upgrade it.
Thanks a lot in advance!
You didn't install it from play store , I THINK you can't update Device-Owner apps which were not installed from play store , except for the way you mentioned.

Android app deployment on over 100 devices

We have a fleet tracking Android app which is isntalled on around 100 mobiles.
Problem is to update each mobile whenever there is a patch release. And unfotunately we have not set auto-update.
Now we need to call each driver and follow the process of update from google play.
This is becoming very tedious as they have to go to google play, search the application and install/update it.
And the mobiles are located all over the country.
Before it was easy as Goolge play was giving an option to know the apps installed on each mobile.
Need your advice on how do we manage/automate this update issue.
Build an in-app push notification that there's a new version and have an easy link to Google Play from it. However, this does have a bootstrapping problem, and you will have to make everyone install the new version manually (as in you call them and ask them to do it) at least once. Still, this is your only viable option, as Google Play developer agreement prohibits pushing app updates through other channels.
If you have email or IM contact with the drivers, you can also send them a message there's a new version with the direct link to the Google Play. They will have to open it on their device, of course.
The link format should be market://details?id=com.mycompany.myapp, https://play.google.com/store/apps/details?id=com.mycompany.myapp, or http://market.android.com/details?id=id=com.mycompany.myapp. Either of these three in general should work, though some OEMs have messed up their devices configuration and prevent Google Play app from intercepting the http/https form properly.
You could check a text file located on a server or something like that and then lookup if the current instaleld version is the same as the server version. If not you could download the new apk and open it. As far as I know this is not allowed by Google Play so you must remove the app from google play

Custom Android App Store?

I have a question. How can I make an Android app installation to work similar as works installation from the official App Store for Android? (http://en.wikipedia.org/wiki/List_of_mobile_software_distribution_platforms) Do I need to have Root access? Or should it be a special version of Android where App Store will work as Google Play? Currently, I’m only able to install applications as “Unknown Sources”, where my application downloads the apk File and calls a system installation window where user confirms the installation. The problem here is that the file to be installed can be copied (even just a brief moment). It may be ok for free applications or the ones with server authentication (log/pas) but for paid apps it could be a problem.
Even if you install the app and delete the APK, it's still very easy to recover the APK of an installed application. The only way you can really protect your app is by using in-app licensing checks or locking the app to a certain device by using the device's id.
Further, on unrooted devices, you can not install apps outside of the Google Play store, unless you enable installation from unknown sources. To get around that restriction -- and to allow auto-updating or silent installation -- you will need to root and install a modified package manager.

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.

Categories

Resources