FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Unityで作ったゲームにログイン機能を追加してみよう

f:id:mbaasblog:20220119112711p:plain

Unityで作ったアプリにニフクラ mobile backendを使って無料でログイン機能を追加する方法を紹介します👌
コピペで実装できるので初心者の方でも簡単に実装できます👫

はじめに

こんにちは。mobile backend企画担当の伊藤です。
今回はUnity SDKを利用してログイン機能を実装する方法を解説していきます。

Unity SDKのドキュメントはこちらです👀

ドキュメント : 開発者向けドキュメント | ニフクラ mobile backend

ニフクラ mobile backendのサービスの概要はこちらをご参照ください👀

mobile backendをUnityアプリと連携させる手順

ニフクラ mobile backendのクイックスタートで画像を用いながらわかりやすく説明しているので 是非以下を参考に連携させてみてください😃✨

▼イメージ f:id:mbaasblog:20220118160043p:plain

イントロダクション (Unity) : クイックスタート | ニフクラ mobile backend

実装方法

今回は1つのファイルに新規会員登録・ログイン・ログアウト機能を実装していきます👩🏼‍🤝‍🧑🏻💨

使用するスクリプトテンプレートなど実装前のコード

新規会員登録・ログイン・ログアウト処理を書く前の状態は以下のような感じです。
userNameとpasswordを入力するInputFieldを作成しています。
新規会員登録をする際は↓の画像と同じようなシーンを作成します。

f:id:mbaasblog:20220119171942p:plain

既に会員登録をしている場合は、↓のInputFieldにユーザー名とパスワードを入力してログインします。

f:id:mbaasblog:20220119163356p:plain

現在は以下のコードだけ書いています。

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の会員管理を見てみると、ちゃんと登録されています😋❣
(画像をクリックすると拡大して表示されます🧐)

f:id:mbaasblog:20220119165806p:plain

最後に

以上で、ログイン機能が追加できました!
さらに、別の記事でランキング機能を追加する記事も公開しているので、是非ご覧ください👁‍🗨📚

blog.mbaas.nifcloud.com

不明点があればユーザーコミュニティ*1へ質問してみてください! github.com

f:id:mbaasblog:20181005111552p:plain

伊藤みなみ

mobile backend企画担当。2018年4月、富士通クラウドテクノロジーズに新卒で入社。大学は文系でプログラミングは全くの未経験ですが、日々勉強しております!

*1:こちらはニフクラ mobile backend の全ユーザ向けのユーザーコミュニティです。ただし、回答保証はありません。回答保証があるサポートを希望される場合、有償プランにて提供しておりますテクニカルサポートをご利用ください。