質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.04%

UnityでGooglePlayGameServiceを実機で実行、手順通りに実行しても落ちてしまう

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,592

score 40

Unity環境で、GooglePlayGameServiceの実行方法について質問させてください。m(_ _)m

 現在の問題

公式チュートリアルで、「UnityでGooglePlayGameServiceを実行する」を実行しています。

しかし、Android実機で実行すると、下の認証のコードで落ちてしまいます。

呼び出されると落ちるコード

// 落ちるコード
PlayGamesPlatform.Instance.Authenticate(SignInCallback, true);

// コールバック関数も定義済み
public void SignInCallback(bool success){}

 手順は以下のように行いました

おそらく、証明書の問題だと思っていますが、問題点がわかりません。

[1] Unityの「Build Settings > Player Settings > Publish Settings」このページで、「Create a new keystoreボタン」を押し、Unity上でkeystoreとAliasの作成。

[2] この時点で、上のGooglePlayGameServiceの認証プログラムをコメントアウトすれば、Android実機で問題なく動きます。

[3] 「公式のGooglePlayConsole」にて、「アプリの追加、ゲームサービスの追加、リンク済みのアプリ」の設定。

[4] 「リンク済みのアプリ」のSHA1証明書の入力欄には、「Unity上で作成したKeyStoreのSHA1ハッシュ値」を下記のコマンドで調べて入力しています。

keytool -list -v -keystore keystoreのPAHT -alias エイリアス名 -storepass パスワード -keypass パスワード

[5]「GooglePlayConsole」にて、「リーダーボードの欄」で、Scoreというリーダーボードを作成し、「リソースの取得ボタン」からXMLを取得。

[6] 「5」で取得したXMLを、Unityの「Window > GooglePlayService > SetUp > Android setup」のページに行き、「Resources Definition」の欄に貼り付けて、「SetUp」ボタンを押して「Success」のアラートがでました。

[7] チュートリアルやその他のページではこれで認証ができると書いてあるのですが、自分の環境だとAndroid実機で実行した時のみ認証部分で落ちてしまいます。

 関係があるかもしれないもの

・Unity上で証明書を作成すると、JKSキーストアで作成されるようで、「PKCS12に移行してください」とターミナルで出力されたので、PKCS12の証明書に変換をすると、Unity上で証明書が読み取れなくなってしまいました。
現在はJKSの方を使っています。

 他に参考にしたサイト(すべて1からこれと同じように実行してみました)

・http://yasuaki-ohama.hatenablog.com/entry/2016/04/23/114809
・https://indie-du.com/entry/2017/02/13/070000
・https://answers.unity.com/questions/1372388/google-play-services-authentication-problem-failin.html

 その他メモ

・「UnityのPublish settingのKeyStore」には、パスワードを入力してあります。
・「UnityのIdentification」には、「com.name.test」で登録してあります。
・「UnityのScripting Backend」には、「Mono」が指定されてます。
・「GooglePlayGameServiceのライブラリ」は、公式のものを使っています。
・Googleplayでベータ版としてリリースし、Androidで実行してみたのですが、その場合も落ちてしまいしました。
・「UnityのClientID」に、「GooglePlayConsole > リンク済みアプリの欄」にある、「000.aaaa.apps.googleusercontent.com」形式の値を入れても動きませんでした。
・「Unityのバージョン」は、2018.2.14fです。
認証部分のコードを、Gistに書きました

 チュートリアルと違う部分

チュートリアルのこの欄の証明書の発行部分を、Unity上から「Create a new keystore」で証明書発行をしました。
下のコマンドで行うと、Unityビルドエラーになってしまったので、コマンドでなくUnityのGUIから行いました。

keytool -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

 質問内容

UnityからAndroidのGamePlayServiceの認証部分のエラー解決方法を教えていただけたら大変助かります。

また、現在作っているUnityゲームは、iOS版ではリリースできたのですが、Android版でGameServiceの問題でリリースできてない状態で、もし答えてもらえたら大変助かります。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る