电容器 - 从科尔多瓦迁移后,默认情况下在 Android 上禁用浮动通知
Posted
技术标签:
【中文标题】电容器 - 从科尔多瓦迁移后,默认情况下在 Android 上禁用浮动通知【英文标题】:Capacitor - floating notifications disabled by default on Android after migration from cordova 【发布时间】:2021-12-08 01:35:27 【问题描述】:我们将应用从 Cordova 迁移到 Capacitor。
对于 Cordova 上的推送通知,我们使用了 cordova-plugin-firebasex 插件。
对于 Capacitor,将 Plugin 替换为官方的 Push Notifications 插件和 FCM 插件(我们需要 FCM)。
现在在 android 上安装应用程序时,应用程序的“浮动通知”设置默认禁用,而使用 cordova 插件默认启用。
任何想法可能是什么原因或我们如何默认启用该设置?
普遍的共识是这个设置不受应用程序的影响,但为什么它适用于cordova-plugin?
【问题讨论】:
【参考方案1】:发现差异:
作为here 如上所述,Android 需要至少订阅一个 Channel。 cordova-plugin 自动执行此操作,对于电容器,必须手动完成。
所以添加
await PushNotifications.createChannel(
id: '<id>',
name: '<Name>',
description: '<Description>',
importance: 5,
visibility: 1,
lights: true,
vibration: true,
);
注册后适用于Android。
另外将以下内容作为xml文件放入res/values
。
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="default_notification_channel_id"><id></string>
<string name="default_notification_channel_name"><name></string>
</resources>
那么这个必须在AndroidManifest.xml
中链接:
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="@string/default_notification_channel_id"/>
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_name"
android:value="@string/default_notification_channel_name"/>
对于<id>
,它最容易使用cordova-plugin中使用的默认ID:
fcm_default_channel
【讨论】:
以上是关于电容器 - 从科尔多瓦迁移后,默认情况下在 Android 上禁用浮动通知的主要内容,如果未能解决你的问题,请参考以下文章
进入聊天屏幕时,如何在默认情况下在底部显示最近消息的位置显示对话?
从.NET Core 3.1(Docker)迁移后,.NET 6 应用程序日志为 JSON 格式 [重复]