The Google developer's blog today published: Marshmallow and User Data http://android-developers.blogspot.ca/2016/02/marshmallow-and-user-data.html
Which describes the rather extrodinary step of completely blocking access to bluetooth & wifi MAC addresses - which some developers' use to ID devices - without any deprecation period (unless I'm missing something). They say to use the new GCM device ID instead. I took a look at that device ID when it was announced at I/O 15 and found it to be a poor solution because it gets retrieved from Google's servers when your app requests it. In my unscientific testing, under ideal circumstances, this takes 1-3 seconds if the device is online, and 0.5 - 1.0 seconds if off-line (presumably this is how long it waits before giving up and generating a random ID). Google is suggesting we use this as our device identifier, which is typically the first thing you send to your server, ie. it will probably be used as the key to the entity that represents the device. Adding several seconds to the time it takes to get some initial data from the server is obviously not an option, so now we must generate a temporary ID to send the server until we get the device's actual ID. In other words, greater complexity. Am I missing something? -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/android-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/098f7daf-7c5d-4fb6-ad34-26cf11cd9548%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

