ニフクラ mobile backend(NCMB)では公式として各種フレームワーク、環境向けにSDKを提供しています。その1つにUnityがあります。Unity向けに開発を行う際にはC#を利用しますが、このUnity用SDKは.NET環境では利用できません。
そこでコミュニティSDKとしてXamarinや.NET 2.0でも動作するC# SDKを開発しています。今回のバージョンアップ(1.2.0)でファイルストアのCRUD操作に対応したので使い方を解説します。
NuGet Gallery | NCMBClient 1.2.0
NCMBをインストール
任意のプロジェクトをVisual Studioで開きます。
そしてプロジェクトを右クリックして、NuGetパッケージの管理を選択します。
出てきたウィンドウで、NCMBClientを検索します。執筆時点での最新版は1.0.0です。これを追加します。
NCMBをインポートする
MainPage.xaml.cs
を開きます。そして、namespaceの下でNCMBClientをインポートします。
namespace MyMauiApp;
using NCMBClient;
クラスの初期化時にNCMBも初期化します。キーはニフクラ mobile backendより取得してください。
public MainPage()
{
InitializeComponent();
new NCMB("YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY");
}
ファイルストアの使い方
これまでファイルストアへのアップロードには対応していました。
// テキストで指定する場合
var str = "1,2,3";
var data = System.Text.Encoding.ASCII.GetBytes(str);
var file = new NCMBFile("test2.csv", data, "text/csv");
await file.Save();
// バイナリファイルの場合
var data = File.ReadAllBytes("ncmb.png");
var file = new NCMBFile("ncmb.png", data, "image/png");
await file.Save();
CRUDの他の操作については以下のように行います。
ファイルの内容を更新する
ファイル内容を更新する場合には、保存と同じように行います。 data
プロパティに内容を付けます。
// テキストで指定する場合
var str = "1,2,3";
var data = System.Text.Encoding.ASCII.GetBytes(str);
var file = new NCMBFile("test2.csv", data, "text/csv");
await file.Save();
// テキストで指定する場合
var str2 = "1,2,3,4,5";
var data2 = System.Text.Encoding.ASCII.GetBytes(str);
file.data = data2;
await file.Save();
コンテンツダウンロード
ファイルの内容は以下のようにダウンロードします。2種類あるので、使いやすい方を使ってください。
var file = new NCMBFile("test2.csv");
var data = await file.Download();
// そのあとは file.data でアクセス可能
クラスメソッドからも利用できます。この場合はコンテンツだけが返ってきます。
var data = await NCMBFile.download("test2.csv");
ファイルの検索
ファイル検索はNCMBQueryを使います。
var query = NCMBFile.Query();
query.EqualTo("fileName", fileName);
var ary = await query.FetchAll();
ファイルの削除
削除は Delete
メソッドです。
var file = new NCMBFile("test2.csv");
await file.Delete();
まとめ
C# SDKはXamarinで使えばiOSやAndroidはもちろん、Linux/macOS/Windowsアプリも開発できます。.NET環境であればWebやCLI開発でも利用できます。ぜひ皆さんのアプリ、Webアプリ開発に利用してください。