okaryo.log

Widgetなどを指定した期間非表示にするlong_time_no_notificationというFlutterパッケージを作った | okaryo.log

Widgetなどを指定した期間非表示にするlong_time_no_notificationというFlutterパッケージを作った

    #Flutter#個人開発

はじめに

2個目のFlutterパッケージであるlong_time_no_notificationを作った。1個目のパッケージ作成の記事はこちら

pub.dev

GitHub

何を解決してくれるパッケージか

例えば、以下のようにアプリ内に通知を表示させたとする。

notification_demo

要件として、ユーザーがその通知を一度閉じたら永遠に、または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の方で受け付けているのでお気軽にイシューを作成していただきたい。


関連記事
最新記事
プロモーション

This site uses Google Analytics.