リリースモードでは、Googleサインインは機能しませんが、デバッグモードでは正常に機能します。 SO here から同様の質問を受けましたが、完璧な解決策は得られませんでした。
handleSignInResult
が近づいていますfalse
-どうすれば修正できますか?
ガイド で指定されているすべての手順を必ず実行してください。
。必要に応じて、新しいOAuthクライアント、新しい構成ファイル(google-services.json
)ファイルし、すべてを段階的に実行します。
また、同じ資格情報を提供するWebクライアントを追加してみてください。また、AndroidとWebクライアントは、デバッグ用のSHA1とリリースキーストアの両方を提供します。Android Studio、左端には、 「バリアントのビルド」というタブがあります。そこでリリースモードを選択し、その後すべてを実行します。
私は同じ問題を抱えていた、私はいくつかの投稿を読んだし、以下の手順に従って仕事を成し遂げることができた
ステップ1) https://console.developers.google.com/apis/credentials ?にアクセスしてください
ステップ2)資格情報の作成をクリックします-> select OAuth client ID-> select application type as Android
手順3)次に、コマンドプロンプトに以下のコマンドを記述して、キーストアとそのパスが必要になる前に、署名証明書のフィンガープリントを生成します
keytool -exportcert -keystore "D:\PlayStore_keystore\myproject.jks" -list -v
ステップ4)Enterをクリックすると、次のように求められます
Enter keystore password :
Enter password which you have used for creating keystore
ステップ5)次に、SHA1、SHA256、MD5などのようなキーストアに関する詳細を提供します。
手順6)指紋としてSHA1を入力し、マニフェストファイルにあるパッケージ名を指定します
ステップ7)「作成」をクリックすると、新しいOAuthクライアントIDが表示されます
ステップ8)google-services.jsonファイルを取得する必要があるクライアントIDを取得しました。
ステップ9) https://console.firebase.google.com に移動してください
ステップ10)そのパッケージ名のプロジェクトが既にある場合->概要に移動-> packagne名が書かれているメニューアイコンをクリックします
ステップ11)設定を選択しますgoto->タブGeneral-> Add指紋と呼ばれるオプションがあります
手順12)手順5では、証明書の指紋にSHA1を貼り付けて保存します
ステップ13)新しいgoogle-services.jsonファイルをダウンロードします(新しいクライアントID、certificate_hashなどを含むため)
ステップ14)Androidプロジェクトのappフォルダーにgoogle-services.jsonファイルを貼り付けます。
ステップ15)準備完了です...
Playストアでアプリをアップロードするとき
署名後、新しいSHAをFirebaseアカウントに追加する必要があります。
https://console.firebase.google.com に新しいSHA1を追加します
Google APIを使用しているときはいつでも、Google開発者コンソールで生成したアプリにリリースハッシュキーを追加する必要があります。デバッグ用のハッシュキーを追加した可能性があります。
Androidのリリースバージョンについて尋ねているので、すでにキーストアでアプリケーションに署名していると仮定します。リリースアプリのSHA1を取得するために。
JDKディレクトリの/ binに移動します。
そして、cmdで次のコマンドを実行します。
keytool -list -v -keystore "キーストアパス" -alias "キーエイリアス"
このコマンドは、リリースバージョンに必要なすべての詳細を提供します。 SHA1文字列をコピーして、Firebaseコンソールに追加します。
準備できた。
Release(別名、Signed)APKの場合-Firebaseにのみデプロイする場合は、SHA1を追加する必要がありますアプリの署名に使用したのと同じキーストアファイル。
Firebase ProjectコンソールにSHA1を正常に追加した後、最新のgoogle-services.jsonを取得し、プロジェクトのモジュールローカルコピーを更新します。
私はこれまでにこれに関するドキュメントを見ていませんでした(あなたはそれを掘る必要があるもののようです);トリッキーなものであることがわかりました。 SOに関する多くの答え。 Firebase展開ソルトが見つかりました。おかげで:
Google PlayでSHA1を更新するためにこのスレッドで答えて、それは私にSHA1で何かを修正する必要があるかもしれないというアイデアを与えてくれました: https://stackoverflow.com/a/44307293/2162226
署名されたAPKのSHA1を取得する方法: https://stackoverflow.com/a/34933381/2162226