Well, if you wanna tell who is actually talking. It is a good idea to let them log in to your server since 1> Users can have public information such as email address, but they don't share their password with others. 2> They can change their password easily at any time they want.
And by the way, it is a bad idea to use UUID to distinguish users from the server since re-install app on the same device will give them different UUID.
Here is what i did: I have an app require user to log in, every time when the app talk to the server, it sends a web service call with it's own information including UUID. On the server side, I have a database table that keep tracking their UUID so that if by any chance a user lose his device, he can call us, and I flag his UUID in the database, then the device will be disabled from the server side and cannot do anything.
Hope this helps.