You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

华为Push Kit服务仅'Sport'主题无法接收数据消息求助

华为Push Kit Sport主题消息接收异常排查方案
  • 确认主题名称一致性
    华为Push Kit的主题名称大小写敏感,务必保证订阅的Sport主题和Postman发送时指定的主题完全一致(包括大小写、特殊字符、空格)。另外你提供的示例代码订阅的是"stiri",请检查实际订阅Sport主题的代码是否存在拼写错误。

  • 为订阅操作添加回调校验
    给订阅/取消订阅操作添加完成回调,确保每次操作都真实执行成功,避免静默失败:

    // 订阅Sport主题并校验结果
    HmsMessaging.getInstance(this@MyActivity)
        .subscribe("Sport")
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("PushKit", "Sport主题订阅成功")
            } else {
                Log.e("PushKit", "Sport主题订阅失败: ${task.exception?.message}")
            }
        }
    
    // 取消订阅时同样添加回调
    HmsMessaging.getInstance(this@MyActivity)
        .unsubscribe("Sport")
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("PushKit", "Sport主题取消订阅成功")
                // 取消成功后再执行重新订阅
                subscribeSportTopic()
            }
        }
    
  • 检查设备端消息接收逻辑
    确认自定义的HmsMessageService实现类中,没有对Sport主题的消息做特殊过滤或拦截。同时确保onMessageReceived方法正确处理数据消息(数据消息不会自动弹出通知,需自行处理展示逻辑)。

  • 核对开发者后台状态
    登录华为开发者后台的Push Kit控制台:

    1. 查看Sport主题的订阅用户数,确认你的设备已被统计在内;
    2. 查看消息发送记录,确认发送给Sport主题的消息状态为「已送达」,而非「待发送」或「失败」。
  • 清除缓存并重启服务

    • 进入设备设置,找到你的应用,清除缓存和数据(注意备份重要数据)后重启应用;
    • 调用HmsMessaging.getInstance(this).setAutoInitEnabled(true),确保Push服务自动初始化正常。

内容的提问来源于stack exchange,提问作者Vlad.mir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:15:11