I'm working on a small app, trying to support android 4 and higher. I also want to keep statistics about the user activity. My initial choice for this was Firebase, yet i see a major problem with event tracking through it: if user has an outdated Google Play Services installed on a device, i can't fire an event because of SERVICE_VERSION_UPDATE_REQUIRED error. This means i have no way of tracking users with outdated Google Services app, and i can't even count how many users I'm ignoring. Am i missing something? Is there a way around it? Why would firebase SDK need to rely on external dependency for a simple thing like event tracking?..
Thanks.
Related
I was wondering if anyone had a relatively simple solution for us.
We created an app to be used by our clients on android devices that we give them.
We would like the client to only be able to use our app and have limited access to everything else (i.e. settings, email etc.) What is the best way to achieve this without using 3rd party apps.
Thank you in advance!
This may not help but the L preview has a task locking feature included that may be of some insight, I'm not aware of how it functions as yet
Task locking
The L Developer Preview introduces a new task locking API that lets you temporarily restrict users from leaving your app or being interrupted by notifications. This could be used, for example, if you are developing an education app to support high stakes assessment requirements on Android. Once your app activates this mode, users will not be able to see notifications, access other apps, or return to the Home screen, until your app exits the mode.
http://developer.android.com/preview/api-overview.html
Hope this helped
Suppress the Title Bar & Make Your App a Launcher
Root Your Tablet
Modify System Files and Settings to hide the soft keys
On the next link you can find the complete solution for the Nexus 7 (2012)
http://thebitplague.wordpress.com/2013/04/05/kiosk-mode-on-the-nexus-7/
simple Answer is:
Lock Install button with modify system settings.
Create your own customized-ROM and apply your requirement to that ROM.
more info, visit XDADavelopers
I have distributed my app through posting the link from google drive where the users can download the .apk file.Now that I haven't published my app in google play how to know how many installs or how many people have installed my application.Is there a way I can increase the count variable in the server or something like that?
Unless you went through the App Store or integrated some third party analytics tool like Fabric you would need to have implemented this in the application with a request to a server with a unique identifier to keep track.
Is there a way I can increase the count variable in the server or something like that?
Well that seems a bit shady. You don't want to lie to people, do you?
When you release an app on the Play Store, Google will keep track of how many users download your app, and update it accordingly. So if people use your app, then your downloads (listed on the Play Store) will reflect that.
To see your current downloads, you should be able to find that information on the "Google Play Developer Console." (I would imagine; I currently don't have access to the dashboard myself.)
After a user opens my application I don't want them to be able to get out. So when they press the home or back button it doesn't let them exit the app. I know there are ways using a service to keep the app always running in the background, but I don't even want them to even exit.
Is this even possible, if so how? Without having to hack the kernel.
I know this sounds odd, but it is not for a commercial app, but for my lab, it will never be on GooglePlay. The tablets will be given to little kids and they will take a test on it, so I can't have them using youtube or anything else.
Related post: Android, How to make the task of the app unclosable? Only closable by task killing
The answer by CommonWare seems to indicate that kernel hacking is the only way, but is it?
Also I am using Android L.
there is no official support yet - there will be support with android L via the Task locking API
The L Developer Preview introduces a new task locking API that lets
you temporarily restrict users from leaving your app or being
interrupted by notifications. This could be used, for example, if you
are developing an education app to support high stakes assessment
requirements on Android. Once your app activates this mode, users will
not be able to see notifications, access other apps, or return to the
Home screen, until your app exits the mode.
https://developer.android.com/preview/api-overview.html
EDIT: as you said you use L this got obsolete - but I leave it here as a hint for others
said that - you are also able to get this kind of work without root today if you have to ( e.g. kiosk mode app on a certain hardware ). It is not simple - and no solution that works for all devices - but if you need it you can get it work with tricks like:
- reacting on home-screen intent ( and setting it as default )
- when you go to background - bring your self foreground again
- ..
It seems google has some thing called COSU for setting up single-purpose devices
Android 5.0 Lollipop introduced two new ways to configure Android
devices for a single purpose:
With app pinning, the device user can temporarily pin specific apps to the screen.
With lock task mode, a user can’t escape the app and the Home and Recents buttons are hidden. Additionally, lock task mode gives the IT
administrator a more robust way to manage COSU devices, as discussed
below.
and
As an IT administrator, you can configure Android 6.0 Marshmallow and
later devices as corporate-owned, single-use (COSU) devices. These are
Android devices used for a single purpose, such as digital signage,
ticket printing, point of sale, or inventory management. To use
Android devices as COSU devices, you need to develop Android apps that
your customers can manage.
from here
and there is a code lab for it here
for earlier versions of android here i founded How-To Create a Working Kiosk Mode in Android which shows some hacks for disabling buttons and restarting the application after boot and lock. note that most of these hacks, don't work on android 6 and later
I'm attempting to get a user's current location on Glass.
Calling mLocationClient.connect() fails without any resolution. Then I checked if Google Play Services was available on the device with:
GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
This returns ConnectionResult.SERVICE_INVALID, which according to the documentation means that "The version of the Google Play services installed on this device is not authentic."
The Setup Google Play Services SDK guide does not describe that scenario.
Does this appear to be a bug on Glass itself? If so, I'll file a bug report.
Google Play Services is not available on Glass at this time. You may have unpredictable results if you attempt to use it, or related features.
If this is something you care about, please let Google know. File an issue in the Glass platform issue tracker and, if possible, describe a use case you're working on that requires it. This helps the Glass team prioritize features.
Let's say I published a game and after some point of time I wanted to release an all new feature for the game. Of course the app must be able recognize and download the update. How does this work specifically with Google Play apps? Does the app download the entire new version of APK from the market and reinstalls itself? I'm using Java for the development, if this info helps. Any tips you can give me about this topic?
With Google Play, the user is notified that app updates are available. It is up to the user to initiate the download of the updates.
You can always include in your app a check to your server as to whether an update is available. However, this becomes a maintenance issue.