Firebase push notifications update DB

前端 未结 3 1674
萌比男神i
萌比男神i 2020-11-28 11:53

I\'m trying to send some data to my users via the new Firebase push notifications service.

I\'m adding some \"key-value\" custom data items with \'Message text\' -

3条回答
  •  被撕碎了的回忆
    2020-11-28 12:10

    As per my experience with Firebase push:

    Problem: When sending push notification through "Firebase console", notification is only received when application is in foreground. If the application is killed or in background, the notification is shown only in Version >= lollipop with incorrect notification icon and/or opening the default launcher activity in the app even if you have defined different Activity in PendingIntent.

    As per Firebase docs, a push message is divided into 2 pars, they call them: Docs Link here

    1. notification
    2. data payload

    Solution:

    There are two ways to send a "Push" message.

    1. Firebase Console

    2. Messaging API - Image showing a request using Advanced REST Client

    Push message is received in onMessageReceived(...) method. Firebase onMessageReceived(...) method will not get called if the app is in background or killed only when the message is sent through Firebase Console.

    If you send the message via API, it works fine. Message is delivered in onMessageReceived(...) method whether app is in background, foreground or killed. (Caution: This is working fine in >=Lollipop - Behaviour for Android 4.4 or below is still unpredictable.

    Update:

    You can send a push message from API (firebase call it downstream msg) like this: https://firebase.google.com/docs/cloud-messaging/downstream

    Sending downstream messages from the server

    To address or "target" a downstream message, the app server sets to with the receiving client app's registration token. You can send notification messages with predefined fields, or custom data messages; see Notifications and data in the message payload for details on payload support. Examples in this page show how to send data messages in HTTP and XMPP protocols.

    HTTP POST Request

    https://fcm.googleapis.com/fcm/send
    Content-Type:application/json
    Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
    
    { "data": {
        "score": "5x1",
        "time": "15:10"
      },
      "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
    }
    

提交回复
热议问题