XamarinはC#を使ったクロスプラットフォームなスマートフォンアプリ開発環境です。最近、コロナウイルス追跡アプリを作ったフレームワークとして注目されるようになりました。
NCMBではC#を使った開発環境としてUnityに対応していますが、あれはiOS/Android SDKをラッピングしているので、Xamarinでそのまま利用できません。C#のみで実装する必要があります。
ここでは現在開発中のXamarin用SDK(非公式)の使い方を紹介します。NuGetを使ったインストール方法を解説します。
Visual Studioでプロジェクトを立ち上げる
今回はXamarinプロジェクトを対象として、Visual Studioで新しいプロジェクトを作成しました。
NuGetでSDKをインポートする
Visual StudioのNuGetを使って、NCMB SDKをインポートします。
NuGet Gallery | NCMBClient 0.1.0
これでインストール完了です。
使い方
使い方はまず、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くらい)。
プッシュ通知、デバイストークンの取得などは別ライブラリ化した方がよさそうというアドバイスをもらっています。将来的にはそうした機能も対応予定です。