Android接入Firebase推送不执行onMessageReceived方法
参考:https://firebase.google.com/docs/cloud-messaging/android/receive
参考:https://firebase.google.com/docs/cloud-messaging/http-server-ref
Android接入Firebase推送,当应用处于后台状态时不执行FirebaseMessagingService的onMessageReceived方法
FCM处理后台应用中消息的机制:
当您的应用位于后台时,Android 会将通知消息转发至系统托盘。默认情况下,用户点击通知时将打开应用启动组件。
这会包括同时包含通知和数据负载的消息。在这些情况下,通知将传递至设备的系统托盘,数据负载将在应用启动组件 Activity 的 Intent 的 extra 中传递。
如果希望打开您的应用和执行特定操作,请在通知负载中设置 click_action,然后将其映射至您想启动的 Activity 中的 Intent 过滤器。例如,将 click_action 设为 FCM_OPEN_ORDER_LIST_ACTIVITY 会触发类似于如下的 Intent 过滤器:
<intent-filter>
<action android:name="FCM_OPEN_ORDER_LIST_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
服务端推送notification参数配置click_action字段
var payload = {
//to: token,
to: '/topics/activity',
notification: {
body: "通知内容",
title: "Firebase Cloud Message",
data: {'type': 'test', 'path': '/order_list'},
click_action: 'FCM_OPEN_ORDER_LIST_ACTIVITY'
},
data: {'type': 'test', 'path': '/order_list', 'content': 'AppBlog.CN'}
}
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/18/android-access-firebase-push-does-not-execute-onmessage-received-method/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论