FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

C#用NCMB SDK(非公式)をリリースしました

f:id:mbaasdevrel:20200710131602p:plain

XamarinはC#を使ったクロスプラットフォームなスマートフォンアプリ開発環境です。最近、コロナウイルス追跡アプリを作ったフレームワークとして注目されるようになりました。

NCMBではC#を使った開発環境としてUnityに対応していますが、あれはiOS/Android SDKをラッピングしているので、Xamarinでそのまま利用できません。C#のみで実装する必要があります。

ここでは現在開発中のXamarin用SDK(非公式)の使い方を紹介します。NuGetを使ったインストール方法を解説します。

Visual Studioでプロジェクトを立ち上げる

今回はXamarinプロジェクトを対象として、Visual Studioで新しいプロジェクトを作成しました。

f:id:mbaasdevrel:20200722223322p:plain

NuGetでSDKをインポートする

Visual StudioのNuGetを使って、NCMB SDKをインポートします。

NuGet Gallery | NCMBClient 0.1.0

f:id:mbaasdevrel:20200722223312p:plain

これでインストール完了です。

使い方

使い方はまず、NCMBClientを読み込みます。

using NCMBClient;

初期化

初期化は次のようにします。アプリケーションキー、クライアントキーは自分のものに変更してください。

var applicationKey = "70d...934";
var clientKey = "4d0...dff";

var ncmb = new NCMB(applicationKey, clientKey);

データストアへの保存

データストアへの保存処理は次のようになります。メソッドチェーンが使えますので、データをセットしてそのまま保存が可能です。

var hello = ncmb.Object("Hello");
hello
  .Set("message", "Hello world!")
  .Set("number", 100)
  .Set("Bool", true)
  .Set("Date", DateTime.Now)
  .Save();

コードについて

コードはNCMBMania/ncmb_xamarin: Xamarin SDK for NCMBにアップロードしています。ライセンスはMIT Licenseになります。

まとめ

NuGet対応はかずき(Kazuki Ota)さん (@okazuki)の力により実現しました。この場を借りてお礼申し上げます。ネットワークとJSONによる柔軟なデータ操作が基本なので、殆どの操作はこのまま外部ライブラリへの依存を追加せずに進められそうです(現在はJSON.NETくらい)。

プッシュ通知、デバイストークンの取得などは別ライブラリ化した方がよさそうというアドバイスをもらっています。将来的にはそうした機能も対応予定です。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。