Short answer: use google_sign_in for Google and sign_in_with_apple for Apple, or wrap both with google_apple_sign_in . On Android, Google needs a Web OAuth client id plus one Android client per signing key's SHA-1. On iOS, Apple needs the Sign in with Apple capability. Then send the id token to Firebase or your backend.
The code is the easy part. Most of the time goes into console setup, and most of the bugs only show up in release builds or in App Review. This guide walks through the four configurations in the order they usually break, then shows what to do with the token.
What you are building
A login screen with two buttons that work on both platforms:
Android iOS
Google Native sheet (Credential Manager) Native sheet
Apple Web flow in a browser tab Native sheet
Both buttons return the same thing: an id token (a signed JWT) that proves who the user is.β¦