FCM getting registration token from not default FCM service

Viewed 359

After update to newest Firebase there is not method for getting FCM registration token for selected fcmSenderId:

  FirebaseInstanceId
         .getInstance()
         .getToken(fcmSenderId, "FCM")

Documentation says to use FirebaseMessaging instead (https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/FirebaseMessaging#getToken()):

    FirebaseMessaging
                .getInstance()
                .token
                .addOnCompleteListener { task ->
                    if (task.isSuccessful) {
                        task.result?.let { token ->
                            println(token)
                        }
                    } else {
                        println(task.exception)
                    }
                }

but this method doesn't allow to provide custom FCM Sender Id.

The project has configured google-services.json but need to use another FCM project.

1 Answers

You may try something like:

val options = FirebaseOptions.Builder()
    .setGcmSenderId("sender")
    // Also set your other project properties, like firebaseid, database if you wish
    .build()

val app = FirebaseApp.initializeApp(context, options)
val messaging = app.get(FirebaseMessaging::class.java)
messaging.token.addOnCompleteListener { 
    
}
Related