Центр уведомлений Azure с FCM - NullPointerException - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь зарегистрировать свою службу 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 ()' для ссылки на пустой объект

Любая помощь приветствуется, поскольку причинаЯ не знаю, как я мог получить исключение нулевого указателя, когда я все настроил правильно.

1 Ответ

0 голосов
/ 29 января 2019

При инициализации String HubListenConnectionString в классе:

public class NotificationSettings {
   public static String SenderId = "<Your project number>";
   public static String HubName = "<Your HubName>";
   public static String HubListenConnectionString = "<Enter your DefaultListenSharedAccessSignature connection string>";
}

вы не добавили "Endpoint=sb://" в начало строки (то есть: public static String HubListenConnectionString ="Endpoint=sb://......". После чего вы можете встретить "Ресурс не найден "ошибка исключения. Вот где я застрял.

...