2021-10-31

FlutterでGoogle signinの画面が終わらない場合の処理

 FlutterのGoogle siginの処理で初歩的なミスで躓いたのでメモ書き。(なお、FlutterでのGoogle siginの処理のための各種処理の話はここでは省略します)

【症状】

  • Google signinの画面で、待機画面からずっと画面が遷移しない
  • スコープがemailの場合はうまくいくが、それ以外のスコープを指定するとダメ
【解決策】
  • Filebaseに登録しているアプリでの認証で、Fingerprintの情報はSHA-1だけでなく、SHA256も追加する。 
ということで無駄な時間を浪費しました。Google siginの処理の情報をネットでググると、SHA-1の情報を登録する記述はよく見るのですが、SHA256も必要だとは。。。
ちなみに、ログイン認証だけならSHA-1だけでOKです。今回は、Drive APIを扱おうとしてエラーがでました。



2021-10-24

Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is xxxx, expected version is yyyyy"

表題のようなエラーが出た場合、下記のように対応。

(1)gradle-wraper-propertiesの中身でgradleのバージョンを変更

  • distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip

(2)build.gradleでKotlinのバージョンを変更
  • ext.kotlin_version = '1.4.32'
なぜこれでいいのかは不明。Gradleのキャッシュがクリアされる??Stack overflowから得たネタです。

Reference





Firebaseを用いてGoogle認証をする(クライアント処理、Flutter,Dart編)

 FlutterでGoogle認証するためのメモ書きです。メソッドがバージョンによって変わっているのか、ネットの情報どおりに書いても動かなかったケースがありました。今回のケースでは

  • ダメなケース→ await googleLogin.signIn();
  • OKなケース→  await GoogleSignIn().signIn();

という記述ですね。前者だと認証がいつまで経っても終わりませんでした。Flutterに最近手をつけ始めてますが、Gradle,Dart, Flutterなどのバージョン調整がいろいろめんどくさいですね。