UPDATE
Очевидно, что если я нажму "проверить на устройстве" и предоставлю регистрационный токен, все будет хорошо ... все еще не уверен, как работать с новыми устройствами с помощью того же приложения. Я могу добавить их все вручную, нажать кнопку «Тест на устройстве», и они все получат сообщение, но если я нажму кнопку «Опубликовать» и выберу приложение, только первое получит сообщение.
=============================================== ===========================
Я пытаюсь интегрировать FCM в свое приложение.
Мое приложение на переднем плане
Сначала я пошел сюда , однако этому вопросу 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, ничего не происходит.