I uploaded my app in Google Playstore. So, there are other third party appstores(side-loaded) like Appbrain, which automatically pull apps from Google Play store. My queries are:
Will my app get updated automatically in those markets, when I update it in Google Playstore? If yes, how long it takes to get updated?
I programmatically check my app version every time(I don't want users to use old version) and take user to Google Play store asking to update my app. So, if user downloaded my app from any other store, how to take him to the corresponding one to update the app or is it ok to take him to Google Play Store irrespective of where it is downloaded from?
Edit:
After going through documentation, getInstallerPackageName() gives package name of installer.
startActivity(new Intent(Intent.ACTION_VIEW, Uri
.parse("market://details?id="
+ appPackageName)));
So the above code takes user to my app's screen in GooglePlaystore as appPackageName is passed. So, even knowing installer's package name wouldn't help as I can't send user to the same screen.
According to the User FAQ on Appbrain in the Copyright infringement question:
AppBrain extracts content from the Android market. ... As soon as Google removes the app from the Android market, it should also be gone from AppBrain in the next 5-7 days.
So the sync time is around 5-7 days. I think other third-party stores should require the same amount of time to sync their store.
I think it is a good idea to direct your users to Google Play as it is the up-to-date, official source. Also if you notify your user of the new version, he/she may still choose to dismiss your notification/dialog window and use his/her preferred third-party source to install the update. Anyways if you get the package name for the installer app, you may create an Intent which can be caught by that app. (e.g Samsung Galaxy Apps store should/will handle any URL intent pointing to an app within it: http://apps.samsung.com/mars/topApps/topAppsDetail.as?productId=000000660227)
AppBrain only lists your app information (description, screenshots), it does not provide the APK file.
For downloading the app it links directly to the latest version in Google Play.
To update the app description on AppBrain or to add a new app you go here:
http://www.appbrain.com/info/addapp
Related
hello there i want to ask about updating flutter app in play store
for example if i have a flutter app already published in play store and i have done some changes on it and now i have uploaded it to play store as an update.
so the question is :
1 - how may i notify the user that there is an update for my app ?
2 - and if i have unpublished app and i want to add links like rate my app and links related to my app in play store (it is unpublished yet) how can i get these links so that i may put them in my application before releasing it in play store
Generally speaking, you have to implement a custom solution for each case you asking about.
For example, to notify users you can:
Send push notifications to app users with information about an update being available. Clicking on such notification should lead to Play Market page with your application presented.
Or you can implement one more API route to your backend from which your app will request information about updates, e.g. a text file with the latest version of your app available. That version can be compared to the version of the application installed. If the new version is higher - show a popup notifying a user about the new update.
What relates to having links in your app that lead to the store page of your app - I think the second option I described above will also handle this issue. Custom API that returns a link in simple text format that if not empty could be opened. If you are just trying to avoid additional update - this solution will work.
Use the flutter package upgrader. will serve you well
I have altered our androidManifest.xml to the new name of our uri scheme (to match branches UI), and deeplinks now work great if the app is installed from the play store. But when our app is already installed and just updates it isn't having the correct behavior.
Is there a way to make android playstore updates reinstall the app, or force the app to update the xml on an update?
From what I read it should already be doing that but I'm getting weird behavior.
Thank you!
When we update the app via the play store the entire APK or bundle is downloaded and installed. Play store does not update the app in bits and pieces.
You can either force the users for an app update via your app code in order to continue usage. Alternatively, you can share a pop-up message on all outdated versions to update the app in order to access all features.
These will be viable options to proceed on as Play Store does not have any functionality to make it mandatory for the app to be updated.
Also, requesting you to perform a sanity check on your end to see what is the percentage of the error you are facing. On an update, the app should be on the new production build and everything should be working as expected to.
I hope the above helps here.
Is it possible to 'block/prevent' users from using an old Android app?
I mean - I've already unpublished app from Play. This means that app is not available anymore for downloading.
But I'd like to restrict users to carry on using current installed app (which has been unpublished from Play).
Is it somehow possible?
Regards,
There isn't a way to check if the app is currently published to the Play Store, however you can check if there is a new version available.
From the link above:
String response = SendNetworkUpdateAppRequest(); // Your code to do the network request
// should send the current version
// to server
if(response.equals("YES")) // Start Intent to download the app user has to manually install it by clicking on the notification
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("URL TO LATEST APK")));
Treating your users like this is not something you should do. Users have an expectation that once they have acquired an app they can keep using it, and you should respect that expectation.
But let's suppose there was a seriously good reason for doing it. Suppose your signing key and developer account had been compromised by an ex-employee, and you wanted to make sure users moved from the compromised app to a new app with a new package name.
You could then issue an update to the app which when loaded did nothing except display a message saying something like "This app is out of date and will no longer be updated. Please move to this app" and have a link to the new app in the Play store. Existing users would get the update, and while the old app is available to them, most users would not be able to get it.
As I said, this is very disrespectful behavior to your users in most situations, and I'd only recommend doing it if critical for user security.
The Google Play Developer Console offers the Tracked Channels (UTM) view under User Acquisition → Performance which should be able to show a breakdown of which tagged links users clicked to get to the store listing, etc.
I have generated several different links to my app using the Google Play URL Builder, e.g.:
https://play.google.com/store/apps/details?id=com.vandenmars.colortrek&referrer=utm_source%3Dso%26utm_medium%3Dlink%26utm_campaign%3Dlink%26utm_content%3DTBk
I did a couple of tests last week where I opened the Play Store using these links and installed the app on new devices immediately from there. Still, the Tracked Channels (UTM) list shows no entries.
A bit more background that may be relevant:
My app itself does not use the Google Analytics SDK and does not register a receiver for the INSTALL_REFERRER intentI would assume that the Play Store handles the links directly without requiring app interaction, especially since it can track store listing views that don't lead to installs, but maybe this is incorrect? Or maybe the store disables tracking based on the app manifest?
I opened the links in Chrome on my PC and clicked "Install" thereMaybe the links only get tracked if they are opened in the Play Store App on the actual device? Seems strange, but I am running a test on that right now, the data just hasn't updated yet.
The tagged installations I did were on days that have been processed alreadyIt sometimes takes Google a long time to update the "Performance" data, but the data I can see already includes this Sunday and the tests were done on Friday. So, unless the UTM tracking data takes even longer to get processed, it should already show up.
Do I need to enable something somewhere for this to work? Or am I doing something else wrong?
UPDATE 1:
Meanwhile, one entry has started showing up in the Tracked Channels (UTM) list. Unfortunately, as the help-text states, "UTM-tagged links that have a single store listing visitor [...] are included in the “Other” category." So I have no idea which of my test links it is, if any. The entry is only showing as a Store Listing Visitor, but not as an Installer.
The last day included in the stats is Wednesday (supposedly), which is also the day when I did the test of opening the link directly in the Play Store app on a device for the first time. I did install the app during that visit, but it was after I had uninstalled a previous installation.
So, here's what I learned from this:
It doesn't look like there is some on/off switch for UTM tagging that I need to enable.
Including the Analytics SDK and registering an INSTALL_REFERRER is not strictly needed for just the tracking of Store Listing Visitors, but it might be needed to track Installers/Buyers.
There may be a difference between visits to tagged links from a PC vs. from the Play Store app on a device.
This leaves the following questions:
Are UTM links only tracked by the Play Store app, or also by visits to http://play.google.com/...?
Does an app need to use the Analytics SDK to forward information about installs and purchases to the Play Store, or do these get tracked independently of the app like the store listing visitors?
Is only the first installation of an app on a specific device counted under Installers, or is a fresh install after an uninstall also counted? How about after a factory reset of the device?
Bonus question: Is there a way to expand the "Other" category? :)
UPDATE 2:
Now I'm back to square one: 3 days ago, I opened more test-links on different devices (including the one that I thought was the one that showed up last time), directly in the app store, installing the app immediately. The data shown includes everything up to and including two days ago, so these visits and installs should be tracked by now. Yet, the list does not show any additional entries beyond the one from update 1 above.
So, either I have absolutely no clue what should be going on, or this whole tracking system is one giant buggy mess... Some things I've read in random forums suggest the latter, but maybe I am missing something, too?
UPDATE 3:
This is getting stranger and stranger. Now, all of a sudden, I see an entry showing 14 store visits and 10 installs for "zedge/android"! Why would someone make their own utm tagged link for my app?!? On top of that, none of my other tests have ever shown up (still just the original entry under "Other") and I don't even see the 10 installs in the statistics... Looks like this whole thing is just plain broken... Correction welcome.
We're in the same situation too now. No Google Analytics set up, need to run some ads this weekend, so I'm going to try to use UTM tags to track the app installs.
There may be a difference between visits to tagged links from a PC vs.
from the Play Store app on a device.
Found this in their documentation
"Note: Over-the-air and web (play.google.com) impressions aren’t
tracked on your app’s User Acquisition page at this time."
If you want, send the link over and I can test it out.
Before direct user to Google Play app page, send GET request with UTM params to your own site. Register this site to Google Analitics. It will count page visits only.
I am going through the same problem. I wanted to test if the UTM source and UTM campaign from the new Dashboard required some SDK or API installed in the app itself. So I contacted Google Play Devs, I asked specifically if we needed Google Analytics and their response was:
this not the case and also there is nothing further that you can add to the app itself.
I did try downloading my own app and sent the link over to a couple of dozen people (bare in mind that the app does have a Google Analytics setup, but it is from 2016, so old version) with the following link
Power my Robot with UTM links setup
I put random words, and all the visits and downloads on both UTM Campaign and UTM Source showed under "Other" and not the words I put. I managed to get around 20 downloads from this link.
However, after questioning Google why it was showing under "Other" and not the word I put in the link, they said it is because of a minimum threshold, which they don't know the amount.
As mentioned above, I used this form to get the Google Play with the UTM tags.
And also, I agree with a comment above, that Apple simply works. From the campaign section in the dashboard, you can open the "Link Generator" and they specifically say that the minimum amount in order to show the number is at least 5 installs using the link in order to protect users' privacy. Google Play can learn something from Apple in this case.
I will try to keep this updated if anything changes on my stats. And feel free to click on the link above and install the app, open and then de-install, just to build up the numbers and see if I can cross the threshold and discover what is the minimum amount they require.
I confirm that the Google Play Store UTM tracking doesn't work with your configuration, as I have the same (no Google Analytics SDK, but firebase-core) and I can't see any installation listed in the Acquisition view of the Play Store.
I note that the Play Store documentation part about UTM tag has a link to an url builder on the Google Analytics Guide, so may be the solution in to install GA SDK.
Have found google page that suggest how to build url with utms: https://developers.google.com/analytics/devguides/collection/android/v4/campaigns?hl=es#google-play-url-builder
This is an example:
https://play.google.com/store/apps/details?id={application_id}&referrer=utm_source%3D{source_id}%26utm_medium%3D{medium}%26utm_term%3D{term}
I'm developing an application that will most likely be preinstalled on devices. It will be also available on Google Play. Is there a way to update those instances that are not downloaded through Google Play, since Google Play won't notify users about an update.
I was thinking about, as suggested here, trying to contact my site periodically, and when update is available, download it.
Is there a way to do this update automatically, or even silently, so that user doesn't have to do anything (like running the package manually). Or, when my site shows update is available, to offer users an update through Google Play, even though it's not installed through Market (EDIT: This Google play option would be preferable, because than users wouldn't have to check "allow install of non-Market sources".)
i had the same issue, now i check at the start of my app if theres a new version in my configuration xml.
I compare the actual version with the tag "< app_version >1.1< /app_version >" of my configuration.xml
if its lower i ask with a custom AlertDialog if the user proceed with the upgrade
Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse(myapk_link));
startActivity(intent);
after the download the user has to run the package manually.
if you choose the update from the Android market use:
Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://details?id=com.package.name"));
startActivity(intent);
com.package.name must be the "package" of your app
or
Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APP_NAME));
startActivity(intent);
Just found a way that works. Fire an Intent for a Market that searches for my application.
Tested with OpenIntent Newsreader because for it was easy to find an older version .apk. Market finds an application, and when user clicks install, replaces older version with the one from the Market. I think that is much easier solution for a user than downloading manually .apk and running it.
Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APPLICATION_NAME));
startActivity(intent);
Is there a way to update those instances that are not downloaded through Google Play, since Google Play won't notify users about an update.
Old question, new answer:
After digging on exact the same question (pre-installed app on device, how can I provide a update through Google-Play) I found this information on support.google.com*:
Google Play can manage updates to preloaded applications, provided the following conditions are met:
The preloaded app needs to be in the system partition
The preloaded app needs to be free
The preloaded app needs to be signed with the same signature as the app published in Google Play
The Package Name of the preloaded and updated app needs to be the same
The Version Code of the updated app needs to be greater than that of the preloaded app
* as of 2015-04-13
I'm developing an application that
will most likely be preinstalled on
devices.
Then you need to be talking to the device manufacturers and asking them your questions. Nobody else will be able to tell you what is and is not possible, given their device and the carrier(s) that will distribute it. The answers will depend heavily on how they create their firmware, whether your application will be part of the firmware or "installed" as a normal app, what their arrangement with the carrier is vis a vis firmware updates, etc. You may not even get a vote in the matter.
Here is the option for latest version update
https://developer.android.com/guide/app-bundle/in-app-updates#update_readiness
try this google library to update from the application
dependencies {
implementation 'com.google.android.play:core:1.5.0'
...}
I hope this will help anyone
If whoever bundled the app on the device does a proper job of it, then the app will still have a market link (even as a system app) and Market will prompt the user to upgrade it if a new version is available. After all, that's exactly what happens with an app like GMail that's pre-installed on phones.
You cannot install or upgrade a package automatically. Only the Android Market is capable of doing this (i.e. it silently updates itself).
You can certainly download a package and fire the Intent to install it, but the user will have to have the "Allow non-Market apps" options enabled, and they'll still have to manually approve the install/upgrade.
One place to possibly investigate is how Google Maps does it. This is generally pre-installed, but always appears to be shown as an update in the Android Market app, I believe. Whether there's a special flag in the packages.xml or manifest, I don't know.
There is a nice service that helps your app keep itself updated. Take a look at https://www.pushlink.com
In this product there is a NINJA mode that allows to perform updates without user interaction.
For other "modes", enabling "Install non-market app" is still needed. If it not enabled, the installation process is going to ask for it and redirect the user to the Application Settings, and after that, the user can install the app.
It's possible to fully automatically update an app, if you can sign an app as a system app. We wrote an app for specific hardware, we created an update app that the manufacturer signed for us. The update app runs on device startup, checks current version of the app and the new version, and installs the new version if necessary.
The use case would be a kiosk app, on tablets of one make and model, that don't have Google Play.
Google in 2018 Android dev summit announced android in-app update api's for developers so you can read whole story out here and get updated on this question.Android in-app update api details
https://developer.android.com/guide/app-bundle/in-app-updates