FlutterはDartで書かれたフレームワークになります。元々iOSやAndroidといったスマートフォン向けでしたが、今ではWebやWindows、macOSといったマルチプラットフォームで動作します。Flutter/Dartを覚えることで、多くの環境に対してアプリケーション開発が可能になります。
NCMBでは公式SDKを提供していませんが、非公式に開発を進めているFlutter SDKがあります。元々ベータとして0.1系でしたが、大幅な機能変更に合わせて v2 になりました。
この記事では、初期化の方法とデバイストークンを扱うプッシュ通知の使い方を紹介します。
インストール
pubspec.yaml を編集します。
dependencies: ncmb: ^2.0.2
そして dart pub get
でインストールできます。
使い方
任意のファイル上でライブラリを読み込みます。
import 'package:ncmb/ncmb.dart';
そしてNCMBオブジェクトを初期化します。
NCMB('APPLICATION_KEY', 'CLIENT_KEY');
プッシュ通知のインスタンス作成
プッシュ通知のインスタンス作成を作成するにはNCMBPushを利用します。
var push = NCMBPush();
プッシュ通知の作成
プッシュ通知を作成する際にはimmediateDeliveryFlagまたはdeliveryTimeが必須になるので注意してください。
var push = NCMBPush(); push ..set('immediateDeliveryFlag', true) ..set('message', 'Hello'); await push.save();
絞り込み条件の指定
プッシュ通知の送信先を絞り込むsearchConditionにはNCMBQueryが利用できます。
var query = NCMBPush.query(); query.equalTo('a', 'b'); var push = NCMBPush(); push ..set('immediateDeliveryFlag', true) ..set('searchCondition', query) ..set('message', 'Hello'); await push.save();
プッシュ通知の更新
更新も set メソッドを使います。そして save メソッドで保存します。
var push = NCMBPush(); push ..set('immediateDeliveryFlag', true) ..set('message', 'Hello'); await push.save(); push ..set('message', 'Hello, world'); await push.save();
プッシュ通知の取得
1件のプッシュ通知を取得する際には fetch メソッドを使います。クラウドからデータを取得し直す際に便利です。
await push.fetch();
プッシュ通知の検索
検索する際には query メソッドを使ってNCMBQueryを取得してください。
var query = NCMBPush.query(); var items = await query.fetchAll();
プッシュ通知の削除
削除は delete メソッドになります。
await push.delete();
コード
コードはオープンソースで、GitHub上で公開しています。ライセンスはMIT Licenseになります。
NCMBMania/ncmb-dart: NCMB library for Dart and Flutter.
Flutter依存の部分を削除していますので、純粋なDartライブラリとして利用可能です。また、ネイティブアプリ部分も削除していますので、Flutter for Webでも利用可能です。
まとめ
Flutterを覚えればiOS、Androidアプリともに一つのコードで書けるようになります。DartはJavaScriptライクな言語で、JavaScriptをマスターしている人であれば、それほど苦労せずにDartを書けるようになるでしょう。ぜひFlutterを使ったアプリ開発にNCMBをご利用ください!