- 本サンプルは不具合がある場合、issue等から報告いただくようにお願いいたします
- 作成日:2016/7(更新日:2020/3)
-
Unityで作成したiOSアプリから、ニフクラmobile backendへデータ登録を行うサンプアプリです
-
「START DEMO」ボタンをタップするとクラウドにデータが上がります★
-
簡単な操作ですぐに ニフクラmobile backendを体験いただけます
スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!今回はデータストアを体験します
注1:詳しくはこちらをご覧ください
- MacOS Venture version 13.4.1
- Android Studio Chipmunk | 2021.2.1 Patch 2
- Pixel 2 - Android 13 (Simulator)
- Xcode 15.0
- Unity 2022.2.19 (LTS)
- iPhone SE (iOS 17)
- Unity SDK v5.1.1
※上記内容で動作確認をしています。
1. ニフクラmobile backendの会員登録とログイン→アプリ作成
- 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します
- アプリ作成されると下図のような画面になります
- この2種類のAPIキー(アプリケーションキーとクライアントキー)はUnityで作成するアプリにニフクラmobile backendを紐付けるために使用します
- この後動作確認でデータが保存される場所も確認しておきましょう
2. GitHubからサンプルプロジェクトのダウンロード
- この画面(GitHub)のボタンをクリックし、さらにボタンをクリックしてサンプルプロジェクトをMacにダウンロードします
ダウンロードしたフォルダを解凍し、Unityから開いてください。その後、Unity_DB_DEMOシーンを開いてください。
- Unity_DB_DEMOシーンのNCMBSettingsを編集します
- 先程ニフクラmobile backendのダッシュボード上で確認したAPIキーを貼り付けます
- それぞれ「Application Key」と「Client Key」のテキストフィールドに「アプリケーションキー」と「クライアントキー」を貼り付けます
- Unity画面で上部真ん中の実行ボタン(さんかくの再生マーク)をクリックします
-
動作結果が画面に表示されます
-
保存に成功した場合:「
保存に成功しました。objectId : ******
」 -
保存に失敗した場合:「
エラーが発生しました。ErrorCode : ******
」 -
objectIdはデータを保存したときに自動で割り振られるIDです
-
万が一エラーが発生した場合は、こちらよりエラー内容を確認いただけます
-
保存に成功したら、ニフクラmobile backendのダッシュボードから「データストア」を確認してみましょう!
-
TestClass
という保存用クラスが作成され、その中にデータが確認できます
- 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 のドキュメント(クイックスタート)にドキュメントをご用意していますので、ご活用ください
- Hierarchy内の
Canvas
でUIをデザインし、Unity_DB_DEMO.cs
にロジックを書いています testClass
オブジェクトに対してkey, value形式で値をセットし、saveInBackgroundWithBlock
メソッドを実行すると、非同期にてデータが保存されます
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using NCMB;
public class Unity_DB_DEMO : MonoBehaviour {
public Text result;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void Start_Demo(){
// クラスのNCMBObjectを作成
NCMBObject testClass = new NCMBObject("TestClass");
// オブジェクトに値を設定
testClass["message"] = "Hello, NCMB!";
// データストアへの登録
testClass.SaveAsync((NCMBException e) => {
if (e != null) {
result.text += "保存に失敗しました。\n ErrorCode : " + (string)e.ErrorMessage+ "\n";
UnityEngine.Debug.Log ("保存に失敗: " + e.ErrorMessage);
} else {
result.text += "保存に成功しました。\n objectId : " + (string)testClass.ObjectId + "\n";
UnityEngine.Debug.Log ("保存に成功");
}
}
);
}
}
- 会員管理のコンテンツもご用意しています
- https://github.com/NIFCLOUD-mbaas/UnityLoginApp