docs: update generated docs (#981)

diff --git a/docs/dyn/fcm_v1.projects.messages.html b/docs/dyn/fcm_v1.projects.messages.html
index 07a3deb..5338434 100644
--- a/docs/dyn/fcm_v1.projects.messages.html
+++ b/docs/dyn/fcm_v1.projects.messages.html
@@ -92,60 +92,75 @@
     The object takes the form of:
 
 { # Request to send a message to specified target.
+    "validateOnly": True or False, # Flag for testing the request without actually delivering the message.
     "message": { # Message to send by Firebase Cloud Messaging Service. # Required. Message to send.
+      "topic": "A String", # Topic name to send a message to, e.g. "weather".
+          # Note: "/topics/" prefix should not be provided.
+      "token": "A String", # Registration token to send a message to.
+      "name": "A String", # Output Only. The identifier of the message sent, in the format of
+          # `projects/*/messages/{message_id}`.
+      "fcmOptions": { # Platform independent options for features provided by the FCM SDKs. # Input only. Template for FCM SDK feature options to use across all
+          # platforms.
+        "analyticsLabel": "A String", # Label associated with the message's analytics data.
+      },
+      "notification": { # Basic notification template to use across all platforms. # Input only. Basic notification template to use across all platforms.
+        "image": "A String", # Contains the URL of an image that is going to be downloaded on the device
+            # and displayed in a notification.
+            # JPEG, PNG, BMP have full support across platforms. Animated GIF and video
+            # only work on iOS. WebP and HEIF have varying levels of support across
+            # platforms and platform versions.
+            # Android has 1MB image size limit.
+            # Quota usage and implications/costs for hosting image on Firebase Storage:
+            # https://firebase.google.com/pricing
+        "body": "A String", # The notification's body text.
+        "title": "A String", # The notification's title.
+      },
       "data": { # Input only. Arbitrary key/value payload. The key should not be a reserved
           # word ("from", "message_type", or any word starting with "google" or "gcm").
         "a_key": "A String",
       },
-      "token": "A String", # Registration token to send a message to.
-      "condition": "A String", # Condition to send a message to,
-          # e.g. "'foo' in topics && 'bar' in topics".
       "android": { # Android specific options for messages sent through # Input only. Android specific options for messages sent through
           # [FCM connection server](https://goo.gl/4GLdUl).
           # [FCM connection server](https://goo.gl/4GLdUl).
-        "collapseKey": "A String", # An identifier of a group of messages that can be collapsed, so that only
-            # the last message gets sent when delivery can be resumed. A maximum of 4
-            # different collapse keys is allowed at any given time.
         "directBootOk": True or False, # If set to true, messages will be allowed to be delivered to the app while
             # the device is in direct boot mode. See [Support Direct Boot
             # mode](https://developer.android.com/training/articles/direct-boot).
-        "fcmOptions": { # Options for features provided by the FCM SDK for Android. # Options for features provided by the FCM SDK for Android.
-          "analyticsLabel": "A String", # Label associated with the message's analytics data.
+        "data": { # Arbitrary key/value payload. If present, it will override
+            # google.firebase.fcm.v1.Message.data.
+          "a_key": "A String",
         },
         "notification": { # Notification to send to android devices. # Notification to send to android devices.
-          "defaultVibrateTimings": True or False, # If set to true, use the Android framework's default vibrate pattern for the
-              # notification. Default values are specified in
-              # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
-              # If `default_vibrate_timings` is set to true and `vibrate_timings` is also
-              # set, the default value is used instead of the user-specified
-              # `vibrate_timings`.
-          "clickAction": "A String", # The action associated with a user click on the notification.
-              # If specified, an activity with a matching intent filter is launched when
-              # a user clicks on the notification.
-          "eventTime": "A String", # Set the time that the event in the notification occurred. Notifications in
-              # the panel are sorted by this time. A point in time is represented using
-              # [protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Timestamp).
-          "defaultLightSettings": True or False, # If set to true, use the Android framework's default LED light settings for
-              # the notification. Default values are specified in
-              # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
-              # If `default_light_settings` is set to true and `light_settings` is also
-              # set, the user-specified `light_settings` is used instead of the
-              # default value.
           "localOnly": True or False, # Set whether or not this notification is relevant only to the current
               # device. Some notifications can be bridged to other devices for remote
               # display, such as a Wear OS watch. This hint can be set to recommend this
               # notification not be bridged. See [Wear OS
               # guides](https://developer.android.com/training/wearables/notifications/bridger#existing-method-of-preventing-bridging)
-          "notificationPriority": "A String", # Set the relative priority for this notification. Priority is an indication
-              # of how much of the user's attention should be consumed by this
-              # notification. Low-priority notifications may be hidden from the user in
-              # certain situations, while the user might be interrupted for a
-              # higher-priority notification. The effect of setting the same priorities may
-              # differ slightly on different platforms. Note this priority differs from
-              # `AndroidMessagePriority`. This priority is processed by the client after
-              # the message has been delivered, whereas
-              # [AndroidMessagePriority](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#androidmessagepriority)
-              # is an FCM concept that controls when the message is delivered.
+          "notificationCount": 42, # Sets the number of items this notification represents. May be displayed as
+              # a badge count for launchers that support badging.See [Notification
+              # Badge](https://developer.android.com/training/notify-user/badges).
+              # For example, this might be useful if you're using just one notification to
+              # represent multiple new messages but you want the count here to represent
+              # the number of total new messages.
+              # If zero or unspecified, systems that support badging use the default, which
+              # is to increment a number displayed on the long-press menu each time a new
+              # notification arrives.
+          "eventTime": "A String", # Set the time that the event in the notification occurred. Notifications in
+              # the panel are sorted by this time. A point in time is represented using
+              # [protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Timestamp).
+          "sticky": True or False, # When set to false or unset, the notification is automatically
+              # dismissed when the user clicks it in the panel. When set to true, the
+              # notification persists even when the user clicks it.
+          "bodyLocKey": "A String", # The key to the body string in the app's string resources to use to localize
+              # the body text to the user's current localization.
+              # See [String Resources](https://goo.gl/NdFZGI) for more information.
+          "body": "A String", # The notification's body text. If present, it will override
+              # google.firebase.fcm.v1.Notification.body.
+          "titleLocArgs": [ # Variable string values to be used in place of the format specifiers in
+              # title_loc_key to use to localize the title text to the user's current
+              # localization.
+              # See [Formatting and Styling](https://goo.gl/MalYE3) for more information.
+            "A String",
+          ],
           "vibrateTimings": [ # Set the vibration pattern to use. Pass in an array of
               # [protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
               # to turn on or off the vibrator. The first value indicates the `Duration` to
@@ -156,32 +171,15 @@
               # the default value is used instead of the user-specified `vibrate_timings`.
             "A String",
           ],
-          "sound": "A String", # The sound to play when the device receives the notification.
-              # Supports "default" or the filename of a sound resource bundled in the app.
-              # Sound files must reside in /res/raw/.
-          "bodyLocKey": "A String", # The key to the body string in the app's string resources to use to localize
-              # the body text to the user's current localization.
-              # See [String Resources](https://goo.gl/NdFZGI) for more information.
-          "notificationCount": 42, # Sets the number of items this notification represents. May be displayed as
-              # a badge count for launchers that support badging.See [Notification
-              # Badge](https://developer.android.com/training/notify-user/badges).
-              # For example, this might be useful if you're using just one notification to
-              # represent multiple new messages but you want the count here to represent
-              # the number of total new messages.
-              # If zero or unspecified, systems that support badging use the default, which
-              # is to increment a number displayed on the long-press menu each time a new
-              # notification arrives.
-          "bodyLocArgs": [ # Variable string values to be used in place of the format specifiers in
-              # body_loc_key to use to localize the body text to the user's current
-              # localization.
-              # See [Formatting and Styling](https://goo.gl/MalYE3) for more information.
-            "A String",
-          ],
-          "body": "A String", # The notification's body text. If present, it will override
-              # google.firebase.fcm.v1.Notification.body.
+          "visibility": "A String", # Set the
+              # [Notification.visibility](https://developer.android.com/reference/android/app/Notification.html#visibility)
+              # of the notification.
           "lightSettings": { # Settings to control notification LED. # Settings to control the notification's LED blinking rate and color if LED
               # is available on the device. The total blinking time is controlled by the
               # OS.
+            "lightOnDuration": "A String", # Required. Along with `light_off_duration`, define the blink rate of LED
+                # flashes. Resolution defined by
+                # [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
             "color": { # Represents a color in the RGBA color space. This representation is designed # Required. Set `color` of the LED with
                 # [google.type.Color](https://github.com/googleapis/googleapis/blob/master/google/type/color.proto).
                 # for simplicity of conversion to/from color representations in various
@@ -196,6 +194,10 @@
                 # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
                 # space.
                 #
+                # Note: when color equality needs to be decided, implementations, unless
+                # documented otherwise, will treat two colors to be equal if all their red,
+                # green, blue and alpha values each differ by at most 1e-5.
+                #
                 # Example (Java):
                 #
                 #      import com.google.type.Color;
@@ -303,8 +305,6 @@
                 #
                 #     // ...
               "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
-              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
-              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
               "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
                   # the final pixel color is defined by the equation:
                   #
@@ -316,50 +316,25 @@
                   # possible to distinguish between a default value and the value being unset.
                   # If omitted, this color object is to be rendered as a solid color
                   # (as if the alpha value had been explicitly given with a value of 1.0).
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
             },
-            "lightOnDuration": "A String", # Required. Along with `light_off_duration`, define the blink rate of LED
-                # flashes. Resolution defined by
-                # [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
             "lightOffDuration": "A String", # Required. Along with `light_on_duration `, define the blink rate of LED
                 # flashes. Resolution defined by
                 # [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
           },
-          "icon": "A String", # The notification's icon.
-              # Sets the notification icon to myicon for drawable resource myicon.
-              # If you don't send this key in the request, FCM displays the launcher icon
-              # specified in your app manifest.
-          "color": "A String", # The notification's icon color, expressed in #rrggbb format.
-          "tag": "A String", # Identifier used to replace existing notifications in the notification
-              # drawer.
-              # If not specified, each request creates a new notification.
-              # If specified and a notification with the same tag is already being shown,
-              # the new notification replaces the existing one in the notification drawer.
-          "titleLocKey": "A String", # The key to the title string in the app's string resources to use to
-              # localize the title text to the user's current localization.
-              # See [String Resources](https://goo.gl/NdFZGI) for more information.
-          "image": "A String", # Contains the URL of an image that is going to be displayed in a
-              # notification. If present, it will override
-              # google.firebase.fcm.v1.Notification.image.
-          "visibility": "A String", # Set the
-              # [Notification.visibility](https://developer.android.com/reference/android/app/Notification.html#visibility)
-              # of the notification.
-          "ticker": "A String", # Sets the "ticker" text, which is sent to accessibility services.
-              # Prior to API level 21 (`Lollipop`), sets the text that is displayed in the
-              # status bar when the notification first arrives.
-          "title": "A String", # The notification's title. If present, it will override
-              # google.firebase.fcm.v1.Notification.title.
-          "defaultSound": True or False, # If set to true, use the Android framework's default sound for the
-              # notification. Default values are specified in
-              # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
-          "sticky": True or False, # When set to false or unset, the notification is automatically
-              # dismissed when the user clicks it in the panel. When set to true, the
-              # notification persists even when the user clicks it.
-          "titleLocArgs": [ # Variable string values to be used in place of the format specifiers in
-              # title_loc_key to use to localize the title text to the user's current
+          "bodyLocArgs": [ # Variable string values to be used in place of the format specifiers in
+              # body_loc_key to use to localize the body text to the user's current
               # localization.
               # See [Formatting and Styling](https://goo.gl/MalYE3) for more information.
             "A String",
           ],
+          "defaultLightSettings": True or False, # If set to true, use the Android framework's default LED light settings for
+              # the notification. Default values are specified in
+              # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
+              # If `default_light_settings` is set to true and `light_settings` is also
+              # set, the user-specified `light_settings` is used instead of the
+              # default value.
           "channelId": "A String", # The [notification's channel
               # id](https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels)
               # (new in Android O). The app must create a channel with this channel ID
@@ -367,7 +342,59 @@
               # this channel ID in the request, or if the channel ID provided has not yet
               # been created by the app, FCM uses the channel ID specified in the app
               # manifest.
+          "defaultVibrateTimings": True or False, # If set to true, use the Android framework's default vibrate pattern for the
+              # notification. Default values are specified in
+              # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
+              # If `default_vibrate_timings` is set to true and `vibrate_timings` is also
+              # set, the default value is used instead of the user-specified
+              # `vibrate_timings`.
+          "icon": "A String", # The notification's icon.
+              # Sets the notification icon to myicon for drawable resource myicon.
+              # If you don't send this key in the request, FCM displays the launcher icon
+              # specified in your app manifest.
+          "ticker": "A String", # Sets the "ticker" text, which is sent to accessibility services.
+              # Prior to API level 21 (`Lollipop`), sets the text that is displayed in the
+              # status bar when the notification first arrives.
+          "notificationPriority": "A String", # Set the relative priority for this notification. Priority is an indication
+              # of how much of the user's attention should be consumed by this
+              # notification. Low-priority notifications may be hidden from the user in
+              # certain situations, while the user might be interrupted for a
+              # higher-priority notification. The effect of setting the same priorities may
+              # differ slightly on different platforms. Note this priority differs from
+              # `AndroidMessagePriority`. This priority is processed by the client after
+              # the message has been delivered, whereas
+              # [AndroidMessagePriority](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#androidmessagepriority)
+              # is an FCM concept that controls when the message is delivered.
+          "color": "A String", # The notification's icon color, expressed in #rrggbb format.
+          "image": "A String", # Contains the URL of an image that is going to be displayed in a
+              # notification. If present, it will override
+              # google.firebase.fcm.v1.Notification.image.
+          "defaultSound": True or False, # If set to true, use the Android framework's default sound for the
+              # notification. Default values are specified in
+              # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
+          "sound": "A String", # The sound to play when the device receives the notification.
+              # Supports "default" or the filename of a sound resource bundled in the app.
+              # Sound files must reside in /res/raw/.
+          "clickAction": "A String", # The action associated with a user click on the notification.
+              # If specified, an activity with a matching intent filter is launched when
+              # a user clicks on the notification.
+          "titleLocKey": "A String", # The key to the title string in the app's string resources to use to
+              # localize the title text to the user's current localization.
+              # See [String Resources](https://goo.gl/NdFZGI) for more information.
+          "tag": "A String", # Identifier used to replace existing notifications in the notification
+              # drawer.
+              # If not specified, each request creates a new notification.
+              # If specified and a notification with the same tag is already being shown,
+              # the new notification replaces the existing one in the notification drawer.
+          "title": "A String", # The notification's title. If present, it will override
+              # google.firebase.fcm.v1.Notification.title.
         },
+        "collapseKey": "A String", # An identifier of a group of messages that can be collapsed, so that only
+            # the last message gets sent when delivery can be resumed. A maximum of 4
+            # different collapse keys is allowed at any given time.
+        "priority": "A String", # Message priority. Can take "normal" and "high" values.
+            # For more information, see [Setting the priority of a
+            # message](https://goo.gl/GjONJv).
         "restrictedPackageName": "A String", # Package name of the application where the registration token must match in
             # order to receive the message.
         "ttl": "A String", # How long (in seconds) the message should be kept in FCM storage if the
@@ -381,28 +408,12 @@
             # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
             # be expressed in JSON format as "3.000000001s". The ttl will be rounded down
             # to the nearest second.
-        "data": { # Arbitrary key/value payload. If present, it will override
-            # google.firebase.fcm.v1.Message.data.
-          "a_key": "A String",
+        "fcmOptions": { # Options for features provided by the FCM SDK for Android. # Options for features provided by the FCM SDK for Android.
+          "analyticsLabel": "A String", # Label associated with the message's analytics data.
         },
-        "priority": "A String", # Message priority. Can take "normal" and "high" values.
-            # For more information, see [Setting the priority of a
-            # message](https://goo.gl/GjONJv).
       },
       "apns": { # [Apple Push Notification Service](https://goo.gl/MXRTPa) specific options. # Input only. [Apple Push Notification Service](https://goo.gl/MXRTPa)
           # specific options.
-        "fcmOptions": { # Options for features provided by the FCM SDK for iOS. # Options for features provided by the FCM SDK for iOS.
-          "image": "A String", # Contains the URL of an image that is going to be displayed in a
-              # notification. If present, it will override
-              # google.firebase.fcm.v1.Notification.image.
-          "analyticsLabel": "A String", # Label associated with the message's analytics data.
-        },
-        "headers": { # HTTP request headers defined in Apple Push Notification Service. Refer to
-            # [APNs request
-            # headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns)
-            # for supported headers, e.g. "apns-priority": "10".
-          "a_key": "A String",
-        },
         "payload": { # APNs payload as a JSON object, including both `aps` dictionary and custom
             # payload. See [Payload Key
             # Reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification).
@@ -410,18 +421,35 @@
             # and google.firebase.fcm.v1.Notification.body.
           "a_key": "", # Properties of the object.
         },
+        "headers": { # HTTP request headers defined in Apple Push Notification Service. Refer to
+            # [APNs request
+            # headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns)
+            # for supported headers, e.g. "apns-priority": "10".
+          "a_key": "A String",
+        },
+        "fcmOptions": { # Options for features provided by the FCM SDK for iOS. # Options for features provided by the FCM SDK for iOS.
+          "analyticsLabel": "A String", # Label associated with the message's analytics data.
+          "image": "A String", # Contains the URL of an image that is going to be displayed in a
+              # notification. If present, it will override
+              # google.firebase.fcm.v1.Notification.image.
+        },
       },
       "webpush": { # [Webpush protocol](https://tools.ietf.org/html/rfc8030) options. # Input only. [Webpush protocol](https://tools.ietf.org/html/rfc8030)
           # options.
-        "headers": { # HTTP headers defined in webpush protocol. Refer to
-            # [Webpush protocol](https://tools.ietf.org/html/rfc8030#section-5) for
-            # supported headers, e.g. "TTL": "15".
-          "a_key": "A String",
+        "fcmOptions": { # Options for features provided by the FCM SDK for Web. # Options for features provided by the FCM SDK for Web.
+          "analyticsLabel": "A String", # Label associated with the message's analytics data.
+          "link": "A String", # The link to open when the user clicks on the notification.
+              # For all URL values, HTTPS is required.
         },
         "data": { # Arbitrary key/value payload. If present, it will override
             # google.firebase.fcm.v1.Message.data.
           "a_key": "A String",
         },
+        "headers": { # HTTP headers defined in webpush protocol. Refer to
+            # [Webpush protocol](https://tools.ietf.org/html/rfc8030#section-5) for
+            # supported headers, e.g. "TTL": "15".
+          "a_key": "A String",
+        },
         "notification": { # Web Notification options as a JSON object. Supports Notification instance
             # properties as defined in [Web Notification
             # API](https://developer.mozilla.org/en-US/docs/Web/API/Notification). If
@@ -430,34 +458,10 @@
             # [google.firebase.fcm.v1.Notification.body].
           "a_key": "", # Properties of the object.
         },
-        "fcmOptions": { # Options for features provided by the FCM SDK for Web. # Options for features provided by the FCM SDK for Web.
-          "analyticsLabel": "A String", # Label associated with the message's analytics data.
-          "link": "A String", # The link to open when the user clicks on the notification.
-              # For all URL values, HTTPS is required.
-        },
       },
-      "name": "A String", # Output Only. The identifier of the message sent, in the format of
-          # `projects/*/messages/{message_id}`.
-      "fcmOptions": { # Platform independent options for features provided by the FCM SDKs. # Input only. Template for FCM SDK feature options to use across all
-          # platforms.
-        "analyticsLabel": "A String", # Label associated with the message's analytics data.
-      },
-      "notification": { # Basic notification template to use across all platforms. # Input only. Basic notification template to use across all platforms.
-        "title": "A String", # The notification's title.
-        "image": "A String", # Contains the URL of an image that is going to be downloaded on the device
-            # and displayed in a notification.
-            # JPEG, PNG, BMP have full support across platforms. Animated GIF and video
-            # only work on iOS. WebP and HEIF have varying levels of support across
-            # platforms and platform versions.
-            # Android has 1MB image size limit.
-            # Quota usage and implications/costs for hosting image on Firebase Storage:
-            # https://firebase.google.com/pricing
-        "body": "A String", # The notification's body text.
-      },
-      "topic": "A String", # Topic name to send a message to, e.g. "weather".
-          # Note: "/topics/" prefix should not be provided.
+      "condition": "A String", # Condition to send a message to,
+          # e.g. "'foo' in topics && 'bar' in topics".
     },
-    "validateOnly": True or False, # Flag for testing the request without actually delivering the message.
   }
 
   x__xgafv: string, V1 error format.
@@ -469,59 +473,73 @@
   An object of the form:
 
     { # Message to send by Firebase Cloud Messaging Service.
+    "topic": "A String", # Topic name to send a message to, e.g. "weather".
+        # Note: "/topics/" prefix should not be provided.
+    "token": "A String", # Registration token to send a message to.
+    "name": "A String", # Output Only. The identifier of the message sent, in the format of
+        # `projects/*/messages/{message_id}`.
+    "fcmOptions": { # Platform independent options for features provided by the FCM SDKs. # Input only. Template for FCM SDK feature options to use across all
+        # platforms.
+      "analyticsLabel": "A String", # Label associated with the message's analytics data.
+    },
+    "notification": { # Basic notification template to use across all platforms. # Input only. Basic notification template to use across all platforms.
+      "image": "A String", # Contains the URL of an image that is going to be downloaded on the device
+          # and displayed in a notification.
+          # JPEG, PNG, BMP have full support across platforms. Animated GIF and video
+          # only work on iOS. WebP and HEIF have varying levels of support across
+          # platforms and platform versions.
+          # Android has 1MB image size limit.
+          # Quota usage and implications/costs for hosting image on Firebase Storage:
+          # https://firebase.google.com/pricing
+      "body": "A String", # The notification's body text.
+      "title": "A String", # The notification's title.
+    },
     "data": { # Input only. Arbitrary key/value payload. The key should not be a reserved
         # word ("from", "message_type", or any word starting with "google" or "gcm").
       "a_key": "A String",
     },
-    "token": "A String", # Registration token to send a message to.
-    "condition": "A String", # Condition to send a message to,
-        # e.g. "'foo' in topics && 'bar' in topics".
     "android": { # Android specific options for messages sent through # Input only. Android specific options for messages sent through
         # [FCM connection server](https://goo.gl/4GLdUl).
         # [FCM connection server](https://goo.gl/4GLdUl).
-      "collapseKey": "A String", # An identifier of a group of messages that can be collapsed, so that only
-          # the last message gets sent when delivery can be resumed. A maximum of 4
-          # different collapse keys is allowed at any given time.
       "directBootOk": True or False, # If set to true, messages will be allowed to be delivered to the app while
           # the device is in direct boot mode. See [Support Direct Boot
           # mode](https://developer.android.com/training/articles/direct-boot).
-      "fcmOptions": { # Options for features provided by the FCM SDK for Android. # Options for features provided by the FCM SDK for Android.
-        "analyticsLabel": "A String", # Label associated with the message's analytics data.
+      "data": { # Arbitrary key/value payload. If present, it will override
+          # google.firebase.fcm.v1.Message.data.
+        "a_key": "A String",
       },
       "notification": { # Notification to send to android devices. # Notification to send to android devices.
-        "defaultVibrateTimings": True or False, # If set to true, use the Android framework's default vibrate pattern for the
-            # notification. Default values are specified in
-            # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
-            # If `default_vibrate_timings` is set to true and `vibrate_timings` is also
-            # set, the default value is used instead of the user-specified
-            # `vibrate_timings`.
-        "clickAction": "A String", # The action associated with a user click on the notification.
-            # If specified, an activity with a matching intent filter is launched when
-            # a user clicks on the notification.
-        "eventTime": "A String", # Set the time that the event in the notification occurred. Notifications in
-            # the panel are sorted by this time. A point in time is represented using
-            # [protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Timestamp).
-        "defaultLightSettings": True or False, # If set to true, use the Android framework's default LED light settings for
-            # the notification. Default values are specified in
-            # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
-            # If `default_light_settings` is set to true and `light_settings` is also
-            # set, the user-specified `light_settings` is used instead of the
-            # default value.
         "localOnly": True or False, # Set whether or not this notification is relevant only to the current
             # device. Some notifications can be bridged to other devices for remote
             # display, such as a Wear OS watch. This hint can be set to recommend this
             # notification not be bridged. See [Wear OS
             # guides](https://developer.android.com/training/wearables/notifications/bridger#existing-method-of-preventing-bridging)
-        "notificationPriority": "A String", # Set the relative priority for this notification. Priority is an indication
-            # of how much of the user's attention should be consumed by this
-            # notification. Low-priority notifications may be hidden from the user in
-            # certain situations, while the user might be interrupted for a
-            # higher-priority notification. The effect of setting the same priorities may
-            # differ slightly on different platforms. Note this priority differs from
-            # `AndroidMessagePriority`. This priority is processed by the client after
-            # the message has been delivered, whereas
-            # [AndroidMessagePriority](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#androidmessagepriority)
-            # is an FCM concept that controls when the message is delivered.
+        "notificationCount": 42, # Sets the number of items this notification represents. May be displayed as
+            # a badge count for launchers that support badging.See [Notification
+            # Badge](https://developer.android.com/training/notify-user/badges).
+            # For example, this might be useful if you're using just one notification to
+            # represent multiple new messages but you want the count here to represent
+            # the number of total new messages.
+            # If zero or unspecified, systems that support badging use the default, which
+            # is to increment a number displayed on the long-press menu each time a new
+            # notification arrives.
+        "eventTime": "A String", # Set the time that the event in the notification occurred. Notifications in
+            # the panel are sorted by this time. A point in time is represented using
+            # [protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Timestamp).
+        "sticky": True or False, # When set to false or unset, the notification is automatically
+            # dismissed when the user clicks it in the panel. When set to true, the
+            # notification persists even when the user clicks it.
+        "bodyLocKey": "A String", # The key to the body string in the app's string resources to use to localize
+            # the body text to the user's current localization.
+            # See [String Resources](https://goo.gl/NdFZGI) for more information.
+        "body": "A String", # The notification's body text. If present, it will override
+            # google.firebase.fcm.v1.Notification.body.
+        "titleLocArgs": [ # Variable string values to be used in place of the format specifiers in
+            # title_loc_key to use to localize the title text to the user's current
+            # localization.
+            # See [Formatting and Styling](https://goo.gl/MalYE3) for more information.
+          "A String",
+        ],
         "vibrateTimings": [ # Set the vibration pattern to use. Pass in an array of
             # [protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
             # to turn on or off the vibrator. The first value indicates the `Duration` to
@@ -532,32 +550,15 @@
             # the default value is used instead of the user-specified `vibrate_timings`.
           "A String",
         ],
-        "sound": "A String", # The sound to play when the device receives the notification.
-            # Supports "default" or the filename of a sound resource bundled in the app.
-            # Sound files must reside in /res/raw/.
-        "bodyLocKey": "A String", # The key to the body string in the app's string resources to use to localize
-            # the body text to the user's current localization.
-            # See [String Resources](https://goo.gl/NdFZGI) for more information.
-        "notificationCount": 42, # Sets the number of items this notification represents. May be displayed as
-            # a badge count for launchers that support badging.See [Notification
-            # Badge](https://developer.android.com/training/notify-user/badges).
-            # For example, this might be useful if you're using just one notification to
-            # represent multiple new messages but you want the count here to represent
-            # the number of total new messages.
-            # If zero or unspecified, systems that support badging use the default, which
-            # is to increment a number displayed on the long-press menu each time a new
-            # notification arrives.
-        "bodyLocArgs": [ # Variable string values to be used in place of the format specifiers in
-            # body_loc_key to use to localize the body text to the user's current
-            # localization.
-            # See [Formatting and Styling](https://goo.gl/MalYE3) for more information.
-          "A String",
-        ],
-        "body": "A String", # The notification's body text. If present, it will override
-            # google.firebase.fcm.v1.Notification.body.
+        "visibility": "A String", # Set the
+            # [Notification.visibility](https://developer.android.com/reference/android/app/Notification.html#visibility)
+            # of the notification.
         "lightSettings": { # Settings to control notification LED. # Settings to control the notification's LED blinking rate and color if LED
             # is available on the device. The total blinking time is controlled by the
             # OS.
+          "lightOnDuration": "A String", # Required. Along with `light_off_duration`, define the blink rate of LED
+              # flashes. Resolution defined by
+              # [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
           "color": { # Represents a color in the RGBA color space. This representation is designed # Required. Set `color` of the LED with
               # [google.type.Color](https://github.com/googleapis/googleapis/blob/master/google/type/color.proto).
               # for simplicity of conversion to/from color representations in various
@@ -572,6 +573,10 @@
               # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
               # space.
               #
+              # Note: when color equality needs to be decided, implementations, unless
+              # documented otherwise, will treat two colors to be equal if all their red,
+              # green, blue and alpha values each differ by at most 1e-5.
+              #
               # Example (Java):
               #
               #      import com.google.type.Color;
@@ -679,8 +684,6 @@
               #
               #     // ...
             "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
-            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
-            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
             "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
                 # the final pixel color is defined by the equation:
                 #
@@ -692,50 +695,25 @@
                 # possible to distinguish between a default value and the value being unset.
                 # If omitted, this color object is to be rendered as a solid color
                 # (as if the alpha value had been explicitly given with a value of 1.0).
+            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
           },
-          "lightOnDuration": "A String", # Required. Along with `light_off_duration`, define the blink rate of LED
-              # flashes. Resolution defined by
-              # [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
           "lightOffDuration": "A String", # Required. Along with `light_on_duration `, define the blink rate of LED
               # flashes. Resolution defined by
               # [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
         },
-        "icon": "A String", # The notification's icon.
-            # Sets the notification icon to myicon for drawable resource myicon.
-            # If you don't send this key in the request, FCM displays the launcher icon
-            # specified in your app manifest.
-        "color": "A String", # The notification's icon color, expressed in #rrggbb format.
-        "tag": "A String", # Identifier used to replace existing notifications in the notification
-            # drawer.
-            # If not specified, each request creates a new notification.
-            # If specified and a notification with the same tag is already being shown,
-            # the new notification replaces the existing one in the notification drawer.
-        "titleLocKey": "A String", # The key to the title string in the app's string resources to use to
-            # localize the title text to the user's current localization.
-            # See [String Resources](https://goo.gl/NdFZGI) for more information.
-        "image": "A String", # Contains the URL of an image that is going to be displayed in a
-            # notification. If present, it will override
-            # google.firebase.fcm.v1.Notification.image.
-        "visibility": "A String", # Set the
-            # [Notification.visibility](https://developer.android.com/reference/android/app/Notification.html#visibility)
-            # of the notification.
-        "ticker": "A String", # Sets the "ticker" text, which is sent to accessibility services.
-            # Prior to API level 21 (`Lollipop`), sets the text that is displayed in the
-            # status bar when the notification first arrives.
-        "title": "A String", # The notification's title. If present, it will override
-            # google.firebase.fcm.v1.Notification.title.
-        "defaultSound": True or False, # If set to true, use the Android framework's default sound for the
-            # notification. Default values are specified in
-            # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
-        "sticky": True or False, # When set to false or unset, the notification is automatically
-            # dismissed when the user clicks it in the panel. When set to true, the
-            # notification persists even when the user clicks it.
-        "titleLocArgs": [ # Variable string values to be used in place of the format specifiers in
-            # title_loc_key to use to localize the title text to the user's current
+        "bodyLocArgs": [ # Variable string values to be used in place of the format specifiers in
+            # body_loc_key to use to localize the body text to the user's current
             # localization.
             # See [Formatting and Styling](https://goo.gl/MalYE3) for more information.
           "A String",
         ],
+        "defaultLightSettings": True or False, # If set to true, use the Android framework's default LED light settings for
+            # the notification. Default values are specified in
+            # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
+            # If `default_light_settings` is set to true and `light_settings` is also
+            # set, the user-specified `light_settings` is used instead of the
+            # default value.
         "channelId": "A String", # The [notification's channel
             # id](https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels)
             # (new in Android O). The app must create a channel with this channel ID
@@ -743,7 +721,59 @@
             # this channel ID in the request, or if the channel ID provided has not yet
             # been created by the app, FCM uses the channel ID specified in the app
             # manifest.
+        "defaultVibrateTimings": True or False, # If set to true, use the Android framework's default vibrate pattern for the
+            # notification. Default values are specified in
+            # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
+            # If `default_vibrate_timings` is set to true and `vibrate_timings` is also
+            # set, the default value is used instead of the user-specified
+            # `vibrate_timings`.
+        "icon": "A String", # The notification's icon.
+            # Sets the notification icon to myicon for drawable resource myicon.
+            # If you don't send this key in the request, FCM displays the launcher icon
+            # specified in your app manifest.
+        "ticker": "A String", # Sets the "ticker" text, which is sent to accessibility services.
+            # Prior to API level 21 (`Lollipop`), sets the text that is displayed in the
+            # status bar when the notification first arrives.
+        "notificationPriority": "A String", # Set the relative priority for this notification. Priority is an indication
+            # of how much of the user's attention should be consumed by this
+            # notification. Low-priority notifications may be hidden from the user in
+            # certain situations, while the user might be interrupted for a
+            # higher-priority notification. The effect of setting the same priorities may
+            # differ slightly on different platforms. Note this priority differs from
+            # `AndroidMessagePriority`. This priority is processed by the client after
+            # the message has been delivered, whereas
+            # [AndroidMessagePriority](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#androidmessagepriority)
+            # is an FCM concept that controls when the message is delivered.
+        "color": "A String", # The notification's icon color, expressed in #rrggbb format.
+        "image": "A String", # Contains the URL of an image that is going to be displayed in a
+            # notification. If present, it will override
+            # google.firebase.fcm.v1.Notification.image.
+        "defaultSound": True or False, # If set to true, use the Android framework's default sound for the
+            # notification. Default values are specified in
+            # [config.xml](https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml).
+        "sound": "A String", # The sound to play when the device receives the notification.
+            # Supports "default" or the filename of a sound resource bundled in the app.
+            # Sound files must reside in /res/raw/.
+        "clickAction": "A String", # The action associated with a user click on the notification.
+            # If specified, an activity with a matching intent filter is launched when
+            # a user clicks on the notification.
+        "titleLocKey": "A String", # The key to the title string in the app's string resources to use to
+            # localize the title text to the user's current localization.
+            # See [String Resources](https://goo.gl/NdFZGI) for more information.
+        "tag": "A String", # Identifier used to replace existing notifications in the notification
+            # drawer.
+            # If not specified, each request creates a new notification.
+            # If specified and a notification with the same tag is already being shown,
+            # the new notification replaces the existing one in the notification drawer.
+        "title": "A String", # The notification's title. If present, it will override
+            # google.firebase.fcm.v1.Notification.title.
       },
+      "collapseKey": "A String", # An identifier of a group of messages that can be collapsed, so that only
+          # the last message gets sent when delivery can be resumed. A maximum of 4
+          # different collapse keys is allowed at any given time.
+      "priority": "A String", # Message priority. Can take "normal" and "high" values.
+          # For more information, see [Setting the priority of a
+          # message](https://goo.gl/GjONJv).
       "restrictedPackageName": "A String", # Package name of the application where the registration token must match in
           # order to receive the message.
       "ttl": "A String", # How long (in seconds) the message should be kept in FCM storage if the
@@ -757,28 +787,12 @@
           # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
           # be expressed in JSON format as "3.000000001s". The ttl will be rounded down
           # to the nearest second.
-      "data": { # Arbitrary key/value payload. If present, it will override
-          # google.firebase.fcm.v1.Message.data.
-        "a_key": "A String",
+      "fcmOptions": { # Options for features provided by the FCM SDK for Android. # Options for features provided by the FCM SDK for Android.
+        "analyticsLabel": "A String", # Label associated with the message's analytics data.
       },
-      "priority": "A String", # Message priority. Can take "normal" and "high" values.
-          # For more information, see [Setting the priority of a
-          # message](https://goo.gl/GjONJv).
     },
     "apns": { # [Apple Push Notification Service](https://goo.gl/MXRTPa) specific options. # Input only. [Apple Push Notification Service](https://goo.gl/MXRTPa)
         # specific options.
-      "fcmOptions": { # Options for features provided by the FCM SDK for iOS. # Options for features provided by the FCM SDK for iOS.
-        "image": "A String", # Contains the URL of an image that is going to be displayed in a
-            # notification. If present, it will override
-            # google.firebase.fcm.v1.Notification.image.
-        "analyticsLabel": "A String", # Label associated with the message's analytics data.
-      },
-      "headers": { # HTTP request headers defined in Apple Push Notification Service. Refer to
-          # [APNs request
-          # headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns)
-          # for supported headers, e.g. "apns-priority": "10".
-        "a_key": "A String",
-      },
       "payload": { # APNs payload as a JSON object, including both `aps` dictionary and custom
           # payload. See [Payload Key
           # Reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification).
@@ -786,18 +800,35 @@
           # and google.firebase.fcm.v1.Notification.body.
         "a_key": "", # Properties of the object.
       },
+      "headers": { # HTTP request headers defined in Apple Push Notification Service. Refer to
+          # [APNs request
+          # headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns)
+          # for supported headers, e.g. "apns-priority": "10".
+        "a_key": "A String",
+      },
+      "fcmOptions": { # Options for features provided by the FCM SDK for iOS. # Options for features provided by the FCM SDK for iOS.
+        "analyticsLabel": "A String", # Label associated with the message's analytics data.
+        "image": "A String", # Contains the URL of an image that is going to be displayed in a
+            # notification. If present, it will override
+            # google.firebase.fcm.v1.Notification.image.
+      },
     },
     "webpush": { # [Webpush protocol](https://tools.ietf.org/html/rfc8030) options. # Input only. [Webpush protocol](https://tools.ietf.org/html/rfc8030)
         # options.
-      "headers": { # HTTP headers defined in webpush protocol. Refer to
-          # [Webpush protocol](https://tools.ietf.org/html/rfc8030#section-5) for
-          # supported headers, e.g. "TTL": "15".
-        "a_key": "A String",
+      "fcmOptions": { # Options for features provided by the FCM SDK for Web. # Options for features provided by the FCM SDK for Web.
+        "analyticsLabel": "A String", # Label associated with the message's analytics data.
+        "link": "A String", # The link to open when the user clicks on the notification.
+            # For all URL values, HTTPS is required.
       },
       "data": { # Arbitrary key/value payload. If present, it will override
           # google.firebase.fcm.v1.Message.data.
         "a_key": "A String",
       },
+      "headers": { # HTTP headers defined in webpush protocol. Refer to
+          # [Webpush protocol](https://tools.ietf.org/html/rfc8030#section-5) for
+          # supported headers, e.g. "TTL": "15".
+        "a_key": "A String",
+      },
       "notification": { # Web Notification options as a JSON object. Supports Notification instance
           # properties as defined in [Web Notification
           # API](https://developer.mozilla.org/en-US/docs/Web/API/Notification). If
@@ -806,32 +837,9 @@
           # [google.firebase.fcm.v1.Notification.body].
         "a_key": "", # Properties of the object.
       },
-      "fcmOptions": { # Options for features provided by the FCM SDK for Web. # Options for features provided by the FCM SDK for Web.
-        "analyticsLabel": "A String", # Label associated with the message's analytics data.
-        "link": "A String", # The link to open when the user clicks on the notification.
-            # For all URL values, HTTPS is required.
-      },
     },
-    "name": "A String", # Output Only. The identifier of the message sent, in the format of
-        # `projects/*/messages/{message_id}`.
-    "fcmOptions": { # Platform independent options for features provided by the FCM SDKs. # Input only. Template for FCM SDK feature options to use across all
-        # platforms.
-      "analyticsLabel": "A String", # Label associated with the message's analytics data.
-    },
-    "notification": { # Basic notification template to use across all platforms. # Input only. Basic notification template to use across all platforms.
-      "title": "A String", # The notification's title.
-      "image": "A String", # Contains the URL of an image that is going to be downloaded on the device
-          # and displayed in a notification.
-          # JPEG, PNG, BMP have full support across platforms. Animated GIF and video
-          # only work on iOS. WebP and HEIF have varying levels of support across
-          # platforms and platform versions.
-          # Android has 1MB image size limit.
-          # Quota usage and implications/costs for hosting image on Firebase Storage:
-          # https://firebase.google.com/pricing
-      "body": "A String", # The notification's body text.
-    },
-    "topic": "A String", # Topic name to send a message to, e.g. "weather".
-        # Note: "/topics/" prefix should not be provided.
+    "condition": "A String", # Condition to send a message to,
+        # e.g. "'foo' in topics && 'bar' in topics".
   }</pre>
 </div>