Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

NIFCLOUD-mbaas/UnityLoginApp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

【Unity】アプリにログイン機能をつけよう!

画像1

  • 本サンプルは不具合がある場合、issue等から報告いただくようにお願いいたします
  • 作成日:2016/5(更新日:2023/9)

概要

ニフクラmobile backendって何??

スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!今回はデータストアを体験します

注1:詳しくはこちらをご覧ください

画像2

動作環境

  • Mac OS 13.4.1 (Venture)
  • Android studio: 4.0
  • LG V20 plus (OS 8.0)
  • Unity 2022.2.19f1 (LTS)
  • Xcode Version 15.0
  • iPhone SE (iOS 17)
  • Unity SDK v5.1.1

※上記内容で動作確認をしています。

手順

1. ニフクラmobile backendの会員登録とログイン→アプリ作成

  • 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します

画像3

  • アプリ作成されると下図のような画面になります
  • この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにニフクラmobile backendを紐付けるために使用します

画像4

  • 動作確認後に会員情報が保存される場所も確認しておきましょう

画像5

2. GitHubからサンプルプロジェクトのダウンロード

  • この画面(GitHub)の画像10ボタンをクリックし、さらに画像11ボタンをクリックしてサンプルプロジェクトをMacにダウンロードします

3. Unityでアプリを起動

  • ダウンロードしたフォルダを解凍し、Unityから開いてください。その後、Loginsigninシーンを開いてください。

4. APIキーの設定

  • LoginsigninシーンのNCMBSettingsを編集します
  • 先程ニフクラmobile backendのダッシュボード上で確認したAPIキーを貼り付けます

画像07

  • それぞれYOUR_NCMB_APPLICATION_KEYYOUR_NCMB_CLIENT_KEYの部分を書き換えます
  • 書き換え終わったらcommand + sキーで保存をします

5. 動作確認

  • Unity画面で上部真ん中の実行ボタン(さんかくの再生マーク)をクリックします

画像12

  • シミュレーターが起動したら、Login&SignIn画面が表示されます
  • 初回は SignIn ボタンをクリックして、会員登録を行います。

画像14

  • 2回目以降はUserNamePasswordを2つ入力してLoginボタンをタップします
  • 会員登録が成功するとログインされ、下記画面が表示されます
  • このときmBaaS上に会員情報が作成されます!
  • ログインに失敗した場合は画面にエラー内容が表示されます
  • 万が一エラーが発生した場合は、こちらよりエラー内容を確認いただけます

画像15

  • Logout ボタンをタップするとログアウトし、元の画面に戻ります
  • 登録された会員情報を使ってLogin画面からログインが可能です(操作は同様です)

  • 保存に成功したら、ニフクラmobile backendのダッシュボードから「会員管理」を確認してみましょう!

画像1

iOS端末へのビルド
  • iOSビルド手順は以下のとおりです。
    iOS端末でビルドを行うには、Unityで.xcodeprojファイルを作成します。
  • 「Build Settings」へ戻り、Platformで「iOS」を選択 -> 「Switch Platform」をクリックします。

iOS

  • ボタンが「Build」に変わったらクリックします。アプリ名を入力するとビルドが開始されるので、完了したらXcodeで開いてください。

  • XcodeでPush Notificationの追加とプロビジョニングファイルの設定を行う必要があります。iOSのドキュメントの「5.1 Xcodeでの対応」を実装してください。

Xcodeの追加設定
  • iOSであり、Unity SDK v4.0.4以上の場合、Xcode側にて「WebKit.framework」「UserNotifications.framework」を追加する必要があります。
  • Xcodeで「Unity-iPhone」-> General -> TARGETで「UnityFramework」を選択します。追加されているライブラリ一覧の下にある「+」をクリックします。

フレームワークの追加

* 検索窓にて「Web」と入力し、「WebKit.framework」があるので選択しAddをクリックします。

リッチプッシュ設定方法2

  • 「UserNotifications.framework」ライブラリも同じように検索して追加します

iOS

ライブラリ一覧に追加されていることが確認できれば設定完了です。

※注意1: Unity SDK v4.2.0以上を使用している場合、上の2つに加えて「AuthencationServices.framework」も追加する必要があります。

  • 「Build Phases」 タブで「AuthenticationServices.framework」を「Optional」にします。

※注意2: Unity 2019.3未満の場合は、以下の画像のように TARGET->「Unity-iPhone」でフレームワークを追加するようにしてください。 こちらも「WebKit.framework」「UserNotifications.framework」「AuthenticationServices.framework」を追加する必要があります。

  • 上記が完了しましたら、iOS動作確認は可能となります。

解説

サンプルプロジェクトに実装済みの内容のご紹介

SDKのインポートと初期設定

ロジック

  • Loginsignin.cs,Logout.csにロジックを書いています
  • ログイン、会員登録、ログアウト部分の処理は以下のように記述されます ※ただし、左記処理以外のコードは除いています

Loginsignin.cs

// ログイン
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 ("ログインに成功!");
                Application.LoadLevel ("LogOut");
            }
        });

    }
//会員登録
    public void Signin ()
    {
        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);
            } else {
                UnityEngine.Debug.Log ("新規登録に成功");
                Application.LoadLevel ("LogOut");
            }
        });
    }

Logout.cs

// ログアウト
public void Logout_user ()
    {
        NCMBUser.LogOutAsync ((NCMBException e) => {
            if (e != null) {
                UnityEngine.Debug.Log ("ログアウトに失敗: " + e.ErrorMessage);
            } else {
                UnityEngine.Debug.Log ("ログアウトに成功");
                Application.LoadLevel ("Loginsignin");
            }
        });

    }

参考

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 97.3%
  • Objective-C 2.7%