gpslogger icon indicating copy to clipboard operation
gpslogger copied to clipboard

Identifying Device/User

Open rsngt opened this issue 4 years ago • 5 comments

I am looking to have multiple devices send location data to a URL and need a way to identify the sender of each location. I have reviewed the Serial and Android ID parameters, but can't see how these relate back to the phone or user themselves. For example, the value of Serial does not seem to correlate with the phone's serial number.

Ideally, this would be a value that can be configured on the server-side without specific device data (Serial or IMEI) and preferably something like phone number or email address so the solution can be deployed without a dependency on knowing physical information about the device.

Really, I would like to be able to configure a value within the application that can be sent in a URL string to identify the sender (e.g. phone number, email address etc), but can't see how this can be done at present.

I'm sure I'm not the first person to want to do this.

What is the suggested or recommended method to allow simple and scalable mapping of app installations to users?

Thanks

rsngt avatar Jul 30 '19 04:07 rsngt

The app doesn't have permission to get IMEI/phone number, but the serial number should match what you already have. How are you finding your serial numbers?

https://www.howtogeek.com/414617/how-to-find-your-android-devices-serial-number/

You should be able to also just search Android settings for Serial and it should show you where that's visible.

On my device it's under Model & Hardware

mendhak avatar Jul 31 '19 18:07 mendhak

From what you're describing sounds like OpenGTS:

http://www.opengts.org/

It's a server to listen and receive location updates from many devices, though it is somewhat technical to set up.

A device ID would still have to be configured in the app, this would be a custom value.

mendhak avatar Jul 31 '19 18:07 mendhak

The app doesn't have permission to get IMEI/phone number, but the serial number should match what you already have. How are you finding your serial numbers?

Thanks for the reply. I have found the serial number (under Settings|About Phone in Android 9). The serial on the phone is "R58K73xxxx" but in the data from GPSLogger is coming through as "23f8dab032xxxxxx".

I thought maybe it is an encoding thing, but I can't see any schemes that would make sense?

rsngt avatar Jul 31 '19 22:07 rsngt

It looks like some devices may not return the same serial number that is visible in device settings.

Ref 1, which links to Ref 2, Ref 3.

There are a few things you can try. You could use serial and treat it as unique. You can also try with %AID Android ID instead. However I don't know how to tie Android ID back to a setting somewhere. I've only seen serial match what's in settings until your case.

Another thing to try is to simply hardcode a querystring yourself.

https://example.com/log?lat=%LAT&lon=%LON&who=rsngt

mendhak avatar Aug 01 '19 18:08 mendhak

Thanks. It does seem like there are some issues with serial number. It seems that "ril.serialnumber]" may return the displayed serial number in my case.

Stepping back, what I need to be able to do is to identify the user. While the serial identifies the device it could help identify the user if I was able to map the serial to the user. For that to work though, I need the user to be able to register the "identifier", so whatever I use needs to not only be unique but also able to be determined by the (non-technical) user. So even if it worked, it's not ideal.

Adding an identifier (e.g. email) to the query would give me exactly what I need, but it requires a custom profile for every device.

I see we can load a profile from a link, which would seem to be useful. We'll need to set up a process to create a file and an associated web page, then send the user an email with a link to that page... I'll follow that approach.

Thanks for your advice.

rsngt avatar Aug 01 '19 18:08 rsngt