概要
Unityで作ったアプリにニフクラ mobile backendを使って無料でログイン機能を追加する方法を紹介します👌
コピペで実装できるので初心者の方でも簡単に実装できます👫
使うサービス
- ニフクラ mobile backend(Unity SDK)
無料で利用可能できるサービスで、簡単にバックエンドの開発ができるニフクラ mobile backendを利用してランキング機能を実装していきます。
以下より会員登録を行うと、環境構築する必要なしにすぐ利用できます👩💻👨💻
会員登録
Unity SDKのドキュメントはこちらです👀
ニフクラ 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画面で新規会員登録とログインをするとデータが保存できないエラーが起きることがあります😥
エラー内容と解決方法は以下のブログをご参照ください。
https://blog.mbaas.nifcloud.com/entry/2020/10/01/145149
ログイン機能
(★の部分が今回ニフクラ 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の会員管理を見てみると、ちゃんと登録されています😋❣
最後に
以上で、ログイン機能が追加できました!
さらに、別の記事でランキング機能を追加する記事も公開しているので、是非ご覧ください👁🗨📚
不明点があればユーザーコミュニティへ質問してみてください!(無料プランから利用可能)
有償プランを契約している方はテクニカルサポートで個別にサポートしていただけます!