ニフクラ mobile backend(NCMB)では公式として各種フレームワーク、環境向けにSDKを提供しています。その1つにUnityがあります。Unity向けに開発を行う際にはC#を利用しますが、このUnity用SDKは.NET環境では利用できません。
そこでコミュニティSDKとしてXamarinや.NET 2.0でも動作するC# SDKを開発しています。今回のバージョンアップでスクリプト実行にも対応したので使い方を解説します。
NuGet Gallery | NCMBClient 1.0.0
NCMBをインストール
任意のプロジェクトをVisual Studioで開きます。
そしてプロジェクトを右クリックして、NuGetパッケージの管理を選択します。
出てきたウィンドウで、NCMBClientを検索します。執筆時点での最新版は1.0.0です。これを追加します。
NCMBをインポートする
MainPage.xaml.cs
を開きます。そして、namespaceの下でNCMBClientをインポートします。
namespace MyMauiApp;
using NCMBClient;
インスタンス変数としてNCMBを定義します。
public partial class MainPage : ContentPage
{
int count = 0;
// 追加
NCMB ncmb;
クラスの初期化時にNCMBも初期化します。キーはニフクラ mobile backendより取得してください。
public MainPage()
{
InitializeComponent();
ncmb = new NCMB("YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY");
}
スクリプトオブジェクトの作成
まずスクリプトオブジェクトを作成します。引数はアップロードしたスクリプトのファイル名です。
var script = new NCMBScript("script_test_put.js");
ヘッダー、ボディ、クエリーの指定
スクリプトはヘッダー、ボディ、クエリーを指定できます。
ヘッダーの指定
script.Header('foo1', 'bar1');
script.Header('foo2', 'bar2');
クエリーの指定
script.Query('hoge1', 'fuga1');
script.Query('hoge2', 'fuga2');
ボディの指定
ボディはPOST/PUTメソッドの時しか使えません。
// Only POST or PUT method
script.Body('hoge2', 'fuga2');
script.Body('hoge3', 'fuga3');
実行
実行は各HTTPメソッドごとにメソッドを用意しています。バイナリのレスポンスを受け取る場合には 〜Byteを使ってください。
GET
var result = await script.Get();
// バイナリの場合
var result = await script.GetByte();
POST
var result = await script.Post();
// バイナリの場合
var result = await script.PostByte();
PUT
var result = await script.Put();
// バイナリの場合
var result = await script.PutByte();
DELETE
var result = await script.Delete();
// バイナリの場合
var result = await script.DeleteByte();
レスポンス
通常は JObject
型でレスポンスを返します。〜Byteの場合は Byte[]
で返却します。
まとめ
C# SDKはXamarinで使えばiOSやAndroidはもちろん、Linux/macOS/Windowsアプリも開発できます。.NET環境であればWebやCLI開発でも利用できます。ぜひ皆さんのアプリ、Webアプリ開発に利用してください。