Firebase通知有时会跳过onMessageReceived方法

时间:2016-05-23 15:33:50

标签: android firebase google-cloud-messaging android-notifications firebase-cloud-messaging

当我在Facebook上使用Parse时,我可以在开发过程中测试通知(即Play商店中没有应用程序)。但是现在我正在尝试将Firebase应用到我的应用中。我的应用尚未发布。我完成了android端实现,并尝试从Firebase控制台向我的应用程序发送通知。但我的设备从未收到通知。这是为什么?我的目标是“所有用户”,因为firebase没有版本或我的任何主题。

OKAY

所以我做了一些更多的故障排除,这里是:我的设备正在接收通知,但它的表现非常奇怪:

  1. 当应用程序处于打开状态且用户正在与其进行交互时,通知将通过调用onMessageReceived的预期途径。

  2. 当应用关闭时(不在最近的应用中),通知会跳过调用onMessageReceived并在状态栏中显示通知。

  3. 但是当跳过onMessageReceived时,这里是来自FireBase的日志

    05-24 07:15:52.842  D/TimaKeyStoreProvider: TimaSignature is unavailable
    05-24 07:15:52.842  D/ActivityThread: Added TimaKeyStore provider
    05-24 07:15:53.102  D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
    05-24 07:15:53.132  D/FirebaseApp: Initialized class com.google.firebase.iid.FirebaseInstanceId.
    05-24 07:15:53.142  D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
    05-24 07:15:53.222  I/FA: App measurement is starting up, version: 9080
    05-24 07:15:53.222  I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
    05-24 07:15:53.352  D/FirebaseApp: Initialized class com.google.android.gms.measurement.AppMeasurement.
    05-24 07:15:53.352  I/FirebaseInitProvider: FirebaseApp initialization successful
    05-24 07:15:53.372  D/AlgorithmsProvider: onCreate
    05-24 07:15:53.452  I/FA: Tag Manager is not found and thus will not be used
    

1 个答案:

答案 0 :(得分:1)

对于display-messages(带有通知标记的消息),它是onMessageReceived仅在应用程序处于前台时调用的预期行为。

如果您想使用数据消息(没有通知标签的消息),您无法通过控制台进行此操作(至少在此之前)。您必须手动创建对FCM服务器的发布请求。您可以在回答此问题How to handle notification when app in background in Firebase时看到该帖子请求示例。