ionic 3:在 android fcm.onNotification() 中,当应用程序处于后台时,点击通知时不会调用

Posted

技术标签:

【中文标题】ionic 3:在 android fcm.onNotification() 中,当应用程序处于后台时,点击通知时不会调用【英文标题】:ionic 3: in android fcm.onNotification() not getting called on clicking the notification when the app is in background 【发布时间】:2020-10-28 04:06:29 【问题描述】:

在我的 ionic 3 应用程序中,我使用的是 cordova-plugin-fcm-with-dependecy-updated,除了 1 个案例外,一切正常。

如果应用程序被杀死并且点击通知时,onNotification() 不会被调用,但如果应用程序打开,它会被调用。

我检查了一些帖子,但没有一个对我有用:

https://developer.aliyun.com/mirror/npm/package/cordova-plugin-fcm-with-dependecy-updated/v/7.0.0-beta.1 fcm.onNotification() not getting called on clicking the notification when the app is in background

以前,我使用cordova-plugin-fcm-with-dependency-updated-apns,它运行良好,但由于 ios 中的 UIWebView 弃用,我需要使用另一个选项。

这是我的服务器负载:

    
    "to" : "FCM_Token",
    
  "notification":
    "title":"Notification title",
    "body":"Notification body",
    "sound":"default",
    "click_action":"FCM_PLUGIN_ACTIVITY"
  ,
  "data":
    "param1":"w1",
    "param2":"w1"
  ,
  "priority":"high"

我正在使用cordova:10.0.0 / ionic:3.9.2 / cordova-ios:6.1.1 / cordova-android:9.0.0

如果应用程序被杀死,任何人都知道如何在单击它时调用 onNotification()。?

【问题讨论】:

【参考方案1】:

我已经使用这个 Firebase Messaging plugin 有一段时间了,效果很好。 它实际上是 Ionic documentation 中的特色插件。

ionic cordova plugin add cordova-plugin-firebase-messaging
npm install @ionic-native/firebase-messaging

它为在后台接收的通知提供了不同的方法。 你一定要试试看。

onMessage(回调) 当应用在前台时收到推送消息时调用。

onBackgroundMessage(回调) 当应用处于后台时收到推送消息时调用。

【讨论】:

谢谢!我尝试了这个插件,但不知何故,当应用程序关闭时我无法收到推送通知。这是github.com/chemerisuk/cordova-plugin-firebase-messaging/issues/… 同样的问题,你知道吗? @Reqven【参考方案2】:

没有明确的解决方案,所以我最终搬到了onesingle。他们在免费计划中为移动设备提供无限制的推送通知。 我试过了,效果很好!

【讨论】:

以上是关于ionic 3:在 android fcm.onNotification() 中,当应用程序处于后台时,点击通知时不会调用的主要内容,如果未能解决你的问题,请参考以下文章

Ionic 3 Google 地图在 Android + IOS 上不显示

sh 在Ionic 3中更新cordova-android

ionic 3 - 错误在 Android Studio 中也找不到安装的 Gradle 版本

在使用 Ionic 3 允许系统权限后,Android 设备相机未打开

Ionic 3 版本未更新——Android/Mac

Ionic 3 错误:“文件 google-services.json 丢失。没有它,Google 服务插件无法运行。”在 ionic cordova 构建/准备 android