I'm planning on creating android location aware app, which will access location of people with their permission. It's up to the users whether they want to share their location with others or not. So we can know where our friends are, may be we can guess what they are doing, according to their current location.
Security is major concern here, my primary aim is to create family-location network.
Guidance needed for:
From where can I start
Which API I need to use
Can a Google account be used for Login for my app
Related
I am creating an iOS and Android App and I want to create a screen where the player can start with a guest account or can connect his account with our own accountsystem.
But my question is: Can I detect a user after the app was uninstalled and installed again?
I know that there is something like the vendor. But this will change.
I know that other apps also can do this.
With the user's permission- have them log into an account. Or provide you with their google of facebook account info. So far as hardware ids, those are discouraged and actively being removed to prevent people from the API to prevent this.
Also remember- that unless the user logs in with an account, you don't really know whether it is the same person. You could know its the same phone, but you don't know if he gave it to his kid sister to play on. Or sold it when he got a new one, and now you've given the new owner access to someone else's account. Also, if you rely on hardware ids you won't know its me when I buy a new phone and download it on that.
So yeah- either have him log in with a username and password, or use a 3rd party signon mechanism like Google or Facebook.
For iOS, there is a recommended approach to do that: by using the DeviceCheck framework. The idea here is that it allows you to persist 2 bits of data across app installations on each device. You can set the first bit to 1 if the user has already installed the app or 0 otherwise. And use the second bit, for example, to check if the user has signed in or not.
The official documentation is pretty good, please check it out.
The downside of this approach is that you will also have to do some work on the backend side.
UPDATE:
If you specifically want to detect the account, there is no reliable approach. One of the options is to use identifierForVendor or generate some kind of device fingerprint (for example, by combining the device model, timezone, locale, etc.), but of course, this will not work every time.
Uniquely identifying a device is a security leak, and all platforms are putting serious restrictions on unique persistent identifiers because of privacy concerns.
Ours is a financial app and to curb forgeries we wanted to access users location history from our android app.
The purpose behind this is if the user is requesting the service from a place where he hasn't been often or never been there, we would flag them or ignore them or implement another layer of security.
I have searched and found that google maps maintains location history and google plus may have an undocumented API also.
Please suggest how to get access to location history of device.
That's not possible unless you keep track of the location history yourself.
This may be a kinda odd question but I am new at Android development and I'm having trouble to learn how to retrieve the user's location to my application. I have looked for this topic but I just can't find a statisfying answer.
To get the user location I have found two ways:
http://developer.android.com/training/location/retrieve-current.html . This one is using what I think is the new Google Services release which uses a LocationClient to connect to Google Services and retrieve the location.
http://developer.android.com/guide/topics/location/strategies.html . The other one is using the android.location class and a LocationManager to retrieve the location.
The thing is that I don't get the difference between using one way or the other, which one is better??
And another question is that in the second way you can specify which location provider you want to use, if the GPS provider or the Network provider and in the first one you can't, but in the first paragraph it says that it uses the location sensors that are currently active for the device. Does this mean that I don't have to worry about choosing between both services??
I am using Android Studio and I have set up the new Google Services release, I just need to know the pros and cons between both ways to know which one to use and to begin learning.
Thanks!!
As stated in the second link:
The Google Location Services API, part of Google Play Services, provides a more powerful, high-level framework that automatically handles location providers, user movement, and location accuracy. It also handles location update scheduling based on power consumption parameters you provide. In most cases, you'll get better battery performance, as well as more appropriate accuracy, by using the Location Services API.
I would highly recommend you to watch the last I/O video to get a simple explanation from Reto Meier about the new Location Provider: http://youtu.be/GcNNx2zdXN4?t=14m29s (I suggest you to watch the entire clip btw, it's inspiring).
We thought out a concept for a mobile app that allows:
To create bar/restaurant/event profiles (we want to define them ourselves);
Access these profiles via Nearby Places (possible to link?);
Check In, via the profile
See how many people are checked in into the place, male/female according to the user profile.
Is this achievable via the Foursquare API?
If not, can it be done in another way?
I also don't understand very well why I read everywhere that finding or checking in into places via GeoLocation is patented, but at the same time it seems freely available and everyone seems to use it (?).
I would be eternally grateful!
This is possible with the foursquare API, but you will only have access to the information of users who check in with your app, and your custom profiles will not appear in Foursquare's venue search results.
With such an app, you will need to take care to maintain user's expectations of privacy. Your app must have a privacy policy that explicitly explains how their information will be used, and what information about them will be made public. See the Foursquare app policies for more information.
I have developed an application for my company to track the work done by our agency people and also their location to capture the work places. As we don't want the agency people to browse other website, with the help of network providers we have restricted other websites and allowed only two URL where we run the webservice to store the information captured to the database. But since Android talks to google to get the location we also need map the maps.googleapis.com but when we tried it's not working. Can anyone tell me which URL we should map/whitelist to allow my application to access the google. Thanks
i would think u would get coordinates regardless of internet connectivity. of course i could be wrong. are you sure you added permissions for location services in the manifest. i know i have tested gps apps without internet enabled (emulator though). of course the map wont load but coords should be able to be read from the gps receiver.
If you're talking about getting your current location, then you should use LocationManager(search on SO or google, there are lots of posts about it). Otherweise you can take a look at the Developer Guide for Google Maps, but I'm not sure if Android even uses the same API, though.
Or you can only retrieve the coordinates from the devices to your database/server and you'll have the map and with the coordinates you'll know where are they. That would not need a map in the application, and no need for whitelisting the urls. This is another idea, though.