今回はFirebase Authentificationを使ってUnityに匿名認証、メール認証を実装する手順を紹介します。
# 初期設定
Firebaseの登録と初期設定については、前回の記事を御覧ください。
- ・ firebaseアカウントの作成
- ・ firebase consoleでプロジェクトの作成
- ・ プロジェクト内にUnity用アプリを作成
- ・ iOSかAndroidを選択
- ・ 設定用のjsonファイルをダウンロード
- ・ SDKファイルのダウンロード
ここまでは前回記事と同じです。今回は画面左のメニューからAuthentificationを押して下さい。
# 初期化
- ・ [Firebase SDK](https://firebase.google.com/docs/unity/setup?authuser=0&hl=ja#add-sdks)を任意の場所に解凍してFirebaseAuthのパッケージをインストールする。
- ・ Unityエディター上で空オブジェクトを作成し、下記のc#スクリプトをアタッチする。
上記の例ではstatic変数を使っていますが、staticを使いたくない人は付けなくても構いません。ただし都度インスタンス化が必要です。この初期化処理は割と重いようなので、一回で済まるべきだと思います。
# 匿名アカウントで認証する
アカウント認証が必要なアプリに匿名認証は必須と言っていいでしょう。むしろ、これだけで良いです!会員登録、ユーザー登録、個人情報の入力を嫌う人は多いので、必ず実装しましょう。他の認証方法よりもハードルは低く手順も一番簡単です。
これだけで、初回起動時には新しいアカウントが発行され、次回以降は同じ端末であれば同じアカウントでログインされます。ただし、ログインする機器が変わると別アカウントになるので、機器をまたいで同じアカウントを使用したい場合は後述するEメール認証や、google、twitterなどのSNS連携が必要となります。
# Eメールアドレスで新規アカウントを作る
以下にEメールで新規アカウントを作るコードを紹介します。ここでは、
- ・ SignUp = 新規アカウント作成
- ・ SignIn = 既存アカウントへのログイン
とします。
最低限の実装例になります。例外処理は必ず組み込むようにしましょう。成功するとIDと名前が表示されます。
# 既存のEメールアカウントでログインする
使用する関数が違うだけで中身はほぼ一緒です。 上のSignUpは既に存在するアドレスを入力するとエラーになります。登録済みのアドレスにログインする場合はこちらを使います。
# パスワード再設定メールの送信
パスワードを忘れた時、再設定したい時などにパスワードをリセットするメールを送信する事ができます。メールアドレスを忘れてしまったら・・・どうにもなりません・・・ 下記のようなコードでメールを送信できます。細かな設定をしなくてもグーグルのサーバーから送信されます。
このようなメールが登録した自分のアドレスに届きます。また、自分のドメインを持っている人は送信元のドメイン名を自分の物にする事もできます。無くても構いません。その場合はgoogleのドメインで送られます。より細かな設定をしたい人はFirebaseサイトやドキュメントを読んで下さい。
上記のリンクをクリック(タップ)すると次のようなお馴染みの画面になります。
# 全コード紹介
以上、簡単ではありますが、Firebaseを使った匿名認証、Eメール認証のUnityへの実装方法の紹介でした。