XamarinはC#を使ったクロスプラットフォームなスマートフォンアプリ開発環境です。最近、コロナウイルス追跡アプリを作ったフレームワークとして注目されるようになりました。
NCMBではC#を使った開発環境としてUnityに対応していますが、あれはiOS/Android SDKをラッピングしているので、Xamarinでそのまま利用できません。C#のみで実装する必要があります。
ここでは現在開発中のC#用SDK(非公式)の使い方を紹介します。今回はACLの使い方について解説します。
インストールについて
C# SDKはNuGetで公開していますので、Visual Studioなどでインポートできます。
使い方
使い方はまず、NCMBClientを読み込みます。
using NCMBClient;
初期化
初期化は次のようにします。アプリケーションキー、クライアントキーは自分のものに変更してください。
var applicationKey = "70d...934"; var clientKey = "4d0...dff"; var ncmb = new NCMB(applicationKey, clientKey);
権限管理の使い方
権限管理はNCMBAclクラスを使います。
var acl = _ncmb.Acl(); acl.SetPublicReadAccess(true); acl.SetPublicWriteAccess(false); acl.SetRoleReadAccess("admin", true); acl.SetRoleWriteAccess("admin", true);
用意されているのは次のメソッドです。
- SetPublicReadAccess(Boolean bol)
- SetPublicWriteAccess(Boolean bol)
- SetUserReadAccess(NCMBUser user, Boolean bol)
- SetUserWriteAccess(NCMBUser user, Boolean bol)
- SetRoleReadAccess(String name, Boolean bol)
- SetRoleWriteAccess(String name, Boolean bol)
後はこれをデータストアなどのオブジェクトに適用するだけです。
var message = "Hello, world"; var item = _ncmb.Object("DataStoreTest"); item.Set("message", message); item.SetAcl(acl); item.Save();
NCMBUserはNCMBObjectを継承していますので、同じくAclが利用できます。
コードについて
コードはNCMBMania/ncmb_xamarin: Xamarin SDK for NCMBにアップロードしています。ライセンスはMIT Licenseになります。
まとめ
ACLを使うことで、データストアなどをセキュアに、安全に運用できるようになります。みなさんのC#アプリ、XamarinアプリでもNCMBを活用してください。