即使应用程序处于前台,也不会调用FCM onMessageReceived()

时间:2018-10-31 12:31:10

标签: android firebase kotlin firebase-cloud-messaging

更新

很明显,如果我点击“在设备上测试”并提供注册令牌,一切正常……仍然不确定如何使用同一应用处理新设备。我可以手动添加它们,单击“在设备上测试”按钮,它们都会收到消息,但是如果我单击“发布”按钮并选择应用程序,则只有第一个会收到消息。

================================================ =========================

我正在尝试将FCM集成到我的应用中。

我的应用位于前景

我先去了here,但是,这个问题已经有10个月了,看来不再需要扩展FirebaseIDService。

我正确设置了google-services.json

我在项目.gradle文件中添加了正确的依赖项:

classpath 'com.google.gms:google-services:4.2.0' // google-services plugin

以及应用程序.gradle文件:

dependencies {
    //...
    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-messaging:17.3.4'
}

apply plugin: 'com.google.gms.google-services'

这是我添加到清单中的服务:

    <service android:name=".MyFirebaseMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>

这是我要扩展的服务:

class MyFirebaseMessagingService : FirebaseMessagingService()
{
    companion object {
        const val TOKEN_REFRESHED_EVENT = "token_refreshed_event"
    }

    override fun onNewToken(token: String?) {
        Log.d("MyFcmMessagingService", "Refreshed token: " + token!!)
        LocalBroadcastManager.getInstance(this).sendBroadcast(Intent(TOKEN_REFRESHED_EVENT))
    }

    override fun onMessageReceived(remoteMessage: RemoteMessage?) {
        Log.d("MyFcmMessagingService", "From: " + remoteMessage!!.from!!)
    }
}

onNewToken方法可以正常工作。 当我尝试从Firebase控制台发送通知时,什么也没发生。

0 个答案:

没有答案
相关问题