- 本サンプルは不具合がある場合、issue等から報告いただくようにお願いいたします
- 作成日:2016/5(更新日:2023/9)
- ニフクラmobile backendの『会員管理機能』を利用してUnityアプリにログイン機能を実装したサンプルプロジェクトです
- 簡単な操作ですぐに ニフクラmobile backendの機能を体験いただけます★☆
スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!今回はデータストアを体験します
注1:詳しくはこちらをご覧ください
- 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の会員登録とログイン→アプリ作成
- 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します
- アプリ作成されると下図のような画面になります
- この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにニフクラmobile backendを紐付けるために使用します
- 動作確認後に会員情報が保存される場所も確認しておきましょう
2. GitHubからサンプルプロジェクトのダウンロード
- この画面(GitHub)のボタンをクリックし、さらにボタンをクリックしてサンプルプロジェクトをMacにダウンロードします
- ダウンロードしたフォルダを解凍し、Unityから開いてください。その後、Loginsigninシーンを開いてください。
- Loginsigninシーンの
NCMBSettings
を編集します - 先程ニフクラmobile backendのダッシュボード上で確認したAPIキーを貼り付けます
- それぞれ
YOUR_NCMB_APPLICATION_KEY
とYOUR_NCMB_CLIENT_KEY
の部分を書き換えます - 書き換え終わったら
command + s
キーで保存をします
- Unity画面で上部真ん中の実行ボタン(さんかくの再生マーク)をクリックします
- シミュレーターが起動したら、Login&SignIn画面が表示されます
- 初回は
SignIn
ボタンをクリックして、会員登録を行います。
- 2回目以降は
UserName
とPassword
を2つ入力してLoginボタンをタップします - 会員登録が成功するとログインされ、下記画面が表示されます
- このときmBaaS上に会員情報が作成されます!
- ログインに失敗した場合は画面にエラー内容が表示されます
- 万が一エラーが発生した場合は、こちらよりエラー内容を確認いただけます
Logout
ボタンをタップするとログアウトし、元の画面に戻ります- 登録された会員情報を使ってLogin画面からログインが可能です(操作は同様です)
- 保存に成功したら、ニフクラmobile backendのダッシュボードから「会員管理」を確認してみましょう!
- iOSビルド手順は以下のとおりです。
iOS端末でビルドを行うには、Unityで.xcodeprojファイルを作成します。
- 「Build Settings」へ戻り、Platformで「iOS」を選択 -> 「Switch Platform」をクリックします。
-
ボタンが「Build」に変わったらクリックします。アプリ名を入力するとビルドが開始されるので、完了したらXcodeで開いてください。
-
XcodeでPush Notificationの追加とプロビジョニングファイルの設定を行う必要があります。iOSのドキュメントの「5.1 Xcodeでの対応」を実装してください。
- iOSであり、Unity SDK v4.0.4以上の場合、Xcode側にて「WebKit.framework」「UserNotifications.framework」を追加する必要があります。
- Xcodeで「Unity-iPhone」-> General -> TARGETで「UnityFramework」を選択します。追加されているライブラリ一覧の下にある「+」をクリックします。
- 「UserNotifications.framework」ライブラリも同じように検索して追加します
ライブラリ一覧に追加されていることが確認できれば設定完了です。
※注意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動作確認は可能となります。
サンプルプロジェクトに実装済みの内容のご紹介
- ニフクラmobile backend のドキュメント(クイックスタート)をUnity版に書き換えたドキュメントをご用意していますので、ご活用ください
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");
}
});
}
- ニフクラmobile backend のドキュメント(会員管理)