I just implemented Firebase into my Android app, and my dashboard is showing that I have 9 active users. I know it's wrong though, since the app isn't released, and I'm the only one who's used it.
I've kept it on the same device the whole time - I've run it with different version suffixes like -debug - but the package name has stayed the same. I assume that using a debug build, then a release build shouldn't inflate the number either
Does anyone know why this is, I thought Firebase used device IDs, but maybe I'm wrong? Or is it just state sponsored hackers that decided they liked my app ;)
Firebase counts app installed on a device, not a physical users. If you uninstall and reinstall the app on the same device, the device will be counted as two distinct users. The reason to define "user" this way is that the device ID is now always available on all mobile devices and on iOS in some cases its not available at all. On Android, non-Play enabled devices (most phones in China for example) do not provide device id. To keep the definition the same on all platforms the user is defined as app installed on device.
Related
I'm currently working on a project that is going to have over 100 android devices used and the users of each device will also change on a daily bases.
What we want to achieve is that the user is allowed to open only 1 or 2 of the apps on the device. Meanwhile, everything else should be forbidden.
I've seen that G suite offers app whitelisting, but that doesn't really seem like the right use case and also it would cost more than 500$ a month to maintain. Also, the apps that will be on those devices will not be published on play store and will be directly installed via apk.
Thanks in advance!
Have you checked UserStatsManager class, you need to check which application is foreground and then you can display your own activity if it's not the intended one.
For business reasons, I cannot indulge the carrier or the app, but I need to test our app on phones that already have our app pre-installed. I have no problems running my scripts on phones that do not come pre-installed with this app, only the ones with it. The reason I believe is possibly because of the location of where the app is installed versus the location in which Calabash installs to. I thought if I rooted an Android phone that had our app on it that this would solve the problem, but that's not the case since the app does not appear on the phone after being rooted. Any suggestions would be appreciated and I apologize for the question being somewhat vague as I have to protect the companies involved. Thanks for understanding.
To add a little more detail so it makes more sense, this app I'm testing has already been released and because it's pre-loaded on this carrier's phones, I need to be able to get permission to uninstall and then reinstall the app. Maybe it's not possible but without getting some input I won't really know. Again, I have no problem testing on our older test phones (before the carrier began pre-loading the app) and maybe I need to just stick with testing on that for now. The problem with this is that it limits me from being able to test on the latest OS's. Thanks again for any input.
Whenever you want to update an app on the play store or publish a newer version first of all the package name of the app should be same and then the version code should be incremented and it should be more than that of the old version published.
In case the preload apk cannot be uninstalled (some preload app can also be uninstalled), and you do not have the same sign key for the preload apk, the answer would probably be impossible.
If you have the sign key of the preload apk, just resign the target-app apk and test-server apk.
I port my android apps for making bb10 builds . Since now from bb10.2.1 update blackberry has introduced a new concept wherein apk's can be directly installed and can be installed in BB10 devices if the manage apps in settings menu of the phone is made ON. My question is that I wanna restrict my users from doing so and not installing the apk's into bb10 . And take download my app only from appworld.
Has anyone faced and has fixed this issue kindly tell me on how to solve the same.
Based on the Android behaviour, I don't think you can restrict users from doing so.
I haven't tried it on BlackBerry but from what you say, that option sounds analogue to the Unknown sources setting under Security settings on Android. If the user enables the installation of applications from unknown sources on their phone, there is now way to prevent the direct install of the apk (by adding something to your apk or any other way).
There is no way to restrict it to BlackBerry World only. If they get the APK, they can load it directly this way. There may be other ways around it though.
If, for example, your app is for sale and people are side loading a pirated copy, you could change your app to be free, and put some advanced functionality in your app behind an in-app purchase. That way they'll be forced to go through the storefront at some point to pay. This takes bigger changes to your app though, and the IAP implementation is likely different between BBW and GPlay.
You could also put in a version check: when your app launches, it checks a special file on your web server to see what the latest version of the app is. If they don't have the latest version, it doesn't let them use the app until they upgrade. This won't prevent side loading or piracy outright, but you can put out updates often enough to make side loading very annoying. When they are roadblocked and told to get the new version, you can link directly to the storefront to encourage them to get the latest version there.
Thirdly, and lastly, if you port your app to a BlackBerry 10 native, cascades, or WebWorks app, the app file is fully protected and can't be pirated or extracted from BlackBerry World (since the platform is secure). That will 100% protect you from piracy on BlackBerry 10.
I hope this helps!
Is there a way you can develop on a device that has your application preloaded on it? I have tried changing the name of the application, but that affects a lot of files, and you couldn't realistically develop that way (changing all the names before checkin and then cheanging them back aftewards).
If you can sign your app with the same signing key as was used for the copy of your app in the device's firmware, having a higher android:versionCode should allow you to install and test the updated app. Leastways, that's how apps like Google Maps work as I understand it, where the firmware ships one but updates come by way of the Android Market.
If, however, you cannot sign your app with the same signing key, that won't work, and you have no real choice but to either:
Root the device, delete the firmware copy, possibly un-root (de-root? dis-root?) the device, then use it normally, or
Refactor your app as you describe
You need to build the project from command line into a different package name(other than the one used by the preloaded app)...Check this link for further details: http://elinux.org/Android_aapt http://blog.uncommons.org/2010/07/19/building-two-versions-of-the-same-android-app especially the aapt --custom-package where you can specify the new package name for your app... --Cheers
The instructions for debugging on a phone are set out in the guide topic Using Hardware Devices.
Yes. Enable debug mode on the device, and connect the device to a computer using a USB, then you can look at the logs (assuming that your app uses logging). You do not need to root the device.
I general turn off logging on APKs that will actually be used (I have a custom wrapper for console.log that I can turn off with a global). In a case like that, you can set an Easter Egg in your app that would allow the user to turn logging on if they know the appropriate password, etc.
I have an app (All operators' APN | Tweakker) and it's been on the market for a while now. I discovered this week that I can't find it from my device's market anymore although I used to be able to. Nothing in the app has changed. If I go to the web market I get a message that confirms the app is compatible with my Desire. I tried finding the app with other phones as well, even from different countries, and it just doesn't appear.
Here's what I tried so far:
unpublish, publish
change promotion preferences
release a small bugfix update
wait for the Market to return to normal
Someone suggested the single quote might be a problem, but that can't be the case since this worked up to this week. The app is using copy protection.
The app seems to appear in the market now, although I haven't done anything more. I did contact Google, but I don't have an answer from them yet.