Flutter: GoogleSignIn рдмрд┐рдирд╛ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдкрд╡рд╛рдж

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдирд╡ре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: flutter/flutter

рдореБрдЭреЗ GoogleSignIn рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрдЬреАрдм рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдореИрдВрдиреЗ рдЕрднреА рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП Google рд╕рд╛рдЗрдирдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рддреЛ рдореИрдВрдиреЗ рдЖрдЬ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рддрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

google_sign_in: "^1.0.1"
  firebase_auth: "^0.2.3"
import 'dart:async';

import "package:flutter/material.dart";
import "package:firebase_auth/firebase_auth.dart";
import "package:google_sign_in/google_sign_in.dart";


final FirebaseAuth _auth = FirebaseAuth.instance;
final GoogleSignIn _googleSignIn = new GoogleSignIn();

 _testSignInWithGoogle() async {
  final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
  final GoogleSignInAuthentication googleAuth =
  await googleUser.authentication;
  final FirebaseUser user = await _auth.signInWithGoogle(
    accessToken: googleAuth.accessToken,
    idToken: googleAuth.idToken,
  );
  print (googleUser.displayName);
  return (user);
}
class TestSignIn extends StatefulWidget {
  <strong i="9">@override</strong>
  _TestSignInState createState() => new _TestSignInState();
}

class _TestSignInState extends State<TestSignIn> {
   <strong i="10">@override</strong>
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(title: new Text("test"),
      ),
      body: new Column(
        children: <Widget>[
          new FlatButton(onPressed: ()=>_testSignInWithGoogle(), child: new Text("Test SignIn Google"),),
          //print user
        ],
      )
    );
  }
}



md5-479999e22daf708410ceaf35566d1955




E/flutter (13210): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (13210): PlatformException(status, Status{statusCode=DEVELOPER_ERROR, resolution=null}, null)
E/flutter (13210): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:514)
E/flutter (13210): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:154)
E/flutter (13210): <asynchronous suspension>
E/flutter (13210): #2      GoogleSignIn._callMethod (package:google_sign_in/google_sign_in.dart:156)
E/flutter (13210): <asynchronous suspension>
E/flutter (13210): #3      GoogleSignIn._addMethodCall (package:google_sign_in/google_sign_in.dart:180)
E/flutter (13210): #4      GoogleSignIn.signIn (package:google_sign_in/google_sign_in.dart:237)
E/flutter (13210): #5      _testSignInWithGoogle (package:full3/TestSignIn.dart:12)
E/flutter (13210): <asynchronous suspension>
E/flutter (13210): #6      _TestSignInState.build.<anonymous closure> (package:full3/TestSignIn.dart:47)
E/flutter (13210): #7      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:323)
E/flutter (13210): #8      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:375)
E/flutter (13210): #9      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102)
E/flutter (13210): #10     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161)
E/flutter (13210): #11     TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:94)
E/flutter (13210): #12     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315)
E/flutter (13210): #13     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73)
E/flutter (13210): #14     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101)
E/flutter (13210): #15     BindingBase&SchedulerBinding&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:143)
E/flutter (13210): #16     BindingBase&SchedulerBinding&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121)
E/flutter (13210): #17     BindingBase&SchedulerBinding&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101)
E/flutter (13210): #18     BindingBase&SchedulerBinding&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64)
E/flutter (13210): #19     BindingBase&SchedulerBinding&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48)
E/flutter (13210): #20     _invoke1 (file:///b/build/slave/Linux_Engine/build/src/flutter/lib/ui/hooks.dart:105)
E/flutter (13210): #21     _dispatchPointerDataPacket (file:///b/build/slave/Linux_Engine/build/src/flutter/lib/ui/hooks.dart:63)
D/EGL_emulation(13210): eglMakeCurrent: 0xa9205720: ver 3 0 (tinfo 0x946fc060)

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдЧрд░ рдлрд╛рдпрд░рдмреЗрд╕ рдХреА рддрд░рдл рд╕реЗ рд╣реИред рдлрд╛рдпрд░рдмреЗрд╕ рдореЗрд░реЗ рдРрдк рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо/рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдкреНрд░рддрд┐ рдЪрд░реНрдЪрд╛ Gitter рдореЗрдВ, рдпрд╣ рдПрдХ SHA рдмреЗрдореЗрд▓ рдХреЗ рдХрд╛рд░рдг рд╣реБрдЖ рдерд╛ред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдкреНрд░рддрд┐ рдЪрд░реНрдЪрд╛ Gitter рдореЗрдВ, рдпрд╣ рдПрдХ SHA рдмреЗрдореЗрд▓ рдХреЗ рдХрд╛рд░рдг рд╣реБрдЖ рдерд╛ред

рдФрд░ рдЗрд╕ SHA рдмреЗрдореЗрд▓ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ? @ рдХрд┐рд▓рд░рдореЛрдиреНрдХ

@gunit рд╕реНрд╡реАрдХреГрдд рдЙрддреНрддрд░ рдпрд╣рд╛рдБ, рдореВрд▓ рд░реВрдк рд╕реЗ: https://stackoverflow.com/questions/39144629/how-to-add-sha-1-to-android-application

рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдкрд░ рдРрд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ Firebase/Google рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рддреЛ рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЬреЛрдбрд╝рдиреЗ рд╣реЛрдВрдЧреЗ, рдпрд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

apwilson picture apwilson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cbracken picture cbracken  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aegis123 picture aegis123  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

yjbanov picture yjbanov  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ppolasek picture ppolasek  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