Skip to content

Latest commit

 

History

History
78 lines (70 loc) · 3.13 KB

PUSH_NOTIFICATIONS_GMS.md

File metadata and controls

78 lines (70 loc) · 3.13 KB

Пуш-уведомления GMS

FCM API

FCM Flutter aspects

FCM HTTP v1 API

Push Payload Schema FCM Push Debug API Flutter FCM v1 API token generator impl

URL: https://fcm.googleapis.com/v1/projects/{FirebaseProjectName}/messages:send Required headers:

  • Authorization: Bearer {OAuth token};
  • Content-Type: application/json; charset=UTF-8.

OAuth токен генерируется с определенными правами и имеет короткий срок жизни.

Пример JSON пуш-сообщения, которое будет корректно обработано на обеих мобильных платформах:

{
    "message":
    {
      "token": token,
      "notification": {
      //Universal Notification fields (Not stated for Data processing only type)
        "title": "Notification title",
        "body": "Notification body",
      },
      "data":
      {
        //Map<String, String> (for all platforms)
      },
      "android": {
      //Android notification parameters
        "priority": "HIGH", // HIGH, NORMAL
        "notification": {
        //Both cases acceptable: state or not for Data processing only type
          //"channel_id": "intercomChannel",//No effect at Flutter
          //"title": "Android Notification title",
          //"body": "Android Notification body",
          //"click_action": "someActionMethodName",//No effect at Flutter
          //"sound": "default",
          "notification_priority": "PRIORITY_DEFAULT", // PRIORITY_MIN, PRIORITY_DEFAULT, PRIORITY_HIGH, PRIORITY_MAX
          //"default_sound": true,
          //"sticky": false,//True - Push can be dismissed only by tap
          "visibility": "PRIVATE"
        },
        "direct_boot_ok": true
      },
      "apns": {
        //iOS notification parameters
        "headers": {
          "apns-priority": "10"
        },
        "payload": {
          "aps" : {
            "badge": 0,
            //alert must not be stated for *Data processing only* type
            "alert" : {
              "title" : "Apple notification title",//Some short text (one line max, the rest text will be cut)
              "body" : "Apple notification body"//Main text payload (3 lines max)
            },
            "sound" : "default",//Notification receive system sound
            "category" : "channelName",
            "mutable-content": 0,//1 - Native iOS APNs receiver won't fire notification and send notification for preprocessing.
            //For flutter in most cases acceptable value is 0, otherwise push-notifications at 'killed' or 'not launched' app state won't be fired.
            "content-available": 1,
            "thread-id": "channelName"
          }
        }
      }
    }
}