一次

想要运行/显示一段代码/小部件一次(一次 - 每小时 - 每天 - 每周 - 每月 - 每次新版本 - 任何自定义时长)?我们能满足您。


有些事情应该一次发生。

  • 用户应该只在一次看到引导式教程。
  • 发布说明应该只在每次新应用版本发布时弹出。
  • 等等…每次(任何您想要的)

Once 支持 runOncerunOnEveryNewVersionrunEvery12HoursrunHourlyrunDailyrunOnNewDayrunWeeklyrunMonthlyrunOnNewMonthrunYearlyCustom (Duration)

有些小部件应该一次显示。

  • 用户应该只看到OnceWidget引导式小部件。
  • 发布说明小部件应该只在每次新应用版本发布时弹出OnceWidget
  • 等等…每次(任何您想要的)OnceWidget

OnceWidgets 支持 showOnceshowOnEveryNewVersionshowEvery12HoursshowHourlyshowDailyshowOnNewDayshowWeeklyshowMonthlyshowOnNewMonthshowYearlyCustom (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 制作

GitHub

查看 Github