My application is going to be preinstalled on a vendor device (eg. Vodafone/T-Mobile/ATT is going to sell phones with my app preinstalled). This preinstalled app is very lightweight - only landing page with Update button, which redirects to the Google Play.
I'd like to track how many users coming from this preinstalled app (how many of them sign up, bought subscription, etc.).
Scenario 1:
User starts a phone for a first time
User opens preinstalled app
I can save in shared preferences that user opened app and read it in real updated version
Scenario 2:
User starts a phone for a first time
Preinstalled app is being updated in background through Play Store
I do not recieve any broadcasts (eg. BOOT_COMPLETED) because app was never opened
User opens updated version -> I do not know if he's coming from preinstalled app or not
My question is how to solve scenario 2?
I had that problem too, but didn't find a solution that fit my needs (other than don't update the store version for a few months after releasing the OEM version). You can't save anything if the app wasn't opened, but maybe you can try to read the install date:
long installed = context
.getPackageManager()
.getPackageInfo(context.getPackageName(), 0)
.firstInstallTime;
(copy&paste from https://stackoverflow.com/a/5311917/2694254, there are also other solutions to get the install date on that site)
You would still have to make some assumptions, like "if app was installed but not opened on the same day" if your App is already publicly released before the OEM App is installed.
Related
Firebase Analytics first_open event sends a parameter previous_first_open_count.
it starts with value "0" (on lifetime first install / new user).
and subsequently 1,2,3 .. etc. increments by "1" each time I remove, re-install the app.
Can someone share how the SDK manages to persist the information how often user installed the app (basically triggered first_open) in the past.. AFAIK, once the app is removed, all the app data is deleted.. even the app_instance_id is regenerated each time I remove, re-install the app...
will appreciate to know for both Android and iOS
Actually cannot find any documentation about event_param: previous_first_open_count..
When previous_first_open_count = 0, does it means that user installed application only?
Or does it mean, that user have installed and opened app for the first time?
As per the definition ’first_open’ (https://support.google.com/firebase/answer/9234069?hl=en&visit_id=637466094047451258-3073953155&rd=1):
the first time a user launches an app after installing or re-installing it
This event is not triggered when a user downloads the app onto a device, but instead when he or she first uses it. To see raw download numbers, look in Google Play Developer Console or in iTunesConnect.
Supports measuring first_open conversions for users who accept Apple's iOS 14 app-tracking prompt.
I actually want's to reach app changes in to user installed app.How this can possible.
1- My app is live on play store.
2- There are 30,000 of live users.
There is a bug in app and i resolved that bug now i don't want to upload new version of app on play store there is only small change so i don not update that version to play store now i don't want all users will update for small change updated build.
What i need to do for this if there is any tool to user device installed app that bug fixed which is i resolved.
I am not using Web-services for that change so data is not depend on web server.
Is there any tool or any other way to reach users installed device that change for that all these changes reflect to user installed app??.
without any user authentication by playstore.
or is there any way to reach these changes to user device.
No, like it or not, but there's no mechanism you can use to replace installed app or hot swap it portions on user's device other than reinstall.
In future release you could add ie push messages telling user to download the update from your server (but that would require enabled sideloading to have it installed).
There is only single answer all over the stack or E- bloggers as well google Developers answers.
We can upload our build at Google play store at Strict mode , Strict mode make without user authentication or permissions update build and that build reach to user installed device .
In case of (User must have Internet connection or when user get connected by internet or WiFi same time app automatically update without any User Intersection or this process user can not view that particular app is updated or not) if user know this particular app previous version like "1.1" and now "1.2" then only user can understand app is updated in my device without user permission.
Google added this in Play store publisher account this feature for Developers some of the developers know very well but some not.
All changes Reach to user installed app in this case user not required to make app update from Play Store.
I had published an app on Google Play. According to me I need to change the versioncode in the gradle file everytime I upload the new APK and from there, Google Play does the job of notifying the users about an available update. I am in touch with many real world users who say they never got a notification about app update despite the several updates I had published to the original app. I know that there are certain device level play-store settings such as "Update app only on wi-fi" etc. and I've verified all such combinations of scenarios. I still believe that all the users are not notified about the new version available. So my questions are
1) Am I missing anything in the first place?
2) What are my options to make sure the user gets notified about the available update?
When you publish you app it takes some time(may be hours) to update world wide. So User's will not get immediately notified as soon as you publish.
It will also depend on the settings of playstore in user's phone and also the network user is using(i.e. wifi or data).
I have also faced this issue. When I checked for updated version, I did't get it but when I cleared data of playstore from my application settings and force stopped app and then reopened it and I was able to see the updated version.
So from your side you are not doing anything wrong. It's job of playstore plateform.
Only the thing which sometimes happens with the developers is that we continuously use our device to run app by using USB debugging and then we publish our app to playstore. And then we wait for update notification but we will not get notified as the versions in our device and on playstore are same.
I recently published an app to the Amazon App Store. After I found some unexpected bugs I made the fixes then uploaded a newer version.
I was more than a little surprised to find that the Amazon app store app doesn't actually notify the user that there's an update available. As far as I can tell the only way for the user to ever find out about updates is to open the app, open the drawer, choose 'my apps' then hit the refresh icon. No one will ever bloody do that. Ever.
The only solution I could think of was to store the current version code on the server then add code to the app that would compare the version on the server to the version code on the manifest. If the version on the server was higher (which I set manually after a new update goes live on the store) the app would prompt the user to update by means of a dialog. Dismissing the dialog brings the user to that apps page in the amazon app store app.
So that works great and all but guess what happens when the user is redirected to the Amazon app's page for my app? It says 'open' not 'update'. If you hit the button it just brings you back to the app which just shows the dialog again. There isn't even a refresh icon on that page.
Once again, the ONLY way for users to find out the update, even after being brought directly to the app's app store page is to open the bloody drawer, choose 'my apps' then hit the refresh button.
I must be missing something here. Why the hell would Amazon make a system that's so damn unfriendly for the developer? Is there a setting somewhere on the developer console that I'm unaware of?
This is what I'm using to open the Amazon app:
Intent goToAppstore = new Intent(Intent.ACTION_VIEW,Uri.parse("amzn://apps/android?p=" + getPackageName()));
goToAppstore.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getActivity().startActivity(goToAppstore);
As a user, I can confirm that the Amazon App Store does not show updates when available. It used to, but this was somehow broken in some version of the app store apk. I do get some kind of warning about enabling sync, but there's no such setting on my android phone.
The only way I can update an app is to delete it from my phone and re-install from the app store, and I have to KNOW there's an update to install.
There are a few developers who have not posted updates on Amazon, and I get the impression it is not easy for them to do so.
From what I read on SO, it seems that I want the impossible (?)
I have a kiosk-like app that is supposed to run 24/24, 7/7, 365/365. This makes it hard/impossible to update the app. As far as I know, Google Play will not start the update (even if Autoupdate is set for my app) while my app is running.
I read across SO and several forums an found a lot of NO's and CON's. My current answer is that is not possible without rooting the device or without some system certificates and so on.
But still, I have the following scenario:
I created a google account myGoogleAccount#gmail.com
On my device I add this account and install my application from Google Play store.
On my desktop machine I log into GPlay with the same account and I go to my application and I see that my app is Installed. If I click on the Installed button I can see my device.
I publish a new version of the app, when the app becomes available, from my application's page open on desktop I can send a command to update the app.
I get the prompt to accept the terms bla-bla, and once I accept it, the app is automatically updated even if it is currently running.
Basically this is the behavior I am interested in. My question is: can I run this scenario from my device [invoking some GPlay api's] given the fact that I can provide the google account credentials to the app, so that no user intervention is required to update the app and to accept whatever unchanged permissions?