我已经尝试实现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
开发人员我们如何解决此问题?谢谢。
答案 0 :(得分:0)
将flutter_auth插件升级到最新版本:
dependencies:
firebase_auth: ^0.16.0
答案 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)
}
}