【问题标题】:Get FirebaseInstance Id from FirebaseMessaging.getInstance().token [duplicate]从 FirebaseMessaging.getInstance().token 获取 FirebaseInstance Id [重复]
【发布时间】:2022-01-13 22:46:29
【问题描述】:

我正在更新项目中 firebase-messaging 中的依赖项,发现 FirebaseInstanceId.getInstance().instance 不再使用。

在 onsuccesslistener 的 MessagingService 中,我从以下位置获取两个字符串:

                fun initFB() {
        synchronized(MyFirebaseMessagingService.TAG) {
            FirebaseInstallations.getInstance().id.addOnSuccessListener { result ->
                coroutineScope.launch(dispatcher) {
                    try {
                        
                        SP.firebaseInstanceId = result.id
                        SP.firebaseToken = result.token
                    } catch (e: Exception) {
                       // sth...
                    }
                }
            }
        }
    }

现在我拥有的是这种新方法。

FirebaseMessaging.getInstance().token.addOnSuccessListener { result ->
            newtoken = result
}     

我将这些 id 和令牌发送到 SharedPreferences。如何使用这种新方法检索 id?

【问题讨论】:

    标签: android firebase kotlin firebase-cloud-messaging


    【解决方案1】:

    根据documentation.

    此方法已弃用。请改用 FirebaseInstallations.getId()。

    编辑:

    private fun verifyTokenUpdate() {
        val fcmId = FirebaseInstallations.getInstance().id
        val fcmToken = FirebaseMessaging.getInstance().token
        fcmToken.addOnSuccessListener { tokenString ->
            val sharedPreferencesSession = getSharedPreferences("Session", Context.MODE_PRIVATE)
            if (sharedPreferencesSession.getString("FCMToken", "") != tokenString) {
                fcmId.addOnSuccessListener { newId ->
                    registerNewToken(tokenString, newId)
                }
            }
        }
    }  
    

    【讨论】:

    • 但是用这种方法我不会有令牌。
    • 您可以进行一系列操作。 GetToken -> GetId -> 发送到你需要的地方。
    • 能否提供示例代码?我更新了描述
    • 修改后再次验证。
    • 我不确定您的解决方案。用另一个回调包装回调。
    猜你喜欢
    • 2012-01-03
    • 2023-04-03
    • 2014-07-16
    • 2020-11-12
    • 2012-10-07
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多