代码之家  ›  专栏  ›  技术社区  ›  Daibaku

每24小时更新一次Firebase的最佳方法是什么?

  •  0
  • Daibaku  · 技术社区  · 6 年前

    Firestore document
    例如,每天早上都有一个quote应用程序和更新quote到一个新的应用程序,这样用户就可以看到不同的quote。
    我不介意在iOS设备上执行代码还是在Android上执行代码,因为我有两部手机。

    做这个最好的方法是什么?

    1 回复  |  直到 6 年前
        1
  •  0
  •   timr    6 年前

    好消息是有可能的。

    背景任务

    打开 Android 你会用 WorkManager 安卓 用于在将来某处安排任务的框架(不支持精确的小时数)。

    打开 iOS Background Fetch 在XCode中或手动编辑 Info.plist 文件。

    <key>UIBackgroundModes</key>
      <array>
        <string>fetch</string>
      </array>
    </key>
    

    enter image description here

    因为有很多仪式把所有的东西连接在一起 Flutter 帮助你的插件。

    flutter_workmanager 插件同时支持 工作经理 performFetch 在一个统一的Dart API中。

    void callbackDispatcher() {
      Workmanager.executeTask((backgroundTask) {
        switch(backgroundTask) {
          case Workmanager.iOSBackgroundTask:
          case "firebaseTask":
            print("You are now in a background Isolate");
            print("Do some work with Firebase");
            Firebase.doSomethingHere();
            break;
        }
        return Future.value(true);
      });
    }
    
    void main() {
      Workmanager.initialize(callbackDispatcher);
      Workmanager.registerPeriodicTask(
        "1",
        "firebaseTask",
        frequency: Duration(days: 1),
        constraints: WorkManagerConstraintConfig(networkType: NetworkType.connected),
      );
      runApp(MyApp());
    }
    
        2
  •  -1
  •   Ascension    6 年前

    抱歉,在这种情况下,您需要在Android上使用WorkManager。这是在这种情况下使用后台服务的一种方法。在iOS中我不知道怎么做。

    我认为这不可能在flutr中创建后台服务,因为它是在其他上下文中运行的。