Firebase 云消息订阅主题并发送消息 Kotlin

时间:2021-04-23 12:45:35

标签: android firebase kotlin dependencies firebase-cloud-messaging

我正在关注 this 云消息订阅教程,但遇到了一个问题。我无法导入所需的正确 Message 类。我发现我可能错过了一个依赖项,我发现我需要这个:

implementation 'com.google.firebase:firebase-admin:6.9.0'

有了这个依赖,Message 类不再是一个问题,但是现在我的订阅函数中的一些东西发生了变化:

private fun subscribe(){
        val list = mutableListOf<String>()
        list.add("dufD62vvRHuL_xZ9ROHTod:APA91bEJJNVPu3lyVbYCcUJqz-5vihXCCBJhtKAohi28CZNDvwb9HsdYCdICFRCjkNaRggr47igapLYEnlEEzN7Mk1ClZoUVT3VdxB6PVBAAa6u0yylo1NojLTLpUDrC8tMqTsBdlKAe\n")
        Firebase.messaging.subscribeToTopic("weather")
                .addOnCompleteListener { task ->
                    var msg :String= "Subscribed successfully"
                    if (!task.isSuccessful) {
                        msg = "Subcription failed"
                    }
                    Log.d("TAG", msg)
                    Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
                }
    }

现在 subscribeToTopic 还需要一个令牌列表,但我无法添加 onCompleteListener。

另外我之前做的一个函数突然报错

private fun getToken(){
        FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
            if (!task.isSuccessful) {
                Log.w("TAG", "Fetching FCM registration token failed", task.exception)
                return@OnCompleteListener
            }

            // Get new FCM registration token
            val token = task.result

            // Log and toast
            val msg = token.toString()
            Log.d("TAG", msg)
            Toast.makeText(baseContext, msg, Toast.LENGTH_LONG).show()
        })
    }

似乎管理员依赖与原始代码混淆了。

有人可以帮我解决这个问题吗? 将不胜感激。

0 个答案:

没有答案