はじめに
Unityで製作しているAndroidアプリで長らくGoogle Play Gamesにサインインできない状態に陥っていました。
最終的に解決できたのですが、原因となる候補が色々あったので備忘録としてまとめておきます。
筆者の環境
- Unity:2023.1.10
- play-games-plugin-for-unity:0.11.01
Google Play Gamesにログインできないエラーの原因かもしれないものとその解決方法一覧
Unity Editor
上のツールバーで Window/Google Play Games/Setup/Android setup...
してない
Google Play Consoleで対象のアプリを選択し、 Playゲームサービス>設定と管理>クエスト
を開く。
次に右上の リソースを取得
を押し、xmlをコピーしてAndroid setupに貼り付ける。
Assets/External Dependency Manager/Android Resolver/Resolve
後に Assets/Plugins/Android
に各種ライブラリファイルが生成されていない。
Force Resolve
すれば直る。
失敗する場合はplay-games-plugin-for-unityを入れ直したりプロジェクトの Library
ディレクトリを消せば成功するはず。
Player SettingsのPublishing Settingsの Custom Proguard File
にチェックを入れていない
チェックを入れる。
そうしたら Assets\Plugins\Android\proguard-user.txt
というもの作られるので、このファイルに https://github.com/playgameservices/play-games-plugin-for-unity/blob/master/scripts/proguard.txt の内容を貼り付ける。
Player SettingsのPublishing Settingsの Minify
の Release
にチェックを入れていない
チェックを入れる。
他の項目のチェックは外した方が良いかも。
Google Play Console
Playゲームサービス>設定と管理>設定
で認証情報を設定していない
ちゃんと設定する。
Google Cloud Platform
OAuth クライアントのSHA1フィンガープリントの値が正しいか確認する。
フィンガープリントの値の確認はkeytoolでも良いが、 リリース>アプリの完全性
で確認するのが手っ取り早い。
アプリの完全性画面の アプリ署名鍵の証明書
の方のSHA1フィンガープリントの値に設定する。
備考
うろ覚えだが、 内部テスト版
では アップロード鍵の証明書
の方のSHA1フィンガープリントの値でないとログインできなかった。