Widgetなどを指定した期間非表示にするlong_time_no_notificationというFlutterパッケージを作った
はじめに
2個目のFlutterパッケージであるlong_time_no_notification
を作った。1個目のパッケージ作成の記事はこちら。
何を解決してくれるパッケージか
例えば、以下のようにアプリ内に通知を表示させたとする。
要件として、ユーザーがその通知を一度閉じたら永遠に、または7日間は表示させないようにする必要があるとする。
また、表示させるべきかどうかはAPI側から返ってこない、つまり、クライアント側でユーザーがその通知を閉じたかどうかの情報を保持しておく必要があるとする。
こんなときに役に立つのがlong_time_no_notification
だ。
使い方
使い方は簡単!
どの通知(またはWidget)を表示させないようにするかを識別するための一意のIDを関数に渡すだけだ。
// 永遠に表示させないようにする
LongTimeNoNotification.setForever(id: 'id_1');
// 7日間だけ表示させないようにする
LongTimeNoNotification.setDuration(id: 'id_2', duration: const Duration(days: 7);
// id_3で登録した通知(またはWidget)の状況を確認する
final notification = await LongTimeNoNotification.findBy('id_3');
// 上記で取得した通知(Widget)を表示すべきか確認する
notification.shouldNotify();
// 次に表示する日時はいつか確認する
notification.nextDisplayAt;
// 最後に表示した日時を確認する
notification.lastDisplayAt;
APIレファレンスに各メソッドの詳細が書かれているので気になる方は確認されたい。
おわり
使ってみて良かった方はぜひpub.devとGitHubでLikeとスターをつけていただけると嬉しい。
また、バグ報告や機能追加依頼などもGitHubの方で受け付けているのでお気軽にイシューを作成していただきたい。