Prerequisites
- Flutter installation and platform setup (Android, iOS)
- Google Cloud / Firebase project with OAuth client IDs for your Android package name and iOS bundle ID
- Google OAuth settings aligned with the Developer Dashboard
How it connects to AIR Kit
Partner configuration supplies the Google OAuth client behavior expected by AIR Kit. Ensure the same OAuth clients you configure in Firebase are the ones you share with Moca for manual dashboard setup (see Dashboard).iOS
- In Firebase Console, add an iOS app with your bundle ID.
- Download
GoogleService-Info.plistand add it toios/Runner/in Xcode (copy if needed). - In
Info.plist, addCFBundleURLTypesusing theREVERSED_CLIENT_IDfromGoogleService-Info.plistas the URL scheme (see Google’s Flutter / iOS Sign-In docs).
Android
- In Firebase, add an Android app with your application ID (package name).
- Download
google-services.jsontoandroid/app/. - In the project
android/build.gradle, include the Google services classpath if required by your template. - In the app
android/app/build.gradle, apply the Google Services plugin per FlutterFire / Google Sign-In setup.
Dashboard
Partners must provide the Google OAuth client IDs for iOS and Android (from Firebase / Google Cloud). The Developer Dashboard does not yet let partners enter these values themselves. Moca sets them manually for your partner, the same way as other allowlisted values (for example Android signing certificate fingerprints and iOS app identifiers — see Android setup and iOS setup). Enable Google as a login method in partner configuration once your client IDs are on file. If you need IDs added or updated, use your Moca / partner channel.Troubleshooting
| Symptom | Checks |
|---|---|
redirect_uri_mismatch | iOS URL scheme matches REVERSED_CLIENT_ID; OAuth client matches bundle ID |
| Google button missing | Partner config; correct partnerId and environment |
| Android build errors | google-services.json path; package name; Play Services on device |
Security
- Do not commit
GoogleService-Info.plistorgoogle-services.jsonto public repos if they contain secrets; use CI secrets or private config distribution.