Android端FCM通知click_action配置疑问及空值接收咨询
FCM推送click_action相关问题解答
问题1:click_action是否必须填入Activity名称?
对应的推送Payload示例:
{ "to": "FCM token", "notification": { "title": "this is sample title", "body":"this is sample body", "click_action": "abc" }, "data": { "sequence" : "84" } }
当click_action填入无意义值(比如示例中的"abc")时,点击通知无响应,是否必须填入Activity名称?
回答:是的,click_action的取值必须对应Android项目中已注册的目标组件信息:
- 可以填AndroidManifest.xml中某个Activity的
intent-filter里声明的action值(需同时匹配android.intent.category.DEFAULT这个category); - 也可以直接填写目标Activity的全类名(例如
com.yourpackage.YourTargetActivity)。
如果填写无意义值,系统找不到对应的跳转目标,点击通知自然没有响应。如果不需要自定义跳转逻辑,完全可以不设置click_action字段,此时点击通知会默认打开应用的启动Activity(即配置了android.intent.category.LAUNCHER的Activity)。
问题2:Android端能否接收click_action为空值的通知?
对应的推送Payload示例:
{ "to": "FCM token", "notification": { "title": "this is sample title", "body":"this is sample body", "click_action": "" }, "data": { "sequence" : "84" } }
回答:Android端可以正常接收这类通知。当click_action设为空字符串时,FCM推送不会受影响,通知能正常到达设备。此时点击通知的行为和不设置click_action时一致,会默认打开应用的启动Activity。不过从规范角度来说,建议直接省略click_action字段,而非设置为空值。
内容的提问来源于stack exchange,提问作者DaWoon Jeong
相关产品推荐
相关产品推荐

