From ebdecb7ea4936bc4b322ac9e71d61d180996ae26 Mon Sep 17 00:00:00 2001
From: yoshi-code-bot <70984784+yoshi-code-bot@users.noreply.github.com>
Date: Fri, 16 Oct 2026 18:05:49 -0700
Subject: [PATCH] chore: regenerate fcm client
---
.../v1/2.0.0/README.md | 4 +-
.../model/AndroidBackgroundSyncMessage.java | 43 +
.../fcm/v1/model/AndroidConfigV2.java | 342 +++++++
.../fcm/v1/model/AndroidNotificationV2.java | 887 ++++++++++++++++++
.../v1/model/AndroidRemoteNotification.java | 133 +++
...mV1AndroidNotificationV2LightSettings.java | 130 +++
.../api/services/fcm/v1/model/Message.java | 30 +
.../google-api-services-fcm/v1/2.0.0/pom.xml | 4 +-
clients/google-api-services-fcm/v1/README.md | 4 +-
9 files changed, 1571 insertions(+), 6 deletions(-)
create mode 100644 clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidBackgroundSyncMessage.java
create mode 100644 clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidConfigV2.java
create mode 100644 clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidNotificationV2.java
create mode 100644 clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidRemoteNotification.java
create mode 100644 clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/GoogleFirebaseFcmV1AndroidNotificationV2LightSettings.java
diff --git a/clients/google-api-services-fcm/v1/2.0.0/README.md b/clients/google-api-services-fcm/v1/2.0.0/README.md
index 8fd142f7101..a91b4fa95f4 100644
--- a/clients/google-api-services-fcm/v1/2.0.0/README.md
+++ b/clients/google-api-services-fcm/v1/2.0.0/README.md
@@ -22,7 +22,7 @@ Add the following lines to your `pom.xml` file:
com.google.apis
google-api-services-fcm
- v1-rev20260925-2.0.0
+ v1-rev20261013-2.0.0
@@ -35,7 +35,7 @@ repositories {
mavenCentral()
}
dependencies {
- implementation 'com.google.apis:google-api-services-fcm:v1-rev20260925-2.0.0'
+ implementation 'com.google.apis:google-api-services-fcm:v1-rev20261013-2.0.0'
}
```
diff --git a/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidBackgroundSyncMessage.java b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidBackgroundSyncMessage.java
new file mode 100644
index 00000000000..7063d86dd5d
--- /dev/null
+++ b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidBackgroundSyncMessage.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+/*
+ * This code was generated by https://github.com/googleapis/google-api-java-client-services/
+ * Modify at your own risk.
+ */
+
+package com.google.api.services.fcm.v1.model;
+
+/**
+ * A Background Sync message that is sent to an Android device.
+ *
+ *
This is the Java data model class that specifies how to parse/serialize into the JSON that is
+ * transmitted over HTTP when working with the Firebase Cloud Messaging API. For a detailed
+ * explanation see:
+ * https://developers.google.com/api-client-library/java/google-http-java-client/json
+ *
+ *
+ * @author Google, Inc.
+ */
+@SuppressWarnings("javadoc")
+public final class AndroidBackgroundSyncMessage extends com.google.api.client.json.GenericJson {
+
+ @Override
+ public AndroidBackgroundSyncMessage set(String fieldName, Object value) {
+ return (AndroidBackgroundSyncMessage) super.set(fieldName, value);
+ }
+
+ @Override
+ public AndroidBackgroundSyncMessage clone() {
+ return (AndroidBackgroundSyncMessage) super.clone();
+ }
+
+}
diff --git a/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidConfigV2.java b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidConfigV2.java
new file mode 100644
index 00000000000..5280cf43476
--- /dev/null
+++ b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidConfigV2.java
@@ -0,0 +1,342 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+/*
+ * This code was generated by https://github.com/googleapis/google-api-java-client-services/
+ * Modify at your own risk.
+ */
+
+package com.google.api.services.fcm.v1.model;
+
+/**
+ * Android specific V2 options for messages sent through [FCM connection
+ * server](https://goo.gl/4GLdUl). This is a v2 version of the AndroidConfig message and will
+ * replace it in the v2 API.
+ *
+ * This is the Java data model class that specifies how to parse/serialize into the JSON that is
+ * transmitted over HTTP when working with the Firebase Cloud Messaging API. For a detailed
+ * explanation see:
+ * https://developers.google.com/api-client-library/java/google-http-java-client/json
+ *
+ *
+ * @author Google, Inc.
+ */
+@SuppressWarnings("javadoc")
+public final class AndroidConfigV2 extends com.google.api.client.json.GenericJson {
+
+ /**
+ * Optional. Non-urgent background sync message to send to android devices.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private AndroidBackgroundSyncMessage backgroundSync;
+
+ /**
+ * Optional. If set to true, messages will be allowed to be delivered to the app while the device
+ * is in bandwidth constrained mode. This should only be enabled when the app has been tested to
+ * properly handle messages in bandwidth constrained mode.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean bandwidthConstrainedOk;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String collapseKey;
+
+ /**
+ * Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.util.Map data;
+
+ /**
+ * Optional. 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).
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean directBootOk;
+
+ /**
+ * Options for features provided by the FCM SDK for Android. If present, it will override
+ * google.firebase.fcm.v1.Message.fcm_options.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private AndroidFcmOptions fcmOptions;
+
+ /**
+ * Optional. User-facing notification to send to android devices.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private AndroidRemoteNotification remoteNotification;
+
+ /**
+ * Package name of the application where the registration token must match in order to receive the
+ * message.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String restrictedPackageName;
+
+ /**
+ * Optional. If set to true, messages will be allowed to be delivered to the app while the device
+ * is connected over a restricted satellite network. This should only be enabled for messages that
+ * can be handled over a restricted satellite network and only for apps that are enabled to work
+ * over a restricted satellite network. Note that the ability of the app to connect to a
+ * restricted satellite network is dependent on the carrier's settings and the device model.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean restrictedSatelliteOk;
+
+ /**
+ * How long (in seconds) the message should be kept in FCM storage if the device is offline. The
+ * maximum time to live supported is 4 weeks, and the default value is 4 weeks if not set. Set it
+ * to 0 if want to send the message immediately. In JSON format, the Duration type is encoded as a
+ * string rather than an object, where the string ends in the suffix "s" (indicating seconds) and
+ * is preceded by the number of seconds, with nanoseconds expressed as fractional seconds. For
+ * example, 3 seconds with 0 nanoseconds should be 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private String ttl;
+
+ /**
+ * Optional. Non-urgent background sync message to send to android devices.
+ * @return value or {@code null} for none
+ */
+ public AndroidBackgroundSyncMessage getBackgroundSync() {
+ return backgroundSync;
+ }
+
+ /**
+ * Optional. Non-urgent background sync message to send to android devices.
+ * @param backgroundSync backgroundSync or {@code null} for none
+ */
+ public AndroidConfigV2 setBackgroundSync(AndroidBackgroundSyncMessage backgroundSync) {
+ this.backgroundSync = backgroundSync;
+ return this;
+ }
+
+ /**
+ * Optional. If set to true, messages will be allowed to be delivered to the app while the device
+ * is in bandwidth constrained mode. This should only be enabled when the app has been tested to
+ * properly handle messages in bandwidth constrained mode.
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getBandwidthConstrainedOk() {
+ return bandwidthConstrainedOk;
+ }
+
+ /**
+ * Optional. If set to true, messages will be allowed to be delivered to the app while the device
+ * is in bandwidth constrained mode. This should only be enabled when the app has been tested to
+ * properly handle messages in bandwidth constrained mode.
+ * @param bandwidthConstrainedOk bandwidthConstrainedOk or {@code null} for none
+ */
+ public AndroidConfigV2 setBandwidthConstrainedOk(java.lang.Boolean bandwidthConstrainedOk) {
+ this.bandwidthConstrainedOk = bandwidthConstrainedOk;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getCollapseKey() {
+ return collapseKey;
+ }
+
+ /**
+ * 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.
+ * @param collapseKey collapseKey or {@code null} for none
+ */
+ public AndroidConfigV2 setCollapseKey(java.lang.String collapseKey) {
+ this.collapseKey = collapseKey;
+ return this;
+ }
+
+ /**
+ * Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data.
+ * @return value or {@code null} for none
+ */
+ public java.util.Map getData() {
+ return data;
+ }
+
+ /**
+ * Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data.
+ * @param data data or {@code null} for none
+ */
+ public AndroidConfigV2 setData(java.util.Map data) {
+ this.data = data;
+ return this;
+ }
+
+ /**
+ * Optional. 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).
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getDirectBootOk() {
+ return directBootOk;
+ }
+
+ /**
+ * Optional. 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).
+ * @param directBootOk directBootOk or {@code null} for none
+ */
+ public AndroidConfigV2 setDirectBootOk(java.lang.Boolean directBootOk) {
+ this.directBootOk = directBootOk;
+ return this;
+ }
+
+ /**
+ * Options for features provided by the FCM SDK for Android. If present, it will override
+ * google.firebase.fcm.v1.Message.fcm_options.
+ * @return value or {@code null} for none
+ */
+ public AndroidFcmOptions getFcmOptions() {
+ return fcmOptions;
+ }
+
+ /**
+ * Options for features provided by the FCM SDK for Android. If present, it will override
+ * google.firebase.fcm.v1.Message.fcm_options.
+ * @param fcmOptions fcmOptions or {@code null} for none
+ */
+ public AndroidConfigV2 setFcmOptions(AndroidFcmOptions fcmOptions) {
+ this.fcmOptions = fcmOptions;
+ return this;
+ }
+
+ /**
+ * Optional. User-facing notification to send to android devices.
+ * @return value or {@code null} for none
+ */
+ public AndroidRemoteNotification getRemoteNotification() {
+ return remoteNotification;
+ }
+
+ /**
+ * Optional. User-facing notification to send to android devices.
+ * @param remoteNotification remoteNotification or {@code null} for none
+ */
+ public AndroidConfigV2 setRemoteNotification(AndroidRemoteNotification remoteNotification) {
+ this.remoteNotification = remoteNotification;
+ return this;
+ }
+
+ /**
+ * Package name of the application where the registration token must match in order to receive the
+ * message.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getRestrictedPackageName() {
+ return restrictedPackageName;
+ }
+
+ /**
+ * Package name of the application where the registration token must match in order to receive the
+ * message.
+ * @param restrictedPackageName restrictedPackageName or {@code null} for none
+ */
+ public AndroidConfigV2 setRestrictedPackageName(java.lang.String restrictedPackageName) {
+ this.restrictedPackageName = restrictedPackageName;
+ return this;
+ }
+
+ /**
+ * Optional. If set to true, messages will be allowed to be delivered to the app while the device
+ * is connected over a restricted satellite network. This should only be enabled for messages that
+ * can be handled over a restricted satellite network and only for apps that are enabled to work
+ * over a restricted satellite network. Note that the ability of the app to connect to a
+ * restricted satellite network is dependent on the carrier's settings and the device model.
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getRestrictedSatelliteOk() {
+ return restrictedSatelliteOk;
+ }
+
+ /**
+ * Optional. If set to true, messages will be allowed to be delivered to the app while the device
+ * is connected over a restricted satellite network. This should only be enabled for messages that
+ * can be handled over a restricted satellite network and only for apps that are enabled to work
+ * over a restricted satellite network. Note that the ability of the app to connect to a
+ * restricted satellite network is dependent on the carrier's settings and the device model.
+ * @param restrictedSatelliteOk restrictedSatelliteOk or {@code null} for none
+ */
+ public AndroidConfigV2 setRestrictedSatelliteOk(java.lang.Boolean restrictedSatelliteOk) {
+ this.restrictedSatelliteOk = restrictedSatelliteOk;
+ return this;
+ }
+
+ /**
+ * How long (in seconds) the message should be kept in FCM storage if the device is offline. The
+ * maximum time to live supported is 4 weeks, and the default value is 4 weeks if not set. Set it
+ * to 0 if want to send the message immediately. In JSON format, the Duration type is encoded as a
+ * string rather than an object, where the string ends in the suffix "s" (indicating seconds) and
+ * is preceded by the number of seconds, with nanoseconds expressed as fractional seconds. For
+ * example, 3 seconds with 0 nanoseconds should be 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.
+ * @return value or {@code null} for none
+ */
+ public String getTtl() {
+ return ttl;
+ }
+
+ /**
+ * How long (in seconds) the message should be kept in FCM storage if the device is offline. The
+ * maximum time to live supported is 4 weeks, and the default value is 4 weeks if not set. Set it
+ * to 0 if want to send the message immediately. In JSON format, the Duration type is encoded as a
+ * string rather than an object, where the string ends in the suffix "s" (indicating seconds) and
+ * is preceded by the number of seconds, with nanoseconds expressed as fractional seconds. For
+ * example, 3 seconds with 0 nanoseconds should be 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.
+ * @param ttl ttl or {@code null} for none
+ */
+ public AndroidConfigV2 setTtl(String ttl) {
+ this.ttl = ttl;
+ return this;
+ }
+
+ @Override
+ public AndroidConfigV2 set(String fieldName, Object value) {
+ return (AndroidConfigV2) super.set(fieldName, value);
+ }
+
+ @Override
+ public AndroidConfigV2 clone() {
+ return (AndroidConfigV2) super.clone();
+ }
+
+}
diff --git a/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidNotificationV2.java b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidNotificationV2.java
new file mode 100644
index 00000000000..d970cf5cb08
--- /dev/null
+++ b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidNotificationV2.java
@@ -0,0 +1,887 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+/*
+ * This code was generated by https://github.com/googleapis/google-api-java-client-services/
+ * Modify at your own risk.
+ */
+
+package com.google.api.services.fcm.v1.model;
+
+/**
+ * Notification v2 to send to android devices. This is a v2 version of the AndroidNotification
+ * message and will replace it in the v2 API.
+ *
+ * This is the Java data model class that specifies how to parse/serialize into the JSON that is
+ * transmitted over HTTP when working with the Firebase Cloud Messaging API. For a detailed
+ * explanation see:
+ * https://developers.google.com/api-client-library/java/google-http-java-client/json
+ *
+ *
+ * @author Google, Inc.
+ */
+@SuppressWarnings("javadoc")
+public final class AndroidNotificationV2 extends com.google.api.client.json.GenericJson {
+
+ /**
+ * The notification's body text. If present, it will override
+ * google.firebase.fcm.v1.Notification.body.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String body;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.util.List bodyLocArgs;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String bodyLocKey;
+
+ /**
+ * 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 before any notification with
+ * this channel ID is received. If you don't send 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String channelId;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String clickAction;
+
+ /**
+ * The notification's icon color, expressed in #rrggbb format.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String color;
+
+ /**
+ * 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/framewor
+ * ks/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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean defaultLightSettings;
+
+ /**
+ * 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/+/maste
+ * r/core/res/res/values/config.xml).
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean defaultSound;
+
+ /**
+ * 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/framewor
+ * ks/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`.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean defaultVibrateTimings;
+
+ /**
+ * 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).
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private String eventTime;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String icon;
+
+ /**
+ * Optional. Identifier used to replace existing notifications in the notification drawer. It is
+ * used in conjunction with `tag` to form a unique identifier `(tag, id`)` within the app. If not
+ * specified, each request creates a new notification. If specified and a notification with the
+ * same `(tag, id)` is already being shown, the new notification replaces the existing one in the
+ * notification drawer.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Integer id;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String image;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private GoogleFirebaseFcmV1AndroidNotificationV2LightSettings lightSettings;
+
+ /**
+ * 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)
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean localOnly;
+
+ /**
+ * 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 non-positive 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Integer notificationCount;
+
+ /**
+ * 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. This parameter affects notification priority only on devices running
+ * Android 7.1 (API level 25) and lower. On Android 8.0 (API level 26) and higher, priority is
+ * ignored in favor of channel
+ * [importance](https://developer.android.com/develop/ui/views/notifications/channels#importance).
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String notificationPriority;
+
+ /**
+ * 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/.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String sound;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean sticky;
+
+ /**
+ * Identifier used to replace existing notifications in the notification drawer. It is used in
+ * conjunction with `id` to form a unique identifier `(tag, id`)` within the app. If not
+ * specified, each request creates a new notification. If specified and a notification with the
+ * same `(tag, id)` is already being shown, the new notification replaces the existing one in the
+ * notification drawer.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String tag;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String ticker;
+
+ /**
+ * The notification's title. If present, it will override
+ * google.firebase.fcm.v1.Notification.title.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String title;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.util.List titleLocArgs;
+
+ /**
+ * 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.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String titleLocKey;
+
+ /**
+ * 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 wait before turning the vibrator on. The
+ * next value indicates the `Duration` to keep the vibrator on. Subsequent values alternate
+ * between `Duration` to turn the vibrator off and to turn the vibrator on. If `vibrate_timings`
+ * is set and `default_vibrate_timings` is set to `true`, the default value is used instead of the
+ * user-specified `vibrate_timings`.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.util.List vibrateTimings;
+
+ /**
+ * Set the [Notification.visibility](https://developer.android.com/reference/android/app/Notificat
+ * ion.html#visibility) of the notification.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.String visibility;
+
+ /**
+ * The notification's body text. If present, it will override
+ * google.firebase.fcm.v1.Notification.body.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getBody() {
+ return body;
+ }
+
+ /**
+ * The notification's body text. If present, it will override
+ * google.firebase.fcm.v1.Notification.body.
+ * @param body body or {@code null} for none
+ */
+ public AndroidNotificationV2 setBody(java.lang.String body) {
+ this.body = body;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.util.List getBodyLocArgs() {
+ return 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.
+ * @param bodyLocArgs bodyLocArgs or {@code null} for none
+ */
+ public AndroidNotificationV2 setBodyLocArgs(java.util.List bodyLocArgs) {
+ this.bodyLocArgs = bodyLocArgs;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getBodyLocKey() {
+ return bodyLocKey;
+ }
+
+ /**
+ * 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.
+ * @param bodyLocKey bodyLocKey or {@code null} for none
+ */
+ public AndroidNotificationV2 setBodyLocKey(java.lang.String bodyLocKey) {
+ this.bodyLocKey = bodyLocKey;
+ return this;
+ }
+
+ /**
+ * 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 before any notification with
+ * this channel ID is received. If you don't send 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getChannelId() {
+ return channelId;
+ }
+
+ /**
+ * 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 before any notification with
+ * this channel ID is received. If you don't send 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.
+ * @param channelId channelId or {@code null} for none
+ */
+ public AndroidNotificationV2 setChannelId(java.lang.String channelId) {
+ this.channelId = channelId;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getClickAction() {
+ return clickAction;
+ }
+
+ /**
+ * 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.
+ * @param clickAction clickAction or {@code null} for none
+ */
+ public AndroidNotificationV2 setClickAction(java.lang.String clickAction) {
+ this.clickAction = clickAction;
+ return this;
+ }
+
+ /**
+ * The notification's icon color, expressed in #rrggbb format.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getColor() {
+ return color;
+ }
+
+ /**
+ * The notification's icon color, expressed in #rrggbb format.
+ * @param color color or {@code null} for none
+ */
+ public AndroidNotificationV2 setColor(java.lang.String color) {
+ this.color = color;
+ return this;
+ }
+
+ /**
+ * 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/framewor
+ * ks/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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getDefaultLightSettings() {
+ return defaultLightSettings;
+ }
+
+ /**
+ * 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/framewor
+ * ks/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.
+ * @param defaultLightSettings defaultLightSettings or {@code null} for none
+ */
+ public AndroidNotificationV2 setDefaultLightSettings(java.lang.Boolean defaultLightSettings) {
+ this.defaultLightSettings = defaultLightSettings;
+ return this;
+ }
+
+ /**
+ * 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/+/maste
+ * r/core/res/res/values/config.xml).
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getDefaultSound() {
+ return defaultSound;
+ }
+
+ /**
+ * 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/+/maste
+ * r/core/res/res/values/config.xml).
+ * @param defaultSound defaultSound or {@code null} for none
+ */
+ public AndroidNotificationV2 setDefaultSound(java.lang.Boolean defaultSound) {
+ this.defaultSound = defaultSound;
+ return this;
+ }
+
+ /**
+ * 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/framewor
+ * ks/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`.
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getDefaultVibrateTimings() {
+ return defaultVibrateTimings;
+ }
+
+ /**
+ * 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/framewor
+ * ks/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`.
+ * @param defaultVibrateTimings defaultVibrateTimings or {@code null} for none
+ */
+ public AndroidNotificationV2 setDefaultVibrateTimings(java.lang.Boolean defaultVibrateTimings) {
+ this.defaultVibrateTimings = defaultVibrateTimings;
+ return this;
+ }
+
+ /**
+ * 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).
+ * @return value or {@code null} for none
+ */
+ public String getEventTime() {
+ return eventTime;
+ }
+
+ /**
+ * 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).
+ * @param eventTime eventTime or {@code null} for none
+ */
+ public AndroidNotificationV2 setEventTime(String eventTime) {
+ this.eventTime = eventTime;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getIcon() {
+ return icon;
+ }
+
+ /**
+ * 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.
+ * @param icon icon or {@code null} for none
+ */
+ public AndroidNotificationV2 setIcon(java.lang.String icon) {
+ this.icon = icon;
+ return this;
+ }
+
+ /**
+ * Optional. Identifier used to replace existing notifications in the notification drawer. It is
+ * used in conjunction with `tag` to form a unique identifier `(tag, id`)` within the app. If not
+ * specified, each request creates a new notification. If specified and a notification with the
+ * same `(tag, id)` is already being shown, the new notification replaces the existing one in the
+ * notification drawer.
+ * @return value or {@code null} for none
+ */
+ public java.lang.Integer getId() {
+ return id;
+ }
+
+ /**
+ * Optional. Identifier used to replace existing notifications in the notification drawer. It is
+ * used in conjunction with `tag` to form a unique identifier `(tag, id`)` within the app. If not
+ * specified, each request creates a new notification. If specified and a notification with the
+ * same `(tag, id)` is already being shown, the new notification replaces the existing one in the
+ * notification drawer.
+ * @param id id or {@code null} for none
+ */
+ public AndroidNotificationV2 setId(java.lang.Integer id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getImage() {
+ return image;
+ }
+
+ /**
+ * 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.
+ * @param image image or {@code null} for none
+ */
+ public AndroidNotificationV2 setImage(java.lang.String image) {
+ this.image = image;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public GoogleFirebaseFcmV1AndroidNotificationV2LightSettings getLightSettings() {
+ return lightSettings;
+ }
+
+ /**
+ * 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.
+ * @param lightSettings lightSettings or {@code null} for none
+ */
+ public AndroidNotificationV2 setLightSettings(GoogleFirebaseFcmV1AndroidNotificationV2LightSettings lightSettings) {
+ this.lightSettings = lightSettings;
+ return this;
+ }
+
+ /**
+ * 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)
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getLocalOnly() {
+ return localOnly;
+ }
+
+ /**
+ * 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)
+ * @param localOnly localOnly or {@code null} for none
+ */
+ public AndroidNotificationV2 setLocalOnly(java.lang.Boolean localOnly) {
+ this.localOnly = localOnly;
+ return this;
+ }
+
+ /**
+ * 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 non-positive 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.Integer getNotificationCount() {
+ return notificationCount;
+ }
+
+ /**
+ * 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 non-positive 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.
+ * @param notificationCount notificationCount or {@code null} for none
+ */
+ public AndroidNotificationV2 setNotificationCount(java.lang.Integer notificationCount) {
+ this.notificationCount = notificationCount;
+ return this;
+ }
+
+ /**
+ * 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. This parameter affects notification priority only on devices running
+ * Android 7.1 (API level 25) and lower. On Android 8.0 (API level 26) and higher, priority is
+ * ignored in favor of channel
+ * [importance](https://developer.android.com/develop/ui/views/notifications/channels#importance).
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getNotificationPriority() {
+ return notificationPriority;
+ }
+
+ /**
+ * 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. This parameter affects notification priority only on devices running
+ * Android 7.1 (API level 25) and lower. On Android 8.0 (API level 26) and higher, priority is
+ * ignored in favor of channel
+ * [importance](https://developer.android.com/develop/ui/views/notifications/channels#importance).
+ * 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.
+ * @param notificationPriority notificationPriority or {@code null} for none
+ */
+ public AndroidNotificationV2 setNotificationPriority(java.lang.String notificationPriority) {
+ this.notificationPriority = notificationPriority;
+ return this;
+ }
+
+ /**
+ * 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/.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getSound() {
+ return sound;
+ }
+
+ /**
+ * 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/.
+ * @param sound sound or {@code null} for none
+ */
+ public AndroidNotificationV2 setSound(java.lang.String sound) {
+ this.sound = sound;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getSticky() {
+ return sticky;
+ }
+
+ /**
+ * 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.
+ * @param sticky sticky or {@code null} for none
+ */
+ public AndroidNotificationV2 setSticky(java.lang.Boolean sticky) {
+ this.sticky = sticky;
+ return this;
+ }
+
+ /**
+ * Identifier used to replace existing notifications in the notification drawer. It is used in
+ * conjunction with `id` to form a unique identifier `(tag, id`)` within the app. If not
+ * specified, each request creates a new notification. If specified and a notification with the
+ * same `(tag, id)` is already being shown, the new notification replaces the existing one in the
+ * notification drawer.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getTag() {
+ return tag;
+ }
+
+ /**
+ * Identifier used to replace existing notifications in the notification drawer. It is used in
+ * conjunction with `id` to form a unique identifier `(tag, id`)` within the app. If not
+ * specified, each request creates a new notification. If specified and a notification with the
+ * same `(tag, id)` is already being shown, the new notification replaces the existing one in the
+ * notification drawer.
+ * @param tag tag or {@code null} for none
+ */
+ public AndroidNotificationV2 setTag(java.lang.String tag) {
+ this.tag = tag;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getTicker() {
+ return ticker;
+ }
+
+ /**
+ * 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.
+ * @param ticker ticker or {@code null} for none
+ */
+ public AndroidNotificationV2 setTicker(java.lang.String ticker) {
+ this.ticker = ticker;
+ return this;
+ }
+
+ /**
+ * The notification's title. If present, it will override
+ * google.firebase.fcm.v1.Notification.title.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getTitle() {
+ return title;
+ }
+
+ /**
+ * The notification's title. If present, it will override
+ * google.firebase.fcm.v1.Notification.title.
+ * @param title title or {@code null} for none
+ */
+ public AndroidNotificationV2 setTitle(java.lang.String title) {
+ this.title = title;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.util.List getTitleLocArgs() {
+ return 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.
+ * @param titleLocArgs titleLocArgs or {@code null} for none
+ */
+ public AndroidNotificationV2 setTitleLocArgs(java.util.List titleLocArgs) {
+ this.titleLocArgs = titleLocArgs;
+ return this;
+ }
+
+ /**
+ * 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.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getTitleLocKey() {
+ return titleLocKey;
+ }
+
+ /**
+ * 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.
+ * @param titleLocKey titleLocKey or {@code null} for none
+ */
+ public AndroidNotificationV2 setTitleLocKey(java.lang.String titleLocKey) {
+ this.titleLocKey = titleLocKey;
+ return this;
+ }
+
+ /**
+ * 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 wait before turning the vibrator on. The
+ * next value indicates the `Duration` to keep the vibrator on. Subsequent values alternate
+ * between `Duration` to turn the vibrator off and to turn the vibrator on. If `vibrate_timings`
+ * is set and `default_vibrate_timings` is set to `true`, the default value is used instead of the
+ * user-specified `vibrate_timings`.
+ * @return value or {@code null} for none
+ */
+ public java.util.List getVibrateTimings() {
+ return 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 wait before turning the vibrator on. The
+ * next value indicates the `Duration` to keep the vibrator on. Subsequent values alternate
+ * between `Duration` to turn the vibrator off and to turn the vibrator on. If `vibrate_timings`
+ * is set and `default_vibrate_timings` is set to `true`, the default value is used instead of the
+ * user-specified `vibrate_timings`.
+ * @param vibrateTimings vibrateTimings or {@code null} for none
+ */
+ public AndroidNotificationV2 setVibrateTimings(java.util.List vibrateTimings) {
+ this.vibrateTimings = vibrateTimings;
+ return this;
+ }
+
+ /**
+ * Set the [Notification.visibility](https://developer.android.com/reference/android/app/Notificat
+ * ion.html#visibility) of the notification.
+ * @return value or {@code null} for none
+ */
+ public java.lang.String getVisibility() {
+ return visibility;
+ }
+
+ /**
+ * Set the [Notification.visibility](https://developer.android.com/reference/android/app/Notificat
+ * ion.html#visibility) of the notification.
+ * @param visibility visibility or {@code null} for none
+ */
+ public AndroidNotificationV2 setVisibility(java.lang.String visibility) {
+ this.visibility = visibility;
+ return this;
+ }
+
+ @Override
+ public AndroidNotificationV2 set(String fieldName, Object value) {
+ return (AndroidNotificationV2) super.set(fieldName, value);
+ }
+
+ @Override
+ public AndroidNotificationV2 clone() {
+ return (AndroidNotificationV2) super.clone();
+ }
+
+}
diff --git a/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidRemoteNotification.java b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidRemoteNotification.java
new file mode 100644
index 00000000000..46468ce82dd
--- /dev/null
+++ b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/AndroidRemoteNotification.java
@@ -0,0 +1,133 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+/*
+ * This code was generated by https://github.com/googleapis/google-api-java-client-services/
+ * Modify at your own risk.
+ */
+
+package com.google.api.services.fcm.v1.model;
+
+/**
+ * A Remote Notification message that is sent to an Android device.
+ *
+ * This is the Java data model class that specifies how to parse/serialize into the JSON that is
+ * transmitted over HTTP when working with the Firebase Cloud Messaging API. For a detailed
+ * explanation see:
+ * https://developers.google.com/api-client-library/java/google-http-java-client/json
+ *
+ *
+ * @author Google, Inc.
+ */
+@SuppressWarnings("javadoc")
+public final class AndroidRemoteNotification extends com.google.api.client.json.GenericJson {
+
+ /**
+ * Optional. If set to true, the notification content can be updated by the app after the
+ * notification is received on the device.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean mutableContent;
+
+ /**
+ * Optional. Notification to send to android devices.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private AndroidNotificationV2 notification;
+
+ /**
+ * Optional. If set to true, this RemoteNotification message will be delivered to legacy V1
+ * clients as data messages by omitting the
+ * google.firebase.fcm.v1.Message.android_v2.remote_notification.notification. This should only be
+ * enabled when migration from legacy V1 data messages. Note that by default (when set to false),
+ * RemoteNotification messages are automatically translated to V1 notification message for legacy
+ * clients;
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private java.lang.Boolean useAsV1DataMessage;
+
+ /**
+ * Optional. If set to true, the notification content can be updated by the app after the
+ * notification is received on the device.
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getMutableContent() {
+ return mutableContent;
+ }
+
+ /**
+ * Optional. If set to true, the notification content can be updated by the app after the
+ * notification is received on the device.
+ * @param mutableContent mutableContent or {@code null} for none
+ */
+ public AndroidRemoteNotification setMutableContent(java.lang.Boolean mutableContent) {
+ this.mutableContent = mutableContent;
+ return this;
+ }
+
+ /**
+ * Optional. Notification to send to android devices.
+ * @return value or {@code null} for none
+ */
+ public AndroidNotificationV2 getNotification() {
+ return notification;
+ }
+
+ /**
+ * Optional. Notification to send to android devices.
+ * @param notification notification or {@code null} for none
+ */
+ public AndroidRemoteNotification setNotification(AndroidNotificationV2 notification) {
+ this.notification = notification;
+ return this;
+ }
+
+ /**
+ * Optional. If set to true, this RemoteNotification message will be delivered to legacy V1
+ * clients as data messages by omitting the
+ * google.firebase.fcm.v1.Message.android_v2.remote_notification.notification. This should only be
+ * enabled when migration from legacy V1 data messages. Note that by default (when set to false),
+ * RemoteNotification messages are automatically translated to V1 notification message for legacy
+ * clients;
+ * @return value or {@code null} for none
+ */
+ public java.lang.Boolean getUseAsV1DataMessage() {
+ return useAsV1DataMessage;
+ }
+
+ /**
+ * Optional. If set to true, this RemoteNotification message will be delivered to legacy V1
+ * clients as data messages by omitting the
+ * google.firebase.fcm.v1.Message.android_v2.remote_notification.notification. This should only be
+ * enabled when migration from legacy V1 data messages. Note that by default (when set to false),
+ * RemoteNotification messages are automatically translated to V1 notification message for legacy
+ * clients;
+ * @param useAsV1DataMessage useAsV1DataMessage or {@code null} for none
+ */
+ public AndroidRemoteNotification setUseAsV1DataMessage(java.lang.Boolean useAsV1DataMessage) {
+ this.useAsV1DataMessage = useAsV1DataMessage;
+ return this;
+ }
+
+ @Override
+ public AndroidRemoteNotification set(String fieldName, Object value) {
+ return (AndroidRemoteNotification) super.set(fieldName, value);
+ }
+
+ @Override
+ public AndroidRemoteNotification clone() {
+ return (AndroidRemoteNotification) super.clone();
+ }
+
+}
diff --git a/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/GoogleFirebaseFcmV1AndroidNotificationV2LightSettings.java b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/GoogleFirebaseFcmV1AndroidNotificationV2LightSettings.java
new file mode 100644
index 00000000000..cdb57363502
--- /dev/null
+++ b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/GoogleFirebaseFcmV1AndroidNotificationV2LightSettings.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+/*
+ * This code was generated by https://github.com/googleapis/google-api-java-client-services/
+ * Modify at your own risk.
+ */
+
+package com.google.api.services.fcm.v1.model;
+
+/**
+ * Settings to control notification LED.
+ *
+ * This is the Java data model class that specifies how to parse/serialize into the JSON that is
+ * transmitted over HTTP when working with the Firebase Cloud Messaging API. For a detailed
+ * explanation see:
+ * https://developers.google.com/api-client-library/java/google-http-java-client/json
+ *
+ *
+ * @author Google, Inc.
+ */
+@SuppressWarnings("javadoc")
+public final class GoogleFirebaseFcmV1AndroidNotificationV2LightSettings extends com.google.api.client.json.GenericJson {
+
+ /**
+ * Required. Set `color` of the LED with [google.type.Color](https://github.com/googleapis/googlea
+ * pis/blob/master/google/type/color.proto).
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private Color color;
+
+ /**
+ * 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)
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private String lightOffDuration;
+
+ /**
+ * 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)
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private String lightOnDuration;
+
+ /**
+ * Required. Set `color` of the LED with [google.type.Color](https://github.com/googleapis/googlea
+ * pis/blob/master/google/type/color.proto).
+ * @return value or {@code null} for none
+ */
+ public Color getColor() {
+ return color;
+ }
+
+ /**
+ * Required. Set `color` of the LED with [google.type.Color](https://github.com/googleapis/googlea
+ * pis/blob/master/google/type/color.proto).
+ * @param color color or {@code null} for none
+ */
+ public GoogleFirebaseFcmV1AndroidNotificationV2LightSettings setColor(Color color) {
+ this.color = color;
+ return this;
+ }
+
+ /**
+ * 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)
+ * @return value or {@code null} for none
+ */
+ public String getLightOffDuration() {
+ return lightOffDuration;
+ }
+
+ /**
+ * 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)
+ * @param lightOffDuration lightOffDuration or {@code null} for none
+ */
+ public GoogleFirebaseFcmV1AndroidNotificationV2LightSettings setLightOffDuration(String lightOffDuration) {
+ this.lightOffDuration = lightOffDuration;
+ return this;
+ }
+
+ /**
+ * 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)
+ * @return value or {@code null} for none
+ */
+ public String getLightOnDuration() {
+ return lightOnDuration;
+ }
+
+ /**
+ * 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)
+ * @param lightOnDuration lightOnDuration or {@code null} for none
+ */
+ public GoogleFirebaseFcmV1AndroidNotificationV2LightSettings setLightOnDuration(String lightOnDuration) {
+ this.lightOnDuration = lightOnDuration;
+ return this;
+ }
+
+ @Override
+ public GoogleFirebaseFcmV1AndroidNotificationV2LightSettings set(String fieldName, Object value) {
+ return (GoogleFirebaseFcmV1AndroidNotificationV2LightSettings) super.set(fieldName, value);
+ }
+
+ @Override
+ public GoogleFirebaseFcmV1AndroidNotificationV2LightSettings clone() {
+ return (GoogleFirebaseFcmV1AndroidNotificationV2LightSettings) super.clone();
+ }
+
+}
diff --git a/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/Message.java b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/Message.java
index 58292cb2986..25a75536fc2 100644
--- a/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/Message.java
+++ b/clients/google-api-services-fcm/v1/2.0.0/com/google/api/services/fcm/v1/model/Message.java
@@ -38,6 +38,15 @@ public final class Message extends com.google.api.client.json.GenericJson {
@com.google.api.client.util.Key
private AndroidConfig android;
+ /**
+ * Optional. Input only. Android specific V2 options for messages sent through FCM connection
+ * server. Mutually exclusive with `android`. Requests with both `AndroidConfig` and
+ * `AndroidConfigV2` will be rejected.
+ * The value may be {@code null}.
+ */
+ @com.google.api.client.util.Key
+ private AndroidConfigV2 androidV2;
+
/**
* Input only. [Apple Push Notification Service](https://goo.gl/MXRTPa) specific options.
* The value may be {@code null}.
@@ -135,6 +144,27 @@ public Message setAndroid(AndroidConfig android) {
return this;
}
+ /**
+ * Optional. Input only. Android specific V2 options for messages sent through FCM connection
+ * server. Mutually exclusive with `android`. Requests with both `AndroidConfig` and
+ * `AndroidConfigV2` will be rejected.
+ * @return value or {@code null} for none
+ */
+ public AndroidConfigV2 getAndroidV2() {
+ return androidV2;
+ }
+
+ /**
+ * Optional. Input only. Android specific V2 options for messages sent through FCM connection
+ * server. Mutually exclusive with `android`. Requests with both `AndroidConfig` and
+ * `AndroidConfigV2` will be rejected.
+ * @param androidV2 androidV2 or {@code null} for none
+ */
+ public Message setAndroidV2(AndroidConfigV2 androidV2) {
+ this.androidV2 = androidV2;
+ return this;
+ }
+
/**
* Input only. [Apple Push Notification Service](https://goo.gl/MXRTPa) specific options.
* @return value or {@code null} for none
diff --git a/clients/google-api-services-fcm/v1/2.0.0/pom.xml b/clients/google-api-services-fcm/v1/2.0.0/pom.xml
index 060f94c4659..83433747c74 100644
--- a/clients/google-api-services-fcm/v1/2.0.0/pom.xml
+++ b/clients/google-api-services-fcm/v1/2.0.0/pom.xml
@@ -8,8 +8,8 @@
com.google.apis
google-api-services-fcm
- v1-rev20260925-2.0.0
- Firebase Cloud Messaging API v1-rev20260925-2.0.0
+ v1-rev20261013-2.0.0
+ Firebase Cloud Messaging API v1-rev20261013-2.0.0
jar
2011
diff --git a/clients/google-api-services-fcm/v1/README.md b/clients/google-api-services-fcm/v1/README.md
index 8fd142f7101..a91b4fa95f4 100644
--- a/clients/google-api-services-fcm/v1/README.md
+++ b/clients/google-api-services-fcm/v1/README.md
@@ -22,7 +22,7 @@ Add the following lines to your `pom.xml` file:
com.google.apis
google-api-services-fcm
- v1-rev20260925-2.0.0
+ v1-rev20261013-2.0.0
@@ -35,7 +35,7 @@ repositories {
mavenCentral()
}
dependencies {
- implementation 'com.google.apis:google-api-services-fcm:v1-rev20260925-2.0.0'
+ implementation 'com.google.apis:google-api-services-fcm:v1-rev20261013-2.0.0'
}
```