我正在尝试使用 react-native-firebase 显示没有声音的本地通知,这可能吗?
我试过玩AndroidNotification类,但找不到一种方法来做到这一点。
const notification = new firebase.notifications.Notification()
.setNotificationId("notificationId")
.setTitle("Title")
.setBody("Text")
.android.setBigText("Big Text")
.android.setColor("#f04e29")
.android.setAutoCancel(true)
.android.setOnlyAlertOnce(true)
.android.setChannelId("channel")
.android.setLargeIcon("ic_launcher")
.android.setSmallIcon("ic_notification");
firebase.notifications().displayNotification(notification);
我希望通知在没有任何噪音的情况下显示。
根据我自己的经验,必须考虑两件事:
- 无需调用 setSound 方法,也不应设置任何声音属性
-
针对 Android API 级别>=26 进行开发时,作为通道方法的第三个参数传递的 Android 重要性必须设置为"低"、"最小"或"无"。否则,仍会播放默认声音。因此,创建通道的示例(例如,在App.tsx的组件DidMount中):
const channel = new firebase.notifications.Android.Channel( "测试通知", "测试通知", firebase.notifications.Android.Important.Low)firebase.notifications().android.createChannel(channel);
然后显示一个不显眼的通知:
const notification = new firebase.notifications.Notification()
.setTitle("My notification title")
.setBody("My notification body");
notification.android.setChannelId("testNotification");
firebase.notifications().displayNotification(notification);