Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 向用户发送颤振推送通知_Flutter_Dart_Push Notification_Flutter Dependencies - Fatal编程技术网

Flutter 向用户发送颤振推送通知

Flutter 向用户发送颤振推送通知,flutter,dart,push-notification,flutter-dependencies,Flutter,Dart,Push Notification,Flutter Dependencies,我正在开发一个订购产品的客户端应用程序,我想在特定用户的订单被接受并且交付给他时,为其推送通知,我对flutter是新手,不知道如何开始 实现这一点并获得良好性能的正确方法是什么,我不知道从哪种方法开始?您应该尝试阅读此软件包的文档,也许这会对您有所帮助。 它将您要发送给用户的通知存储在用户的手机上,并通过计时器或在您触发某些操作时发送。您必须在main.dart的主函数中初始化包。我已经用一个报警应用程序试用过这个软件包,效果很好。你应该尝试阅读这个软件包的文档,也许这会对你有所帮助。 它将您

我正在开发一个订购产品的客户端应用程序,我想在特定用户的订单被接受并且交付给他时,
为其推送通知
,我对flutter是新手,不知道如何开始


实现这一点并获得良好性能的正确方法是什么,我不知道从哪种方法开始?

您应该尝试阅读此软件包的文档,也许这会对您有所帮助。
它将您要发送给用户的通知存储在用户的手机上,并通过计时器或在您触发某些操作时发送。您必须在
main.dart
的主函数中初始化包。我已经用一个报警应用程序试用过这个软件包,效果很好。

你应该尝试阅读这个软件包的文档,也许这会对你有所帮助。
它将您要发送给用户的通知存储在用户的手机上,并通过计时器或在您触发某些操作时发送。您必须在
main.dart
的主函数中初始化包。我用一个报警应用程序试用了这个软件包,效果很好。

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

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'),
      ),
    );
  }
class\u MyAppState扩展状态{
flatterLocalNotificationsPlugin flatterLocalNotificationsPlugin=
flatterLocalNotificationsPlugin();
定时器;
@凌驾
void initState(){
super.initState();
var初始化设置和ROID=
AndroidInitializationSettings(“颤振开发者”);
var initializationSettingsIOs=IOSInitializationSettings();
var initSetttings=初始化设置(
初始化设置和ROID,初始化设置SIOS);
FlatterLocalNotificationsPlugin.initialize(初始化设置,
onSelectNotification:onSelectNotification);
timer=timer.periodic(持续时间(秒:15),(timer t)=>showNotification());
}
@凌驾
无效处置(){
计时器?.cancel();
super.dispose();
}
未来onSelectNotification(字符串负载){
Navigator.of(context).push(MaterialPageRoute(builder:){
返回MyApp();
}));
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:新的appBar(
背景颜色:Colors.red,
标题:新文本(“颤振通知演示”),
),
);
}

非常感谢@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'),
      ),
    );
  }
class\u MyAppState扩展状态{
flatterLocalNotificationsPlugin flatterLocalNotificationsPlugin=
flatterLocalNotificationsPlugin();
定时器;
@凌驾
void initState(){
super.initState();
var初始化设置和ROID=
AndroidInitializationSettings(“颤振开发者”);
var initializationSettingsIOs=IOSInitializationSettings();
var initSetttings=初始化设置(
初始化设置和ROID,初始化设置SIOS);
FlatterLocalNotificationsPlugin.initialize(初始化设置,
onSelectNotification:onSelectNotification);
timer=timer.periodic(持续时间(秒:15),(timer t)=>showNotification());
}
@凌驾
无效处置(){
计时器?.cancel();
super.dispose();
}
未来onSelectNotification(字符串负载){
Navigator.of(context).push(MaterialPageRoute(builder:){
返回MyApp();
}));
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:新的appBar(
背景颜色:Colors.red,
标题:新文本(“颤振通知演示”),
),
);
}

非常感谢您在操作发生时帮助我发送推送通知,现在我应该一直听API,直到实现为止。如何才能确保您有任何信息。@Nehalosama您可以提供一些您开始键入的代码或类似的内容吗?您可以制作一个方法,在购买后API调用返回时触发推送通知。他re是一个可能有帮助的repo,尝试克隆它并检查代码,然后尝试在项目中实现它。它使用我上面提到的包,本地通知包。在这个应用程序中,在时间推送通知之后,但在我的情况下,我应该每次调用API,如果返回true调用方法来推送通知,则会影响性能l多次执行此操作,如果客户端关闭应用程序,他在这段时间内无法收到通知。@Nehalosma然后,不要在添加API调用触发器时,创建一个方法,该方法可能是
async
,或者创建一个
Future.delayed
,当API返回时,它将触发该方法并发送推送通知ed,我制作了一个APK,即使应用程序在后台或关闭时也能正常工作,但在手机关闭时无法正常工作。非常感谢您帮助我在操作发生时推送通知,现在我应该一直听API,直到实现为止。我如何才能做到这一点?您有任何信息。@Nehalosama您能提供一些您启动的代码吗你可以创建一个方法,当购买后API调用返回时触发推送通知。下面是一个可能有用的repo,尝试克隆它并遍历代码,然后尝试在你的项目中实现它。它使用我上面提到的包,本地通知包。在这个应用程序中,after time push notifi阳离子,但在我的情况下,我应该每次调用API,如果返回true call方法来推送通知,则多次调用会影响性能,如果客户端关闭应用程序,则此时他无法接收通知。@Nehalosma然后,不必在添加API调用触发器时,创建一个方法,该方法可能是
async
,或者创建一个
Future.delayed
,当API返回时,它将触发该方法并发送推送通知。通过我提供的repo,我制作了一个APK,即使在后台或关闭应用程序时,它也能正常工作,但当手机关闭时它不会工作。这回答了你的问题吗?@LOLWTFasdasd Unfortun