If I understood it correctly, the following feature seems to be able to prevent a person from calling the API other than using the app. How does that work, and how secure is it?
Does it generate some sort of public/private key pair using the app's hash, and sign the request with the private key, so that Google's server can verify that the request was from the app? But if so, given the fact that an Android app is written in Java and can be decompiled relatively easily, if an attacker decompiles the app and extracts the private key from it, he can call Google API's without using the app, can't he?