华为推送工具包:SendException:设备不在设备组中

问题描述

我已经在我的应用中设置了PushKit,并且我想发送上游消息。在设备上,它失败,但出现以下异常:

com.huawei.hms.push.SendException: device not in device group
    at com.huawei.hms.push.HmsMessageService.b(HmsMessageService.java:299)
    at com.huawei.hms.push.HmsMessageService.a(HmsMessageService.java:190)
    at com.huawei.hms.push.HmsMessageService.a(HmsMessageService.java:39)
    at com.huawei.hms.push.HmsMessageService$a.handleMessage(HmsMessageService.java:162)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:7948)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
  • 消息长度:616
  • 令牌已生成

错误是什么意思?

检查docs about this error,您可以看到以下内容

ERROR_DEVICE_NOT_IN_GROUP

常数:907122057

该设备不在设备组中。

但没有更多细节。

解决方法

在我的情况下,将 "push.hcm.upstream" 传递到RemoteMessage.Builder参数时出错。

之前的代码:

val builder = RemoteMessage.Builder("SOMETHING_WRONG")

正确的代码:

val builder = RemoteMessage.Builder("push.hcm.upstream")

尽管在设备上成功发送消息令人惊讶,但进行了此更正后,上行链路将毫无问题地发送。