Search code examples
iosflutterfirebasegoogle-cloud-firestore

CLIENT_ID, REVERSED_CLIENT_ID and ANDROID_CLIENT_ID missing from GoogleService-Info.plist with Firebase on IOS


enter image description hereIt seems like CLIENT_ID, REVERSED_CLIENT_ID, and ANDROID_CLIENT_ID are missing from GoogleService-Info.plist. Am I overlooking something?


Solution

  • I've found the solution! After enabling Google Sign In and downloading the .plist file, the Reserved and Client IDs were displayed. I hope this information will be helpful to others in the future.

    Edit: Just to give some insights, starting in April 2023, values for CLIENT_ID and REVERSE_CLIENT_ID are only added to the Firebase config file when Google sign-in is enabled in the project. If the config file was downloaded before April 2023, then these values are present regardless of the enablement of Google sign-in.

    Here are possible reasons the config file is missing these values:

    You haven't yet enabled Google sign-in for your project, or it's not enabled properly. You didn't download an updated config file after enabling Google sign-in for your project. You deleted these values from your config file. The Firebase project has reached the OAuth client limit (which is around 36). To fix the above possible reasons why you're having missing values, follow the items below:

    For #1, enable the Google sign-in provider in the Firebase console. If Google sign-in is already enabled, try disable and then re-enable it. Doing these actions will generate an OAuth client, and Firebase will add it to the config file. Then, you need to download an up-to-date version of your config file from the Firebase console. For #2 and #3, Download an up-to-date version of your config file from the Firebase console. For #4, Delete any unused OAuth client using the Google Cloud console's Credentials page. Then, you need to disable and re-enable Google sign-in in the Firebase console, and then download an up-to-date version of your config file from the Firebase console. For ANDROID_CLIENT_ID, it seems that it is only present when your project has a registered Android app. I validated it using two of my projects, one with Android apps and the other only has an iOS app. The project which only has an iOS app does not have an ANDROID_CLIENT_ID in its config file.