I / flutter(31065):在通道plugins.flutter.io/google_sign_in上未找到方法init的实现

时间:2020-04-23 20:59:26

标签: firebase flutter firebase-authentication

我已经尝试实现google_sign_in库近两天了。我已经从localhost和firebase控制台完成了所有必要的配置。

依赖项:

  firebase_analytics: ^5.0.2
  firebase_auth: ^0.14.0+5
  cloud_firestore: ^0.13.5
  flutter_facebook_login: ^3.0.0
  mvc_pattern: ^5.0.0
  flutter_screenutil: ^0.5.3
  google_sign_in: ^4.4.4

下面是_googleSignUp()自定义函数。

Future<void> _googleSignUp() async {
      try {
        final GoogleSignIn _googleSignIn = GoogleSignIn(
          scopes: [
            'email',
            'https://www.googleapis.com/auth/contacts.readonly',
          ],
          hostedDomain: '',
          clientId: '',
        );

        final FirebaseAuth _auth = FirebaseAuth.instance;
        final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
        final GoogleSignInAuthentication googleAuth =
            await googleUser.authentication;
        final AuthCredential credential = GoogleAuthProvider.getCredential(
            idToken: googleAuth.accessToken, accessToken: googleAuth.idToken);
        final FirebaseUser user =
            (await _auth.signInWithCredential(credential)).user;
        print('Current user: ${user.displayName}');

        return user;
      } catch (e) {
        print(e.message);
      }
    }

问题是,每当我单击_googleSignUp()触发button功能时,我都会一直在下面获取此日志,然后什么也没有发生。

I/flutter (31065): No implementation found for method init on channel plugins.flutter.io/google_sign_in

开发人员我们如何解决此问题?谢谢。

3 个答案:

答案 0 :(得分:0)

将flutter_auth插件升级到最新版本:

dependencies:
  firebase_auth: ^0.16.0

https://pub.dev/packages/firebase_auth#-installing-tab-

答案 1 :(得分:0)

处理了整整一天的问题后,我意识到,如果您还具有flutter_facebook_login插件,但尚未按照these instructions进行配置,则google_sign_in会抛出该异常。

无法理解的错误消息使我转了一圈。

答案 2 :(得分:0)

对我有用的是将ios / Runner文件夹中的AppDelegate.swift文件更改为:


import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}