问题描述
我已经在我的应用中设置了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")
尽管在设备上成功发送消息令人惊讶,但进行了此更正后,上行链路将毫无问题地发送。