this を経て、プロセスが進む限りそれをやった。
しかし、Playストアからアプリをインストールしたとき、google sign in
ボタンを使用してサインインできません。
GoogleのサインインにFirebaseを使用しました。サインインボタンをクリックすると、アカウントを選択するオプションが表示されますが、サインインまたは何もしません。
だからどこで間違っているのでしょうか?
ApkをPlayストアにアップロードすると、Playストアは「アプリ署名証明書」という新しいSHA1キーを作成します。そのSHA1を取得し、コンソールアカウントまたはfirebaseアカウントに(必要に応じて)保存します。
新しいSHA1は、プレイコンソールのReleased Management-> App Siginingにあります。
[]
更新:GoogleはAPKのアップロードの動作を変更しました。以下の回答を確認してください!
APKのリリースとAPKのデバッグには、Googleサービス用に異なるSHA1と異なるAPIキーがあります。どちらもFirebase Console-> Project settingsに追加する必要があります。次にgoogle-services.json
をここからダウンロードし、プロジェクトに追加し、オプション「Build APK」を使用してリリースキーストアで再コンパイルします。うまくいくはず
この問題は、アプリでGoogle Playアプリの署名が有効になっているときに発生しました。 Google Playアプリの署名により、SHA-1証明書のフィンガープリントが(キーストアにあるものから)独自のSHA-1証明書のフィンガープリントに変更されます。
修正:
「アプリ署名証明書」と「証明書のアップロード」が表示されます
すべて修正済み!
1)Google Playコンソールからアプリを作成/公開する場合、Google Playアプリの署名を有効にするオプションがあります。有効にすると表示されます
このアプリではGoogle Playアプリの署名が有効になっています。
その後、アップロード証明書の詳細が変更されるため、それぞれの場所でSHA-1などの証明書の詳細を書き換える必要があります。
2)debugキーストア/ SHA-1証明書の詳細を提供しましたRELEASEの代わりに証明書の詳細
3)証明書の生成中にエラーが発生しました。
1) google play console に移動します
リリース管理->アプリ署名
その後、2種類の証明書を見ることができます
1-証明書のアップロード(署名済みapkの生成時に提供されるアプリ証明書)
2-アプリ署名証明書(Google Playアプリ署名を有効にしたため、公開されたapkに新しい証明書の詳細が提供されたため)
アップロードした証明書の詳細を、以前使用した場所でGoogle Playが提供する新しい詳細で変更する必要があります。 Googleサインインの統合( OAuthクライアント のSHA-1の変更)、facebookログイン(変更 キーハッシュ (SHA-1を使用してキーハッシュを生成する link またはFacebookのログインエラー画面で提供されるキーハッシュをコピー)、 firebase など.
2)リリースSHA-1/keyHashを提供する
作成 /署名済みapkのキーストアの詳細を使用します。
コマンドプロンプトを使用:
google/firebase SHA-1:
keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v
facebookリリースキーハッシュ:
keytool -exportcert -alias <user alias name> -keystore < keystore path> | <openssl-path> sha1 -binary | <openssl-path> base64
パスワードを求められたら、署名済みのapkキーストアパスワードを入力します。
アプリの公開時に「Google Playアプリの署名」を有効にした場合、おそらく次の2つの指紋を処理しています。
「アップロード証明書」と呼ばれる、ローカルキーストアからのキーストア(keytool -exportcert -keystoreからプロダクションキーストアへのパス-list -v)。
署名を有効にしたときにGoogleによって生成された新しいもの(「署名証明書」)。
この状況との競合は、2つのOAuth 2.0クライアントIDで終わる可能性があることです。
アプリを公開する前(およびGoogle署名を有効にする前)に作成したもので、実際に「正しい」ものです。
Google署名を有効にしたときにGoogleによって作成された新しいもの。
この事実は、Google Playコンソール->ゲームサービス->アプリの選択-> APIコンソールプロジェクト->資格情報-> OAuth 2.0クライアントID
[〜#〜] solution [〜#〜]
Googleサインイン(および関連するすべてのゲームサービス機能)が機能するためには、既存のOAuth2クライアントID(アプリを公開する前に作成したもの)のフィンガープリントを修正する必要がありました。
「正しい」を探してくださいOAuth 2.0クライアントID:Google Play Console->ゲームサービス->アプリの選択->リンクされたアプリ->アプリの選択->下部の「OAuth2クライアントID」。
「署名」証明書を探します:Google Playコンソール->ゲームサービス->アプリを選択-> APIコンソールプロジェクト->資格情報-> OAuth 2.0クライアントID-> " XXXXXX(Googleサービスにより自動作成) "->値に注意してください(xx:xx:xx:etc ....)コメント:この値を他のOAuth = 2.0クライアントID、私はそれをいくつかのダミー番号に置き換えなければなりませんでした。
既存のOAuth2クライアントIDに移動します。GooglePlay Console-> Games Services->アプリを選択-> API Consoleプロジェクト-> Credentials-> OAuth 2.0クライアントID-> "を選択手順1の「OAuth 2.0クライアントID」。手順2の証明書の値で証明書の値を更新します。
これで問題が解決しました。マルチプレイヤーは私のアプリ(Match4App)で完璧に機能しています。
既存の応答を追加するには、新しく作成されたSHA1を取得したら:
Goto https://console.firebase.google.com :