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

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

Flutter(Dart)用NCMB SDKの機能について(ACLの使い方)

f:id:mbaasdevrel:20200110154553p:plain

非公式ですが、Flutter(Dartでも)で使えるNCMB SDKを開発しています。

ncmb | Dart Package

今回はデータストアでアクセス制御を行う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を活用してください!

NCMBMania/ncmb-dart: NCMB library for Dart and Flutter.

中津川 篤司

中津川 篤司

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