PushNotificationsAPI:无法注册设备:NOKResponse(错误=未经授权)

时间:2020-05-30 06:09:16

标签: android kotlin push-notification pusher

我正在使用Pusher Beams向我的用户发送通知。一切正常,但今天我遇到了这个错误,而且我不知道如何解决。

PushNotificationsAPI: Failed to register device: NOKResponse(error=Unauthorized, description=The device token provided could not be validated against any known credentials)

这是我的代码:

private fun setPusherBeam() {
    try {
        val tokenProvider = BeamsTokenProvider(
            BuildConfig.PUSHER_BEAM,
            object : AuthDataGetter {
                override fun getAuthData(): AuthData {
                    return AuthData(
                        headers = hashMapOf(
                            "Authorization" to getHawkString(AUTH_TOKEN)
                        ),
                        queryParams = hashMapOf()
                    )
                }
            }
        )

        PushNotifications.setUserId(
            DbHelper.getUser()?.user_id.toString(),
            tokenProvider,
            object : BeamsCallback<Void, PusherCallbackError> {
                override fun onFailure(error: PusherCallbackError) {
                    Timber.i("BeamsAuth Could not login to Beams: ${error.message}")
                }

                override fun onSuccess(vararg values: Void) {
                    Timber.i("BeamsAuth Beams login success $values")
                }
            }
        )
    } catch (ex: Exception) {
        Timber.i("BeamsAuth ex ${ex.localizedMessage}")
    }
}

2 个答案:

答案 0 :(得分:0)

经过2天的努力,终于解决了这些问题。

一站式API

PushNotifications.start(applicationContext, BuildConfig.INSTANCE_ID)
PushNotifications.stop()
PushNotifications.removeDeviceInterest("example")
PushNotifications.clearDeviceInterests()

2-清除android studio现金并重置

3-从移动设备中删除该应用并重新安装

将步骤1中的代码替换为4

PushNotifications.start(applicationContext, BuildConfig.INSTANCE_ID)
PushNotifications.addDeviceInterest("example")

5次重复2和3

答案 1 :(得分:0)

values.xml下删除生成的app\build\generated\res\google-services\debug\values,然后删除该应用并重新构建。花了我一段时间才能弄清楚。