
マイケル
みなさんこんばんは!
マイケルです!
マイケルです!

エレキベア
こんばんクマ〜〜〜

マイケル
今日はニフクラ mobile backendを使って
ランキング機能を実装してみるよ!
ランキング機能を実装してみるよ!

エレキベア
この始まり前回も聞いたようなクマ・・・
PlayFabはどうしたクマ??
PlayFabはどうしたクマ??

マイケル
PlayFabはやめてニフクラを使うことにしました・・・

エレキベア
ええ・・・・

マイケル
理由はとしては、「PlayFabはログインしないとランキング機能が使えない」ため!
Webへの公開も考えていたから、ユーザを作成しなくても自由にランキング登録ができるニフクラの方が無駄なリソースを使わずに済むと思ったんだ!
Webへの公開も考えていたから、ユーザを作成しなくても自由にランキング登録ができるニフクラの方が無駄なリソースを使わずに済むと思ったんだ!

エレキベア
それなら仕方なさそうクマね・・・

マイケル
とはいえ、ニフクラだとマジで爆速で実装できたから、
今日はその手順を紹介するぜ!
今日はその手順を紹介するぜ!

エレキベア
楽しみクマ〜〜〜
ニフクラの導入

マイケル
基本的には公式の手順に沿って準備すればOKです!
クイックスタート | ニフクラ mobile backend

エレキベア
この記事を読む必要はないクマね
〜完〜

マイケル
それでも説明します!

エレキベア
(いらんくだりだったクマ・・・)
ユーザ、アプリの作成

マイケル
まずはユーザを作成しましょう!
下記サイトの今すぐ無料登録をクリック!
下記サイトの今すぐ無料登録をクリック!

エレキベア
(怪しい商売みたいクマ・・・)

マイケル
ログインまでできたら、
画面左上の「+新しいアプリ」からアプリ情報を作成しましょう!
画面左上の「+新しいアプリ」からアプリ情報を作成しましょう!

マイケル
作成後に表示される
・アプリケーションキー
・クライアントキー
はUnity側の設定で使用するため、メモしておきましょう!
・アプリケーションキー
・クライアントキー
はUnity側の設定で使用するため、メモしておきましょう!

エレキベア
ばっちりクマ〜〜〜〜
Unity SDKの導入

マイケル
次はSDKをUnityにインストールします!
下記GitHubからダウンロードしてUnityへインポートしましょう!
下記GitHubからダウンロードしてUnityへインポートしましょう!
Releases · NIFCLOUD-mbaas/ncmb_unity

マイケル
インポートしたら「Assets/Prefabs/NCMBSettings.prefab」に
先ほど取得したアプリケーションキー、クライアントキーを入力します!
先ほど取得したアプリケーションキー、クライアントキーを入力します!

エレキベア
ばっちり設定したクマ〜〜〜

マイケル
そしてNCMBとの連携には
・Assets/Prefabs/NCMBSettings.prefab
・Assets/Prefabs/NCMBManager.prefab
が必要なため、これら2つをシーンビューに配置しておきましょう!
・Assets/Prefabs/NCMBSettings.prefab
・Assets/Prefabs/NCMBManager.prefab
が必要なため、これら2つをシーンビューに配置しておきましょう!

エレキベア
ドラッグアンドドロップクマね

マイケル
以上で準備は完了です!!

エレキベア
余裕だったクマね
ランキング機能の実装

マイケル
準備ができたところでランキング機能を実装していきましょう!
レコード情報の登録

マイケル
レコードの登録処理については
テーブル名を指定したNCMBObjectに各項目に値を設定してSaveAsyncを呼び出すだけ!
するとニフクラ管理画面でもテーブル、レコードの両方が作成されていることが確認できるはずです!
テーブル名を指定したNCMBObjectに各項目に値を設定してSaveAsyncを呼び出すだけ!
するとニフクラ管理画面でもテーブル、レコードの両方が作成されていることが確認できるはずです!
↑レコード登録処理

エレキベア
PlayFabでの苦労はなんだったんだクマ・・・

