【问题标题】:Flutter Push Notification to userFlutter 向用户推送通知
【发布时间】:2021-05-13 04:18:39
【问题描述】:

我正在开发一个订购产品的客户端应用程序,我想在特定用户的订单被接受和交货到达他时为特定用户push notification,我是新来的,我不知道如何开始。

实现它并取得良好性能的正确方法是什么,我不知道从哪个开始?

【问题讨论】:

  • 这能回答你的问题吗? how to implement push notification in flutter
  • @LOLWTFasdasd 不幸的是,这对我没有帮助
  • 为什么对你没有帮助?您需要更具体,以便我们为您提供帮助。你在使用火力基地吗?您在使用自己的推送通知服务吗?
  • 我需要帮助,因为如果订单被接受,我的 API 会返回 true,然后我应该向用户推送通知,直到他接受他的订单。实现它的正确方法是什么?我以前没有在那工作过。

标签: flutter dart push-notification flutter-dependencies


【解决方案1】:

您应该尝试阅读此软件包的文档,也许这会对您有所帮助。 Local Push Notifications 它将您要发送给本地用户的通知存储在他们的手机上,并在计时器上或在您触发某些操作时发送。您必须在main.dart 的主函数中初始化包。我试过这个包和一个闹钟应用程序,它工作正常。

【讨论】:

  • 非常感谢您在操作发生时帮助我推送通知,现在我应该听 API 直到真正了解您的任何信息。
  • @Nehalosama 你能提供一些你开始输入的代码或类似的东西吗?您可以制定一种方法,在购买后 API 调用返回时触发推送通知。这是一个可能对link 有帮助的存储库,尝试克隆它并检查代码,并尝试在您的项目中实现它。它使用我上面提到的包,本地通知包。
  • 在时间推送通知后在此应用程序中,但在我的情况下,如果返回 true 调用方法来推送通知,我应该每次调用 API,如果调用不止一次并且客户端关闭应用程序,则会影响性能这段时间他收不到通知。
  • @Nehalosama 然后不是添加 API 调用触发器的时间,而是创建一个可能是 async 或 Future.delayed 的方法,当 API 返回时,它将触发该方法并发送推送通知。使用我提供的 repo,我制作了一个 APK,即使应用程序在后台或关闭,它也能正常工作,但在手机关闭时它不起作用。
【解决方案2】:

非常感谢 @GrandMagus 的帮助,这是我的问题的解决方案

class _MyAppState extends State<MyApp> {
  FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
      FlutterLocalNotificationsPlugin();
  Timer timer;

  @override
  void initState() {
    super.initState();
    var initializationSettingsAndroid =
        AndroidInitializationSettings('flutter_devs');
    var initializationSettingsIOs = IOSInitializationSettings();
    var initSetttings = InitializationSettings(
        initializationSettingsAndroid, initializationSettingsIOs);

    flutterLocalNotificationsPlugin.initialize(initSetttings,
        onSelectNotification: onSelectNotification);
    timer=Timer.periodic(Duration(seconds: 15), (Timer t) => showNotification());
  }

  @override
  void dispose() {
    timer?.cancel();
    super.dispose();
  }
  Future onSelectNotification(String payload) {
    Navigator.of(context).push(MaterialPageRoute(builder: (_) {
      return MyApp();
    }));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
        backgroundColor: Colors.red,
        title: new Text('Flutter notification demo'),
      ),
    );
  }

【讨论】:

    猜你喜欢
    • 2020-02-14
    • 2018-12-23
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多