一次
想要运行/显示一段代码/小部件一次(一次 - 每小时 - 每天 - 每周 - 每月 - 每次新版本 - 任何自定义时长)?我们能满足您。
有些事情应该一次发生。
- 用户应该只在一次看到引导式教程。
- 发布说明应该只在每次新应用版本发布时弹出。
- 等等…每次(任何您想要的)。
Once 支持 runOnce、runOnEveryNewVersion、runEvery12Hours、runHourly、runDaily、runOnNewDay、runWeekly、runMonthly、runOnNewMonth、runYearly 和 Custom (Duration)。
有些小部件应该一次显示。
- 用户应该只看到OnceWidget引导式小部件。
- 发布说明小部件应该只在每次新应用版本发布时弹出OnceWidget。
- 等等…每次(任何您想要的)OnceWidget。
OnceWidgets 支持 showOnce、showOnEveryNewVersion、showEvery12Hours、showHourly、showDaily、showOnNewDay、showWeekly、showMonthly、showOnNewMonth、showYearly 和 Custom (Duration)。
用法
一次
主要运行器函数包括回调和回退
callback是运行并返回future<T?>的通用函数。fallback也是如此,但仅在该回调 future 返回 null 时运行。
现在您已准备就绪。假设您想在应用更新时显示新功能对话框
Once.runOnEveryNewVersion(
callback: () {
/* What's new in 2.3.2 version? dialog */
},
fallback: () {
/* Navigate to new screen */
},
);
或者您想每周向用户显示评价此应用的对话框
if (!rated) {
Once.runWeekly("ratingDialog",
callback: () {
/* Like our app, Please rate us. dialog */
},
fallback: () {
/* Thanks */
},
);
}
OnceWidget
主要构建器函数包括构建器和回退
builder是显示并返回Widget的通用函数。fallback也是如此,但仅在该回调 future 返回 null 时显示(默认为SizedBox.shrink())。
现在您已准备就绪。假设您想在应用更新时查看横幅小部件
OnceWidget.showOnEveryNewVersion(
builder: () {
return Container(...);
},
);
或者您想每周向用户显示评价此应用的对话框
OnceWidget.showWeekly("ratingDialog",
builder: () {
return Text('Hello, New Week');
},
fallback: () {
return Text('Hello!');
},
);
贡献者
受 Java 库 Once 的启发,由 Jon Finerty 制作