Firebase 通知不会发出声音或振动

Ric*_*itz 5 push-notification flutter firebase-cloud-messaging

因此,我在我的 futter 应用程序上启用了 firebase 消息传递,一切正常,但是,当我在应用程序中收到通知时,它不会发出声音或振动,无论是 android 还是 ios。我相信 FCM 默认情况下会执行此操作,我也有“IosNotificationSettings(声音:true,徽章:true,alert:true)”,但通知只是静音。你们知道会发生什么吗?我搜索了这种情况,但找不到任何相关信息。在此先感谢您的帮助。

class _HomeScreenState extends State<HomeScreen>
with SingleTickerProviderStateMixin {

 String _homeScreenText = "Waiting for token...";

 final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();

 static const String contato = "contato";

 TabController _tabController;

 @override
 void initState() {
    _tabController = new TabController(length: 5, vsync: this);
    super.initState();

    _firebaseMessaging.configure(
       onMessage: (Map<String, dynamic> message) {
         print('on message $message');
       },
       onResume: (Map<String, dynamic> message) {
         print('on resume $message');
       },    
       onLaunch: (Map<String, dynamic> message) {
       print('on launch $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);
     });

     _firebaseMessaging.getToken().then((token) {
     Firestore.instance.collection("pushtokens").document().setData({"devtoken": token});
     });
    }
Run Code Online (Sandbox Code Playgroud)

Leo*_*Leo 1

要启用通知声音,您需要sound: default在通知数据中添加如下部分:

{
  data: {
    google.sent_time: 1588863942303, 
    click_action: FLUTTER_NOTIFICATION_CLICK, 
    google.original_priority: high,
    collapse_key: YourPackageName,
    google.delivered_priority: high,
    sound: default,
    from: YourSenderId,
    google.message_id: 0:1588863942508709%a91ceea4a91ceea4,
    google.ttl: 60
  },
  notification: {}
}
Run Code Online (Sandbox Code Playgroud)