マイケル
この時、渡した値の型で保存されることには注意しましょう!
スコアのような数値の場合には、数値型で渡さなければなりません!
スコアのような数値の場合には、数値型で渡さなければなりません!
レコード情報の取得

マイケル
そしてレコードの取得処理についても簡単で、
下記のようにクエリを指定してFindAsyncを呼び出すだけ!
NCMBObjectのリストとして返却されます!
下記のようにクエリを指定してFindAsyncを呼び出すだけ!
NCMBObjectのリストとして返却されます!
↑レコード取得処理

エレキベア
SQLのような使い方ができるクマね

マイケル
NCMBQueryにはいろんなオプションを追加できるから、
詳しくは公式ドキュメントを見てみよう!
詳しくは公式ドキュメントを見てみよう!
NCMB Unity SDK Library Project
NCMB.NCMBQuery< T >

エレキベア
シンプルで使いやすいクマ〜〜〜
補足:iOSビルドのエラー解消

マイケル
最後に、ニフクラをUnityに導入した場合に発生した
iOSビルドエラーの解消についてメモしておきます!
iOSビルドエラーの解消についてメモしておきます!
CocoaPodsのバージョンアップ

マイケル
Unityでのビルド時に、下記のようなエラーが出た場合には
CocoaPodsのバージョンアップが必要です!
今回の場合は「requires CocoaPods version `>= 1.10.2`」とエラーが出ているので、
1.10.2以上に更新する必要があります。
CocoaPodsのバージョンアップが必要です!
今回の場合は「requires CocoaPods version `>= 1.10.2`」とエラーが出ているので、
1.10.2以上に更新する必要があります。
↑Unityビルド時のエラー

マイケル
そのためターミナルで下記コマンドを実行して
バージョンを更新しましょう。
バージョンを更新しましょう。

マイケル
これでビルドができるようになるはずです!

エレキベア
プラグインのバージョンに合わせる必要があるクマね
AuthenticationServices.frameworkの追加

マイケル
そして次にXcodeでのビルド時に下記のようなエラーが出た場合です。

エレキベア
まだエラーが出るクマか・・・

マイケル
これはunityFrameworkが足りていないだけなので、
UnityFramework -> Generalから
AuthenticationServices.frameworkを追加しましょう!
UnityFramework -> Generalから
AuthenticationServices.frameworkを追加しましょう!

マイケル
以上でXcodeもビルドが通るようになるはずです!

エレキベア
やったクマ〜〜〜

マイケル
補足として、UnityのEditorフォルダ配下に、
下記のようにPostBuild処理でXCodeプロジェクトを編集するように記述すると
手動で追加する手間を省くことができます。
下記のようにPostBuild処理でXCodeプロジェクトを編集するように記述すると
手動で追加する手間を省くことができます。
↑PostBuild時にframeworkを追加する

マイケル
frameworkの追加やInfo.plistの編集処理等は
覚えておいて損はないので、手動で追加している方はぜひ実装してみましょう!
覚えておいて損はないので、手動で追加している方はぜひ実装してみましょう!

エレキベア
確かに便利クマ〜〜〜
おわりに

マイケル
というわけで、以上を使って実装しなおしたのが下記になるよ!
ゲーム後にランキング登録するパターンだね!
ゲーム後にランキング登録するパターンだね!

エレキベア
よくあるパターンクマね
それにしてもここまで簡単だとは思ってなかったクマ
それにしてもここまで簡単だとは思ってなかったクマ

マイケル
モバイルゲーム機能が豊富なのはPlayFabかもしれないけど、
シンプルなゲームならニフクラで充分かもしれないね!
シンプルなゲームならニフクラで充分かもしれないね!

マイケル
便利なものはこれからもどんどん使っていこう!
それでは今日はこの辺で!アデューー!!
それでは今日はこの辺で!アデューー!!

エレキベア
クマ〜〜〜〜〜
【Unity】ニフクラ mobile backendでランキング機能を爆速で実装する【mBaaS】 〜完〜
※↓ニフクラとAdmobの競合解消についてはこちら!