如何在扑动中实现推送通知

问题描述:

您好我试图实现推动通知扑动如何显示为通知任何人都可以帮助,我可以听我收到通知,但我无法看到味精和它表现为警报,但我想作为通知任何一个可以帮助在Android或iOS我们应该正确的清单文件和应用程序的委托文件,这个东西在颤动如何在扑动中实现推送通知

和我的代码看起来像这样

class PushMessagingExample extends StatefulWidget { 
@override 
_PushMessagingExampleState createState() => new _PushMessagingExampleState(); 
} 

class _PushMessagingExampleState extends State<PushMessagingExample> { 
String _homeScreenText = "Waiting for token..."; 
bool _topicButtonsDisabled = false; 

final FirebaseMessaging _firebaseMessaging = new FirebaseMessaging(); 
final TextEditingController _topicController = 
new TextEditingController(text: 'topic'); 

Future<Null> _showItemDialog(Map<String, dynamic> message) async { 
final Item item = _itemForMessage(message); 
showDialog<Null>(
    context: context, 
    child: new AlertDialog(
     content: new Text("Item ${message} has been updated"), 
     actions: <Widget>[ 
     new FlatButton(
      child: const Text('CLOSE'), 
      onPressed:() { 
       Navigator.pop(context, false); 
      }), 
     new FlatButton(
      child: const Text('SHOW'), 
      onPressed:() { 
       Navigator.pop(context, true); 
      }), 
     ], 
    )).then((bool shouldNavigate) { 
    if (shouldNavigate == true) { 
    _navigateToItemDetail(message); 
    } 
}); 
} 

Future<Null> _navigateToItemDetail(Map<String, dynamic> message) async  { 
final Item item = _itemForMessage(message); 
// Clear away dialogs 
Navigator.popUntil(context, (Route<dynamic> route) => route is PageRoute); 
if (!item.route.isCurrent) { 
    Navigator.push(context, item.route); 
} 
} 

    @override 
void initState() { 
    super.initState(); 
_firebaseMessaging.configure(
    onMessage: (Map<String, dynamic> message) { 
    print("onMessage: $message"); 
    print(message); 
    _showItemDialog(message); 
    }, 
    onLaunch: (Map<String, dynamic> message) { 
    print("onLaunch: $message"); 
    print(message); 
    _navigateToItemDetail(message); 
    }, 
    onResume: (Map<String, dynamic> message) { 
    print("onResume: $message"); 
    print(message); 
    _navigateToItemDetail(message); 
    }, 
); 
_firebaseMessaging.requestNotificationPermissions(
    const IosNotificationSettings(sound: true, badge: true, alert: true)); 
_firebaseMessaging.onIosSettingsRegistered 
    .listen((IosNotificationSettings settings) { 
    print("Settings registered: $settings"); 
}); 
_firebaseMessaging.getToken().then((String token) { 
    assert(token != null); 
    setState(() { 
    _homeScreenText = "Push Messaging token: $token"; 
    }); 
    print(_homeScreenText); 
}); 
} 

@override 
Widget build(BuildContext context) { 
return new Scaffold(


    body: new Material(
     child: new Column(
     children: <Widget>[ 
      new Center(
      child: new Text(_homeScreenText), 
     ), 

     ], 
    ), 
    )); 
    } 

    } 

如果您试图在锁定屏幕上显示消息,请确保您发送的是“通知”消息类型,而不是“数据”消息被传送到正在运行的应用程序。您可以在Firebase开发人员指南中了解有关different types of Firebase messages的更多信息。

+0

我在锁定屏幕上收到通知,但我没有得到当屏幕处于活动状态,并且其他应用程序打开时,此应用程序的通知应该显示 –