【问题标题】:How to send Push Notification With Custom Click Action From Firebase Console如何从 Firebase 控制台使用自定义点击操作发送推送通知
【发布时间】:2017-07-10 08:01:09
【问题描述】:

当应用程序处于前台或后台时,我将发送带有自定义点击操作的推送通知以设置通知的onClick 以在我的项目中打开确切的Activity。在所有帖子和 cmets 中都写到,无法通过控制台自定义点击操作发送通知,但在控制台的“高级选项”中,可以设置自定义数据键和值。

为什么不能设置click_action 键及其值?

如果可能的话,告诉我应该怎么做。我的意思是什么是确切的意图过滤器代码?我应该将什么设置为click_action 值?

假设我想通过点击通知打开SecondActivity

【问题讨论】:

标签: android firebase firebase-cloud-messaging payload firebase-console


【解决方案1】:

是的,您不能从 firebase 控制台发送这样的通知,但这就是它的工作原理 您需要将intent_filter 添加到manifest.xml 的活动中

<activity android:name=".MyActivity">
    <intent-filter>
        <action android:name="com.mypackage.MyActivty_TARGET" />
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

并将您的 click_action 值作为活动操作:com.mypackage.MyActivty_TARGET"

然后你像这样从 android 读取数据:

String click_action = remoteMessage.getNotification().getClickAction();
Intent in = new Intent(click_action);

【讨论】:

  • 你对Micha F的解决方案有什么想法? 这个问题的作者接受的答案只是表明使用 Firebase 控制台是不可能的,但它是 - 通过一个简单的解决方法, Micha Said
  • 当应用程序处于后台或被杀死时,在 fcm 控制台上发送通知时,此解决方案将永远无法工作。因为有了通知,fcm 会自动显示通知而不导出以在onMessageReceived 方法中触发。所以你不能这样做String click_action = remoteMessage.getNotification().getClickAction(); Intent in = new Intent(click_action);
  • @PhanSinh 那么当应用程序在后台时,你能做些什么来处理推送通知的点击呢?这是否可以将数据发送到您要打开的确切活动?
  • 不,这不是 Firebase 控制台的工作方式。控制台中提供的 click_action 不会成为通知对象的一部分,并且无法通过 getClickAction() 捕获。
猜你喜欢
  • 2017-08-24
  • 2019-09-12
  • 1970-01-01
  • 2017-11-23
  • 2021-07-15
  • 1970-01-01
  • 2023-03-19
  • 2018-11-03
  • 1970-01-01
相关资源
最近更新 更多