アプリでFirebase経由でGoogleサインインを使用しています。ただし、公開されたアプリをPlayストアから実行しているときに、次のエラーが表示されます。
E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE
ただし、FirebaseとAPI ConsoleにJSONファイルに記載されているIDで登録しました。以下はJSONファイルのコードです
{
"project_info": {
"project_number": "311816357497",
"firebase_url": "https://mcqsce.firebaseio.com",
"project_id": "mcqsce",
"storage_bucket": "mcqsce.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:311816357497:Android:494b736XXXX6010b",
"Android_client_info": {
"package_name": "in.readhere.mcqceit"
}
},
"oauth_client": [
{
"client_id": "311816357497-9ma34c4qXXXXXXXXXXXXXoep8b24u8g.apps.googleusercontent.com",
"client_type": 1,
"Android_info": {
"package_name": "in.readhere.mcqceit",
"certificate_hash": "6847ce9f7e38dc588d12345678f21c13bd25ea7c"
}
},
{
"client_id": "311816357497-5lbqnmj0bxxxxxxxxxxxxxm4qjfhmq06.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC6BGtRfxxxxxxxxxGrwwe_0V3uY9g-0dI"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "311816357497-5lbqnmj0bxxxxxxxxxxxxxxm4qjfhmq06.apps.googleusercontent.com",
"client_type": 3
}
]
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}
アプリのAPIコンソールは次のとおりです firebase console
しばらく時間を費やした後、Googleサインインの問題点と、Googleサインイン時にこのエラーがスローされた理由を把握しました。
だからここにこれの解決策があります:私の場合、Google Playストアでapkを公開し、それがセキュリティ目的のために新しい証明書キーストアを作成するものに署名するGoogle Playアプリを選択しました。古いキーストアは無効になります(- https://support.google.com/googleplay/Android-developer/answer/738442 )Googleによって作成された新しいキーストアではなく、古いキーストアのSHA1をfirebaseに追加しました。したがって、Google経由でログインしようとすると、このエラーがスローされます。
だから私はそれを把握します:Googleプレイコンソールに移動します( https://play.google.com/apps/publish/ )>アプリを選択(左側のメニュー)>リリース管理>アプリ署名
2つのアプリ署名証明書が表示されます。1つは古いアップロードされたキーストア証明書で、もう1つはGoogle Playによって作成された新しく作成されたアプリ署名証明書です。そのため、アプリ署名証明書からSHA1およびSHA256キーをコピーし、Firebaseコンソールに同じキーを貼り付けます( https://console.firebase.google.com )>プロジェクトを選択>アプリ設定を選択>一般(アプリパッケージを選択します)>そして、SHA1キーとSHA256キーの両方を貼り付けて保存します。
アプリを再起動すると動作します。私の場合はうまくいきます;)
ビルドバリアント[Release | Debug]を確認してください。考えられるエラーは次のとおりです:DEBUGにSHA1を追加し、リリースapkをビルドした、またはその逆
プロジェクトの設定でSHA各指紋Androidアプリを追加する必要があります。Firebaseでは、プロジェクト名で以下のリンクを編集し、あなたのアプリ。
https://console.firebase.google.com/project/{YOUR_PROJECT_NAME}/settings/general/
完全なレシピ:
google-services.json
_をダウンロードできるページ)Settings
に移動します(左上の領域の概要の右側にある歯車アイコン。その後、_Account Linking
_タブに切り替えます。 Google Playをプロジェクトにリンクします。そして出来上がり!問題が解決されることを願っています。
私は同じ問題を抱えていました、問題は私の電話のセキュリティネットワークでした。セキュリティネットワークを削除して修正しました。
1)Googleコンソールアカウントのリンクの下を開くだけ
https://console.developers.google.com/apis/credentials
2)プロジェクトを選択して完了したら、今すぐログインしてみてください(GoogleはFCMプロジェクトに基づいて資格情報を自動的に作成します)。
でプロジェクトを作成していない場合のみ、3つの手順に従ってください [〜#〜] fcm [〜#〜]
3)新しい資格情報を作成する/ OAuthクライアントID/Android、SHA1フィンガープリントとAPKパッケージ名によって定義されます。完了
デバッグアプリにはSHA1フィンガープリントが必要で、リリースには別のフィンガープリントが必要です。ターミナルでこれを実行して、リリースフィンガープリントを取得します。
keytool -exportcert -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
キーストアのパスワード(署名付きAPKの生成に使用するもの)が必要になります。次に、 https://console.firebase.google.com/project/_/settings/general/ に移動し、新しい指紋を追加します
公開されたアプリでGoogleにサインインしようとしたときに同じ問題が発生していましたが、これで問題が修正されました