Flutter NSException: Configuration fails. It may be caused by an invalid GOOGLE_APP_ID in GoogleService-Info.plist or set in the customized options
Asked Answered
B

3

5

GoogleService-Info.plist file is added via Add Files to "Runner" option. So, it is in the Runner directory.

  • I had already checked lots of stack overflow answer but unable to figure out the issue.

  • I also recheck GOOGLE_APP_ID in GoogleService-Info.plist

  • There is no issue in GoogleService-Info.plist configuration.

  • I had also added the CFBundleURLTypes attributes below into the [my_project]/ios/Runner/Info.plist file.

    CFBundleURLTypes - CFBundleTypeRole - Editor - CFBundleURLSchemes -com.googleusercontent.apps.861823949799-vc35cprkp249096uujjn0vvnmcvjppkn

ISSUE LOG:

2020-07-08 09:57:50.535551+0545 Sefyl [63114:5254473] flutter: Observatory listening on http://127.0.0.1:53595/jh2o62kCyXk=/
2020-07-08 09:57:50.815919+0545 Sefyl [63114:5254485] 6.25.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60501000 started
2020-07-08 09:57:50.851101+0545 Sefyl [63114:5254418] 6.25.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled 
2020-07-08 09:57:50.851571+0545 Sefyl [63114:5254418] 6.25.0 - [Firebase/Analytics][I-ACS031025] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2020-07-08 09:57:51.366223+0545 Sefyl [63114:5254423] 6.25.0 - [Firebase/Analytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
2020-07-08 09:57:51.500886+0545 Sefyl [63114:5254426] 6.25.0 - [Firebase/Core][I-COR000004] App with name test does not exist.
2020-07-08 09:57:51.508053+0545 Sefyl [63114:5254426] 6.25.0 - [Firebase/Core][I-COR000009] The GOOGLE_APP_ID either in the plist file 'GoogleService-Info.plist' or the one set in the customized options is invalid. If you are using the plist file, use the iOS version of bundle identifier to download the file, and do not manually edit the GOOGLE_APP_ID. You may change your app's bundle identifier to 'com.sefyl.goflutter'. Or you can download a new configuration file that matches your bundle identifier from https://console.firebase.google.com/ and replace the current one.
2020-07-08 09:57:51.581320+0545 Sefyl [63114:5254055] *** Terminating app due to uncaught exception 'com.firebase.core', reason: 'Configuration fails. It may be caused by an invalid GOOGLE_APP_ID in GoogleService-Info.plist or set in the customized options.'
*** First throw call stack:
.....
...
libc++abi.dylib: terminating with uncaught exception of type NSException

(lldb)

Bowe answered 8/7, 2020 at 4:42 Comment(0)
B
14

Finally resolved!

Simply, Configure the GoogleService-Info.plist and GoogleService.json according to its platform like:

// config acc to platform
final FirebaseOptions firebaseOptions = (Platform.isIOS || Platform.isMacOS)
    ? const FirebaseOptions(
        googleAppID: '1:926446789922:ios:e16***tecf870f0717b',
        gcmSenderID: '2564624562546',
        apiKey: 'AIzaSyChk3KEG7QYrs4kQfg***erwrfCAdgg',
        projectID: 'project-23ff',
        storageBucket: 'gs://project-23ff.appspot.com',
        databaseURL: 'https://project-23ff.firebaseio.com/',
      )
    : const FirebaseOptions(
        googleAppID: '1:926446789922:android:056***f0717b',
        gcmSenderID: '2564624562546',
        apiKey: 'AIzaSyDBq2tJ82wO0RKzfsgu***e6uh3Ko',
        projectID: 'project-23ff',
        storageBucket: 'gs://project-23ff.appspot.com',
        databaseURL: 'https://project-23ff.firebaseio.com/',
      );

final FirebaseApp app =
    await FirebaseApp.configure(name: 'test', options: firebaseOptions);
Bowe answered 9/7, 2020 at 4:40 Comment(2)
Where to add these lines?Demon
Inside void main() async . Thanks!Bowe
M
2

I had the same error, my files GoogleService-Info.plist and GoogleService.json were good. But in my firebase_options.dart , I had the values ​​for another platform (Web instead of iOS)

import 'package:firebase_core/firebase_core.dart';

class DefaultFirebaseOptions {
  static FirebaseOptions get currentPlatform {
    return const FirebaseOptions(
        apiKey: "YOUR_API_KEY",
        authDomain: "YOUR_APP.firebaseapp.com",
        databaseURL: "YOUR_DATABASE_URL",
        projectId: "YOUR_PROJECT_ID",
        storageBucket: Y"OUR_STORAGE_BUCKET",
        messagingSenderId: "YOUR_SENDER_ID,"
        appId: "YOUR_APP_ID";
  }
}

Check your appId, if you're working in ios, it looks like this :

appId: "1:123456789012:ios:abcdef1234567890abcdef"

while on the web for example it looks like this

appId: "1:123456789012:web:abcdef1234567890abcdef"

The platform is indicated in the id.

Moiramoirai answered 24/9 at 19:57 Comment(0)
M
0

Update :

1st you need to add your google-info.plist into xcode ,

then

main() async{
  await Firebase.initializeApp(
      name: 'RamadanApp',
      options: (Platform.isIOS || Platform.isMacOS)
          ? const FirebaseOptions(
              apiKey: "CHECK VALUE IN INFO.PLIST",
              appId: "CHECK VALUE IN INFO.PLIST",
              messagingSenderId: "CHECK VALUE IN INFO.PLIST",
              projectId: "CHECK VALUE IN INFO.PLIST")
          : const FirebaseOptions(
              apiKey:
                  "CHECK VALUE IN FIREBASE CONSOLE",
              appId:  "CHECK VALUE IN FIREBASE CONSOLE",
              messagingSenderId:  "CHECK VALUE IN FIREBASE CONSOLE"",
              projectId: "CHECK VALUE IN FIREBASE CONSOLE"),
    );

}
Murine answered 7/5, 2023 at 21:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.