This one is confusing because nothing looks broken. The app builds, installs and runs. Sign-in works on your phone. Then people install it from Google Play, and sign-in fails. Or the map is a grey grid. Or notifications stop.
Google services identify an Android app by two things: its package name and the SHA fingerprint of the certificate that signed it . If the fingerprint they know doesn't match the build in the user's hands, the registration doesn't match.
A store app has three keys, not one
Key Signs Where to get its fingerprint
Debug key Builds you run from your IDE ./gradlew signingReport
Upload key Release builds you upload to Play keytool -list -v on your upload keystore
App signing key What Play users actually download Play Console, App signing page
Most people register one SHA-1, the debug key on their own machine, and stop there. That is why sign-in works on their phone.
Under Play App Signing, Google re-signs your app with the app signing key before users download it.…