angular - 为网络和 ionic 应用程序设置不同的 'click_action'

标签 angular firebase-cloud-messaging ionic4

我有一个 Web 应用程序(Angular 6)和移动应用程序(Ionic 4),它们都连接到同一个数据库。我正在使用 FCM(Firebase Cloud Message)进行推送通知。我已经关注了 2 个链接
1. https://www.djamware.com/post/5c6ccd1f80aca754f7a9d1ec/push-notification-using-ionic-4-and-firebase-cloud-messaging
2. https://medium.com/@selvaganesh93/firebase-cloud-messaging-important-rest-apis-be79260022b5

我为每个用户创建了 FCM“组”。这意味着用户可以使用多个设备(浏览器或移动设备)登录应用程序,并且该用户将拥有一个“fcm_notification_key”,其中包含来自不同设备的 FCM token 。

所以现在当应用程序向这个唯一的“fcm_notification_key”键推送任何通知时,所有与这个键连接的设备(网络和 ionic 应用程序)都会收到。这是完美的工作。

  "notification":{
    "title":"Notification Title",
    "body":"Notification Body",
    "click_action" : "myweb.com/specific_url",
  }
  "notification":{
    "title":"Notification Title",
    "body":"Notification Body",
    "click_action" : "FCM_PLUGIN_ACTIVITY",
  }

第一个是使用网络,当用户单击通知时,在浏览器中打开“click_action”指定的 URL。哪个是正确的。

第二个是使用 Ionic 应用程序。当用户点击通知时,它会打开 Ionic 应用程序,因为为“click_action”指定了“FCM_PLUGIN_ACTIVITY”。这也是正确的。

但问题是,现在我正在向组发送通知(其中将包含 web app 和 ionic app )。我应该如何发送数据以便它适用于网络和 ionic ?

最佳答案

您可以在 json 中有一个方法,并根据类型从函数处理事件

"notification":{
   "title":"Notification Title",
   "body":"Notification Body",
   "click_action: ()" : "click_action()",
}

TS:
click_action() {
  if(app) {

  } else {   
}

关于angular - 为网络和 ionic 应用程序设置不同的 'click_action',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58153916/

相关文章:

html - 在 Angular 中转换 CSS 类?

iOS Swift - 是否可以直接从 PHP 使用 FCM 发送通知?

firebase - 如何使用 FCM 后台通知更新 UI?

使用 onBackgroundMessage() 时,Firebase 网络推送通知被触发两次

cordova - 新 M1 mac 出现 ionic cordova 本地插件错误

android - 在 Android 上的 Ionic 应用程序中禁用自动填充弹出窗口

javascript - Angular 4 + JavaScript - 简单的幻灯片不起作用

javascript - 从 DOM 调用服务函数 - Angular 2

string - Typescript:获取未定义的值

ionic-framework - Ionic 4如何接收componentProps?