From the GCM docs:
When an application is updated, it should invalidate its existing registration ID, as it is not guaranteed to work with the new versi
I would use the Version Code to detect the app update. The Version Code is forced to change every time you submit a new version to the Google Play store, hence you can rely on it to detect the app's version.