Я пытаюсь зарегистрировать свою службу FCM в Центре уведомлений Azure.
Я получаю действительный токен FCM, используя мою службу идентификатора экземпляра, которая расширяет FirebaseMessagingService ().
Ниже указан мой InstanceIdServiceкоторый возвращает действительный токен и запускает мой registrationIntentService
class FCMInstanceIdService : FirebaseMessagingService() {
companion object {
private const val TAG = "FCMInstanceIDService"
}
init {
Log.i(TAG, "init")
}
override fun onNewToken(refreshedToken: String?) {
FirebaseInstanceId.getInstance().instanceId.addOnSuccessListener { instanceIdResult ->
instanceIdResult.token
// Log the event
Log.i(TAG, "Refreshing GCM Registration Token")
// Declare our intent to start the service
val intent = Intent(this, FCMRegistrationIntentService::class.java)
// Start the service!
startService(intent)
}
}
}
Ниже приведен фрагмент кода, в котором я пытаюсь зарегистрировать этот токен в своем центре уведомлений.
// Declare the azure notification hub
val notificationHub = NotificationHub(
// Provide our notification hub name
CentreMK.FCM_NOTIFICATION_HUB_NAME,
// Provide our notification hub connection string
CentreMK.FCM_NOTIFICATION_HUB_LISTEN_CONNECTION_STRING,
// The context of this service
this)
// Log the event
Log.i(TAG, "Attempting to register with NH using token : $token")
// Update the registration id by registering our token with the notification hub
// This provides us with the registration id
regID = notificationHub.register(token).registrationId
Этополученное исключение:
Попытка вызвать виртуальный метод 'int java.lang.String.length ()' для ссылки на пустой объект
Любая помощь приветствуется, поскольку причинаЯ не знаю, как я мог получить исключение нулевого указателя, когда я все настроил правильно.