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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

609閲覧

UnityでFirebaseログインを実装する際に、UIが反映されない

teityann1225

総合スコア158

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2022/01/03 17:54

#やりたいこと
UnityでFirebaseを使った、Googleログインを実装したいと思っております。
Googleログインの機構は完成しており、IdTokenは取得できています。

#発生しているエラー
しかし、SignInWithCredentialAsyncでFirebaseと連携した後に、textに名前を表示しようとしているのですが、テキストが反映されません。
Firebaseのコンソール上ではアカウントが作成されています。
ログが出てくれれば良いのですが、Googleログイン画面が出る時点で、デバッガーが切断されてしまいます。
(切断される際は、『Connection 65262 was paused by application.』という内容が表示されております。)
個人的推察では、昔Android開発を行っていた際にメインスレッド外からUIにアクセスできないということがあったので、そういった物が関連しているのかな?とは思いましたが、メインスレッドへpostしてもダメでした。
よろしくお願いいたします。

#ソースコード(抜粋)

if (GoogleSignIn.Configuration == null) { GoogleSignIn.Configuration = new GoogleSignInConfiguration { RequestIdToken = true, WebClientId = "クライアントID" }; } Task<GoogleSignInUser> signIn = GoogleSignIn.DefaultInstance.SignIn (); TaskCompletionSource<FirebaseUser> signInCompleted = new TaskCompletionSource<FirebaseUser> (); signIn.ContinueWith (task => { if (task.IsCanceled) { signInCompleted.SetCanceled (); Debug.LogError(task.IsCanceled); } else if (task.IsFaulted) { signInCompleted.SetException (task.Exception); Debug.LogError(task.Exception); } else { Debug.LogError(task.Result.IdToken); Credential credential = GoogleAuthProvider.GetCredential (task.Result.IdToken, null); _auth.SignInWithCredentialAsync (credential).ContinueWith (authTask => { if (task.IsCanceled) { Debug.LogError("SignInWithCredentialAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception); return; } var newUser = authTask.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", newUser.DisplayName, newUser.UserId); _user = newUser; helloText.text = task.Result.DisplayName + " hello!"; SetActive(false,true); }); } });

SetActiveはPanelの状態を変更する独自関数です。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問