PushNotificationsAPI: не удалось зарегистрировать устройство: NOKResponse (ошибка = неавторизовано) - PullRequest
0 голосов
/ 30 мая 2020

Я использую 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 голосов
/ 24 августа 2020

Удалите сгенерированный values.xml из app\build\generated\res\google-services\debug\values, затем удалите приложение и создайте заново. Мне потребовалось время, чтобы понять это.

0 голосов
/ 31 мая 2020

После 2 дней борьбы с этой ошибкой, наконец, она разрешилась благодаря этим шагам.

1-остановите API

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

2-очистите android studio ca sh и сбросьте его

3-удалите приложение с мобильного и переустановите его

4-заменить код из шага 1 на этот

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

5-повторить 2 и 3

...