Unityで作ったアプリにニフクラ mobile backendを使って無料でログイン機能を追加する方法を紹介します👌
コピペで実装できるので初心者の方でも簡単に実装できます👫
はじめに
こんにちは。mobile backend企画担当の伊藤です。
今回はUnity SDKを利用してログイン機能を実装する方法を解説していきます。
Unity SDKのドキュメントはこちらです👀
ドキュメント : 開発者向けドキュメント | ニフクラ mobile backend
ニフクラ mobile backendのサービスの概要はこちらをご参照ください👀
mobile backendをUnityアプリと連携させる手順
ニフクラ mobile backendのクイックスタートで画像を用いながらわかりやすく説明しているので 是非以下を参考に連携させてみてください😃✨
▼イメージ
イントロダクション (Unity) : クイックスタート | ニフクラ mobile backend
実装方法
今回は1つのファイルに新規会員登録・ログイン・ログアウト機能を実装していきます👩🏼🤝🧑🏻💨
使用するスクリプトテンプレートなど実装前のコード
新規会員登録・ログイン・ログアウト処理を書く前の状態は以下のような感じです。
userNameとpasswordを入力するInputFieldを作成しています。
新規会員登録をする際は↓の画像と同じようなシーンを作成します。
既に会員登録をしている場合は、↓のInputFieldにユーザー名とパスワードを入力してログインします。
現在は以下のコードだけ書いています。
using UnityEngine; using UnityEngine.UI; using System.Collections; using NCMB; using UnityEngine.SceneManagement; public class ***スクリプト名*** : MonoBehaviour { public InputField UserName; public InputField PassWord; private string currentPlayerName; //ここの中に新規会員登録・ログイン・ログアウト処理を書いていきます }
※1画面で新規会員登録とログインをするとデータが保存できないエラーが起きることがあります😥エラー内容と解決方法は以下のブログをご参照ください。 blog.mbaas.nifcloud.com
ログイン
(★の部分が今回ニフクラ mobile backendのコードです。他の箇所はゲームの処理です。)
public void Login() { print (UserName.text); print (PassWord.text); //★NCMBUserのインスタンス作成 NCMBUser user = new NCMBUser (); // ★ユーザー名とパスワードでログイン NCMBUser.LogInAsync (UserName.text, PassWord.text, (NCMBException e) => { if (e != null) { UnityEngine.Debug.Log ("ログインに失敗: " + e.ErrorMessage); } else { UnityEngine.Debug.Log ("ログインに成功!"); //画面遷移 SceneManager.LoadScene (*);//遷移させたいシーンを指定 } }); }
新規会員登録
public void SignUp() { print (UserName.text); print (PassWord.text); //★NCMBUserのインスタンス作成 NCMBUser user = new NCMBUser (); //ユーザ名とパスワードの設定 user.UserName = UserName.text; user.Password = PassWord.text; //★会員登録 user.SignUpAsync ((NCMBException e) => { if (e != null) { UnityEngine.Debug.Log ("新規登録に失敗: " + e.ErrorMessage); SceneManager.LoadScene (*); //遷移させたいシーンを指定 } else { UnityEngine.Debug.Log ("新規登録に成功"); //★カレントユーザーを確認 NCMBUser currentUser = NCMBUser.CurrentUser; if (currentUser != null) { UnityEngine.Debug.Log ("ログイン中のユーザー: " + currentUser.UserName); Login(); } else { UnityEngine.Debug.Log ("未ログインまたは取得に失敗"); } //画面遷移 SceneManager.LoadScene (*);//遷移させたいシーンを指定 } }); }
ログアウト
public void Userlogout() { NCMBUser.LogOutAsync ( (NCMBException e) => { if(e == null ){ UnityEngine.Debug.Log ("ログアウト成功"); }else{ UnityEngine.Debug.Log ("ログアウトに失敗: " + e.ErrorMessage); } }); }
結果
ニフクラ mobile backendの会員管理を見てみると、ちゃんと登録されています😋❣
(画像をクリックすると拡大して表示されます🧐)
最後に
以上で、ログイン機能が追加できました!
さらに、別の記事でランキング機能を追加する記事も公開しているので、是非ご覧ください👁🗨📚
不明点があればユーザーコミュニティ*1へ質問してみてください! github.com