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' } ```