All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.fcm.v1.FirebaseCloudMessaging Maven / Gradle / Ivy

The newest version!
/*
 * 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;

/**
 * Service definition for FirebaseCloudMessaging (v1).
 *
 * 

* FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost. *

* *

* For more information about this service, see the * API Documentation *

* *

* This service uses {@link FirebaseCloudMessagingRequestInitializer} to initialize global parameters via its * {@link Builder}. *

* * @since 1.3 * @author Google, Inc. */ @SuppressWarnings("javadoc") public class FirebaseCloudMessaging extends com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient { // Note: Leave this static initializer at the top of the file. static { com.google.api.client.util.Preconditions.checkState( (com.google.api.client.googleapis.GoogleUtils.MAJOR_VERSION == 1 && (com.google.api.client.googleapis.GoogleUtils.MINOR_VERSION >= 32 || (com.google.api.client.googleapis.GoogleUtils.MINOR_VERSION == 31 && com.google.api.client.googleapis.GoogleUtils.BUGFIX_VERSION >= 1))) || com.google.api.client.googleapis.GoogleUtils.MAJOR_VERSION >= 2, "You are currently running with version %s of google-api-client. " + "You need at least version 1.31.1 of google-api-client to run version " + "2.0.0 of the Firebase Cloud Messaging API library.", com.google.api.client.googleapis.GoogleUtils.VERSION); } /** * The default encoded root URL of the service. This is determined when the library is generated * and normally should not be changed. * * @since 1.7 */ public static final String DEFAULT_ROOT_URL = "https://fcm.googleapis.com/"; /** * The default encoded mTLS root URL of the service. This is determined when the library is generated * and normally should not be changed. * * @since 1.31 */ public static final String DEFAULT_MTLS_ROOT_URL = "https://fcm.mtls.googleapis.com/"; /** * The default encoded service path of the service. This is determined when the library is * generated and normally should not be changed. * * @since 1.7 */ public static final String DEFAULT_SERVICE_PATH = ""; /** * The default encoded batch path of the service. This is determined when the library is * generated and normally should not be changed. * * @since 1.23 */ public static final String DEFAULT_BATCH_PATH = "batch"; /** * The default encoded base URL of the service. This is determined when the library is generated * and normally should not be changed. */ public static final String DEFAULT_BASE_URL = DEFAULT_ROOT_URL + DEFAULT_SERVICE_PATH; /** * Constructor. * *

* Use {@link Builder} if you need to specify any of the optional parameters. *

* * @param transport HTTP transport, which should normally be: *
    *
  • Google App Engine: * {@code com.google.api.client.extensions.appengine.http.UrlFetchTransport}
  • *
  • Android: {@code newCompatibleTransport} from * {@code com.google.api.client.extensions.android.http.AndroidHttp}
  • *
  • Java: {@link com.google.api.client.googleapis.javanet.GoogleNetHttpTransport#newTrustedTransport()} *
  • *
* @param jsonFactory JSON factory, which may be: *
    *
  • Jackson: {@code com.google.api.client.json.jackson2.JacksonFactory}
  • *
  • Google GSON: {@code com.google.api.client.json.gson.GsonFactory}
  • *
  • Android Honeycomb or higher: * {@code com.google.api.client.extensions.android.json.AndroidJsonFactory}
  • *
* @param httpRequestInitializer HTTP request initializer or {@code null} for none * @since 1.7 */ public FirebaseCloudMessaging(com.google.api.client.http.HttpTransport transport, com.google.api.client.json.JsonFactory jsonFactory, com.google.api.client.http.HttpRequestInitializer httpRequestInitializer) { this(new Builder(transport, jsonFactory, httpRequestInitializer)); } /** * @param builder builder */ FirebaseCloudMessaging(Builder builder) { super(builder); } @Override protected void initialize(com.google.api.client.googleapis.services.AbstractGoogleClientRequest httpClientRequest) throws java.io.IOException { super.initialize(httpClientRequest); } /** * An accessor for creating requests from the Projects collection. * *

The typical use is:

*
   *   {@code FirebaseCloudMessaging fcm = new FirebaseCloudMessaging(...);}
   *   {@code FirebaseCloudMessaging.Projects.List request = fcm.projects().list(parameters ...)}
   * 
* * @return the resource collection */ public Projects projects() { return new Projects(); } /** * The "projects" collection of methods. */ public class Projects { /** * An accessor for creating requests from the Messages collection. * *

The typical use is:

*
     *   {@code FirebaseCloudMessaging fcm = new FirebaseCloudMessaging(...);}
     *   {@code FirebaseCloudMessaging.Messages.List request = fcm.messages().list(parameters ...)}
     * 
* * @return the resource collection */ public Messages messages() { return new Messages(); } /** * The "messages" collection of methods. */ public class Messages { /** * Send a message to specified target (a registration token, topic or condition). * * Create a request for the method "messages.send". * * This request holds the parameters needed by the fcm server. After setting any optional * parameters, call the {@link Send#execute()} method to invoke the remote operation. * * @param parent Required. It contains the Firebase project id (i.e. the unique identifier for your Firebase * project), in the format of `projects/{project_id}`. For legacy support, the numeric * project number with no padding is also supported in the format of * `projects/{project_number}`. * @param content the {@link com.google.api.services.fcm.v1.model.SendMessageRequest} * @return the request */ public Send send(java.lang.String parent, com.google.api.services.fcm.v1.model.SendMessageRequest content) throws java.io.IOException { Send result = new Send(parent, content); initialize(result); return result; } public class Send extends FirebaseCloudMessagingRequest { private static final String REST_PATH = "v1/{+parent}/messages:send"; private final java.util.regex.Pattern PARENT_PATTERN = java.util.regex.Pattern.compile("^projects/[^/]+$"); /** * Send a message to specified target (a registration token, topic or condition). * * Create a request for the method "messages.send". * * This request holds the parameters needed by the the fcm server. After setting any optional * parameters, call the {@link Send#execute()} method to invoke the remote operation.

{@link * Send#initialize(com.google.api.client.googleapis.services.AbstractGoogleClientRequest)} must be * called to initialize this instance immediately after invoking the constructor.

* * @param parent Required. It contains the Firebase project id (i.e. the unique identifier for your Firebase * project), in the format of `projects/{project_id}`. For legacy support, the numeric * project number with no padding is also supported in the format of * `projects/{project_number}`. * @param content the {@link com.google.api.services.fcm.v1.model.SendMessageRequest} * @since 1.13 */ protected Send(java.lang.String parent, com.google.api.services.fcm.v1.model.SendMessageRequest content) { super(FirebaseCloudMessaging.this, "POST", REST_PATH, content, com.google.api.services.fcm.v1.model.Message.class); this.parent = com.google.api.client.util.Preconditions.checkNotNull(parent, "Required parameter parent must be specified."); if (!getSuppressPatternChecks()) { com.google.api.client.util.Preconditions.checkArgument(PARENT_PATTERN.matcher(parent).matches(), "Parameter parent must conform to the pattern " + "^projects/[^/]+$"); } } @Override public Send set$Xgafv(java.lang.String $Xgafv) { return (Send) super.set$Xgafv($Xgafv); } @Override public Send setAccessToken(java.lang.String accessToken) { return (Send) super.setAccessToken(accessToken); } @Override public Send setAlt(java.lang.String alt) { return (Send) super.setAlt(alt); } @Override public Send setCallback(java.lang.String callback) { return (Send) super.setCallback(callback); } @Override public Send setFields(java.lang.String fields) { return (Send) super.setFields(fields); } @Override public Send setKey(java.lang.String key) { return (Send) super.setKey(key); } @Override public Send setOauthToken(java.lang.String oauthToken) { return (Send) super.setOauthToken(oauthToken); } @Override public Send setPrettyPrint(java.lang.Boolean prettyPrint) { return (Send) super.setPrettyPrint(prettyPrint); } @Override public Send setQuotaUser(java.lang.String quotaUser) { return (Send) super.setQuotaUser(quotaUser); } @Override public Send setUploadType(java.lang.String uploadType) { return (Send) super.setUploadType(uploadType); } @Override public Send setUploadProtocol(java.lang.String uploadProtocol) { return (Send) super.setUploadProtocol(uploadProtocol); } /** * Required. It contains the Firebase project id (i.e. the unique identifier for your * Firebase project), in the format of `projects/{project_id}`. For legacy support, the * numeric project number with no padding is also supported in the format of * `projects/{project_number}`. */ @com.google.api.client.util.Key private java.lang.String parent; /** Required. It contains the Firebase project id (i.e. the unique identifier for your Firebase project), in the format of `projects/{project_id}`. For legacy support, the numeric project number with no padding is also supported in the format of `projects/{project_number}`. */ public java.lang.String getParent() { return parent; } /** * Required. It contains the Firebase project id (i.e. the unique identifier for your * Firebase project), in the format of `projects/{project_id}`. For legacy support, the * numeric project number with no padding is also supported in the format of * `projects/{project_number}`. */ public Send setParent(java.lang.String parent) { if (!getSuppressPatternChecks()) { com.google.api.client.util.Preconditions.checkArgument(PARENT_PATTERN.matcher(parent).matches(), "Parameter parent must conform to the pattern " + "^projects/[^/]+$"); } this.parent = parent; return this; } @Override public Send set(String parameterName, Object value) { return (Send) super.set(parameterName, value); } } } } /** * Builder for {@link FirebaseCloudMessaging}. * *

* Implementation is not thread-safe. *

* * @since 1.3.0 */ public static final class Builder extends com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient.Builder { private static String chooseEndpoint(com.google.api.client.http.HttpTransport transport) { // If the GOOGLE_API_USE_MTLS_ENDPOINT environment variable value is "always", use mTLS endpoint. // If the env variable is "auto", use mTLS endpoint if and only if the transport is mTLS. // Use the regular endpoint for all other cases. String useMtlsEndpoint = System.getenv("GOOGLE_API_USE_MTLS_ENDPOINT"); useMtlsEndpoint = useMtlsEndpoint == null ? "auto" : useMtlsEndpoint; if ("always".equals(useMtlsEndpoint) || ("auto".equals(useMtlsEndpoint) && transport != null && transport.isMtls())) { return DEFAULT_MTLS_ROOT_URL; } return DEFAULT_ROOT_URL; } /** * Returns an instance of a new builder. * * @param transport HTTP transport, which should normally be: *
    *
  • Google App Engine: * {@code com.google.api.client.extensions.appengine.http.UrlFetchTransport}
  • *
  • Android: {@code newCompatibleTransport} from * {@code com.google.api.client.extensions.android.http.AndroidHttp}
  • *
  • Java: {@link com.google.api.client.googleapis.javanet.GoogleNetHttpTransport#newTrustedTransport()} *
  • *
* @param jsonFactory JSON factory, which may be: *
    *
  • Jackson: {@code com.google.api.client.json.jackson2.JacksonFactory}
  • *
  • Google GSON: {@code com.google.api.client.json.gson.GsonFactory}
  • *
  • Android Honeycomb or higher: * {@code com.google.api.client.extensions.android.json.AndroidJsonFactory}
  • *
* @param httpRequestInitializer HTTP request initializer or {@code null} for none * @since 1.7 */ public Builder(com.google.api.client.http.HttpTransport transport, com.google.api.client.json.JsonFactory jsonFactory, com.google.api.client.http.HttpRequestInitializer httpRequestInitializer) { super( transport, jsonFactory, Builder.chooseEndpoint(transport), DEFAULT_SERVICE_PATH, httpRequestInitializer, false); setBatchPath(DEFAULT_BATCH_PATH); } /** Builds a new instance of {@link FirebaseCloudMessaging}. */ @Override public FirebaseCloudMessaging build() { return new FirebaseCloudMessaging(this); } @Override public Builder setRootUrl(String rootUrl) { return (Builder) super.setRootUrl(rootUrl); } @Override public Builder setServicePath(String servicePath) { return (Builder) super.setServicePath(servicePath); } @Override public Builder setBatchPath(String batchPath) { return (Builder) super.setBatchPath(batchPath); } @Override public Builder setHttpRequestInitializer(com.google.api.client.http.HttpRequestInitializer httpRequestInitializer) { return (Builder) super.setHttpRequestInitializer(httpRequestInitializer); } @Override public Builder setApplicationName(String applicationName) { return (Builder) super.setApplicationName(applicationName); } @Override public Builder setSuppressPatternChecks(boolean suppressPatternChecks) { return (Builder) super.setSuppressPatternChecks(suppressPatternChecks); } @Override public Builder setSuppressRequiredParameterChecks(boolean suppressRequiredParameterChecks) { return (Builder) super.setSuppressRequiredParameterChecks(suppressRequiredParameterChecks); } @Override public Builder setSuppressAllChecks(boolean suppressAllChecks) { return (Builder) super.setSuppressAllChecks(suppressAllChecks); } /** * Set the {@link FirebaseCloudMessagingRequestInitializer}. * * @since 1.12 */ public Builder setFirebaseCloudMessagingRequestInitializer( FirebaseCloudMessagingRequestInitializer firebasecloudmessagingRequestInitializer) { return (Builder) super.setGoogleClientRequestInitializer(firebasecloudmessagingRequestInitializer); } @Override public Builder setGoogleClientRequestInitializer( com.google.api.client.googleapis.services.GoogleClientRequestInitializer googleClientRequestInitializer) { return (Builder) super.setGoogleClientRequestInitializer(googleClientRequestInitializer); } @Override public Builder setUniverseDomain(String universeDomain) { return (Builder) super.setUniverseDomain(universeDomain); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy