非公式ですが、Flutter(Dartでも)で使えるNCMB SDKを開発しています。
今回はデータストアでアクセス制御を行うACLの使い方について紹介します。
SDKのインポート
まずはSDKをインポートします。pubspec.yamlは以下のように記述します。
dependencies: ncmb: ^0.0.7
コードでは次のようにインポートします。
import 'package:ncmb/ncmb.dart';
Flutterであれば flutter pub get
、Dartであれば pub get
でライブラリをインポートできます。Visual Studio Codeであれば、エディタからインポートできるでしょう。
SDKの初期化
次にSDKを初期化します。
NCMB ncmb = new NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY');
データストアのインスタンス作成
初期化したら、データストアのインスタンスを作成します。この辺りはSwift/Objective-C/JavaなどのSDKに近いです。
var item = ncmb.NCMBObject('Item');
そしてACLを作成します。
var acl = ncmb.Acl();
ACLの使い方
ACLのメソッドはJavaScript SDKに似せています。破壊的メソッドなので、カスケード記法が使えます。
acl ..setPublicReadAccess(true) ..setPublicWriteAccess(false) ..setRoleWriteAccess('Admin', true) ..setUserWriteAccess('aaaaa', true);
後はデータストアにセットして保存するだけです。
item3 ..set('new', 'message') ..set('acl', acl);
まとめ
ACLを使うことで、より細かくデータアクセスを制御できます。今後、さらにバージョンアップを行っていきます。なお、ソースコードは下記のリポジトリにて公開しています。ライセンスはMIT Licenseです。ぜひFlutterでもNCMBを活用してください!