写点什么

【FAQ】推送前台应用的通知处理功能没生效,如何进行排查?

作者:HMS Core
  • 2023-12-11
    中国香港
  • 本文字数:715 字

    阅读完需:约 2 分钟

一、前台应用的通知处理简介

在调用推送接口时可以设置“foreground_show”字段控制前台应用的通知栏消息是否通过 NC 展示。“foreground_show”默认值为“true”,应用在前台时由 NC 展示通知栏消息;当设置为“false”时,应用在前台时,通知栏消息将不会展示,消息内容会通过 onMessageReceived(RemoteMessage message)方法传递给应用。前台应用的通知处理指导文档

二、问题现象

推送请求消息体中设置“foreground_show”值为“false”,推送消息时应用在前台,消息没有通过 onMessageReceived(RemoteMessage message)方法传递给应用,仍然是通过通知栏展示的。

三、问题排查

该功能对手机系统版本和集成的 push SDK 版本有要求,可以先检查手机系统版本和集成的 push SDK 版本是否符合如下要求。



如果手机系统版本和集成的 push SDK 版本符合要求,则需要抓取 logcat 日志。排查工程中定义了几个继承 HmsMessageService 的类,如果定义了多个继承 HmsMessageService 的类,也会导致实现的方法不会被调用,继承 HmsMessageService 的类只能有一个。


日志抓取方法:


1、使用 adb 连上手机后,分别执行下面命令:


adb shell setprop log.tag.hwpush VERBOSE


adb logcat -v threadtime 1> D:\hwpush.log


2、尝试复现遇到的问题场景。


3、等待几十秒,按快捷键“Ctrl+C”完成日志抓取


注:生成日志后注意看下日志记录的时间段需要包含复现问题的时间点。


查找关键日志:



搜索 HmsMessageService num is 关键字,找到如上图所示的日志,结合日志上下文中的 packageName 确定对应应用的日志,HmsMessageService num is 后面的数值就是继承 HmsMessageService 的类的数量,如果不为 1,请排查工程代码,并删除多余的类。


了解更多详情>>


访问推送服务开发者联盟官网


获取推送服务开发指导文档

用户头像

HMS Core

关注

HMS Core技术团队。 2022-06-16 加入

分享最新的技术干货,带来最全的能力应用场景,更新热门开发者圈子活动。与开发者一起,同成长,共精彩。

评论

发布
暂无评论
【FAQ】推送前台应用的通知处理功能没生效,如何进行排查?_HMS Core_HMS Core_InfoQ写作社区