华为Push Kit:卡在初始化中,请稍后再试

问题描述

我正在尝试使用华为推包,并且在更新HMS之后,尝试发送上游数据时引发了以下错误

一些配置:

  • 设备:安装了5.0.2.301
  • Samsung galaxy A40 + HMS Core

图书馆:

  • implementation("com.huawei.hms:push:5.0.2.300")
  • implementation("com.huawei.agconnect:agconnect-core:1.4.1.300")

AGConnect:classpath 'com.huawei.agconnect:agcp:1.4.1.300'

调用代码

val messaging = HmsMessaging.getInstance(this.applicationContext)
messaging.send(
  RemoteMessage.Builder("push.hcm.upstream")
    .setMessageId("Message#${System.currentTimeMillis()}")
    .setData(data)
    .build()
)

导致此错误

java.lang.UnsupportedOperationException: push kit initializing,try again later
        at com.huawei.hms.push.HmsMessaging.a(HmsMessaging.java:212)
        at com.huawei.hms.push.HmsMessaging.send(HmsMessaging.java:204)
        at ir.malv.plusdependencytest.MainActivity$initializeListStuff$1$15.invoke(MainActivity.kt:355) // related to the code I called
        at ir.malv.plusdependencytest.MainActivity$initializeListStuff$1$15.invoke(MainActivity.kt:43)
        at ir.malv.plusdependencytest.UtilsKt$input$2.onClick(Utils.kt:47)
        at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
        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)

它只是保持“正在初始化”。

请注意,该库曾经与 HMS核心的早期版本一起使用,因此,没有华为的Phone或Push进程都可能是原因。

解决方法

问题似乎是由于 IP限制引起的,并且在最新版本的Hms-Core之后得到了解决。