web-dev-qa-db-ja.com

Playストアで公開した後、Googleサインインが機能しない

this を経て、プロセスが進む限りそれをやった。

しかし、Playストアからアプリをインストールしたとき、google sign inボタンを使用してサインインできません。

GoogleのサインインにFirebaseを使用しました。サインインボタンをクリックすると、アカウントを選択するオプションが表示されますが、サインインまたは何もしません。

だからどこで間違っているのでしょうか?

33
arqam

ApkをPlayストアにアップロードすると、Playストアは「アプリ署名証明書」という新しいSHA1キーを作成します。そのSHA1を取得し、コンソールアカウントまたはfirebaseアカウントに(必要に応じて)保存します。

新しいSHA1は、プレイコンソールのReleased Management-> App Siginingにあります。

[enter image description here]

155
Prinkal Kumar

更新:GoogleはAPKのアップロードの動作を変更しました。以下の回答を確認してください!

APKのリリースとAPKのデバッグには、Googleサービス用に異なるSHA1と異なるAPIキーがあります。どちらもFirebase Console-> Project settingsに追加する必要があります。次にgoogle-services.jsonをここからダウンロードし、プロジェクトに追加し、オプション「Build APK」を使用してリリースキーストアで再コンパイルします。うまくいくはず

34
Dima Rostopira

この問題は、アプリでGoogle Playアプリの署名が有効になっているときに発生しました。 Google Playアプリの署名により、SHA-1証明書のフィンガープリントが(キーストアにあるものから)独自のSHA-1証明書のフィンガープリントに変更されます。

修正:

  1. Gotohttps://play.google.com/apps/publish/
  2. クリックアプリケーション>>リリース管理>>アプリ署名。

「アプリ署名証明書」と「証明書のアップロード」が表示されます

  1. 「アプリ署名証明書」からSHA-1をコピー (トップワン)
  2. Gotohttps://console.firebase.google.com/
  3. アプリケーションをクリックします>>設定[プロジェクト概要の右側にあるギアボックスアイコン](画面上部)>>プロジェクト設定>>一般[タブ] >>指紋を追加
  4. SHA-1アプリ署名証明書を貼り付けます。セーブ。

すべて修正済み!

7
Alan Nelson

次の理由で問題が発生する

1)Google Playコンソールからアプリを作成/公開する場合、Google Playアプリの署名を有効にするオプションがあります。有効にすると表示されます

このアプリではGoogle Playアプリの署名が有効になっています。

enter image description here

その後、アップロード証明書の詳細が変更されるため、それぞれの場所で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キーストアパスワードを入力します。

3

Firebaseを使用している場合、アプリのライフサイクルには3種類のSHA1が必要です

  • -デバッグSHA1
  • -SHA1をリリース
  • -SHA1に署名する(Playストアから取得)

ここでアプリケーションを公開した後、Firebaseに署名するSHA1を追加する必要があります。2つのスクリーンショットを添付していますので、ご覧ください。赤いマークの証明書が必要です enter image description here

enter image description here

3
Muhammed Fasil

アプリの公開時に「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(アプリを公開する前に作成したもの)のフィンガープリントを修正する必要がありました。

  1. 「正しい」を探してくださいOAuth 2.0クライアントID:Google Play Console->ゲームサービス->アプリの選択->リンクされたアプリ->アプリの選択->下部の「OAuth2クライアントID」。

  2. 「署名」証明書を探します:Google Playコンソール->ゲームサービス->アプリを選択-> APIコンソールプロジェクト->資格情報-> OAuth 2.0クライアントID-> " XXXXXX(Googleサービスにより自動作成) "->値に注意してください(xx:xx:xx:etc ....)コメント:この値を他のOAuth = 2.0クライアントID、私はそれをいくつかのダミー番号に置き換えなければなりませんでした。

  3. 既存のOAuth2クライアントIDに移動します。GooglePlay Console-> Games Services->アプリを選択-> API Consoleプロジェクト-> Credentials-> OAuth 2.0クライアントID-> "を選択手順1の「OAuth 2.0クライアントID」。手順2の証明書の値で証明書の値を更新します。

これで問題が解決しました。マルチプレイヤーは私のアプリ(Match4App)で完璧に機能しています。

1
Pablo Alfonso

既存の応答を追加するには、新しく作成されたSHA1を取得したら:

Goto https://console.firebase.google.com

  1. プロジェクトを選択
  2. プロジェクトの概要
  3. プロジェクト設定
  4. ADD FINGERPRINT-証明書の指紋にSHA1を入力
  5. セーブ
1
RonTLV