REST Resource: projects.messages

Recurso: Mensaje

Es el mensaje que debe enviar el servicio de Firebase Cloud Messaging.

Representación JSON
{
  "name": string,
  "data": {
    string: string,
    ...
  },
  "notification": {
    object (Notification)
  },
  "android": {
    object (AndroidConfig)
  },
  "webpush": {
    object (WebpushConfig)
  },
  "apns": {
    object (ApnsConfig)
  },
  "fcm_options": {
    object (FcmOptions)
  },

  // Union field target can be only one of the following:
  "token": string,
  "topic": string,
  "condition": string
  // End of list of possible types for union field target.
}
Campos
name

string

Solo salida. El identificador del mensaje enviado, en el formato de projects/*/messages/{message_id}.

data

map (key: string, value: string)

Solo entrada. Carga útil de clave-valor arbitraria, que debe estar codificada en UTF-8. La clave no debe ser una palabra reservada (“from”, “message_type”, ni ninguna palabra que empiece con “google.” o “gcm.notification.”). Cuando se envían cargas útiles que contienen solo campos de datos a dispositivos iOS, solo se permite la prioridad normal ("apns-priority": "5") en ApnsConfig.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (Notification)

Solo entrada. Plantilla de notificación básica para usar en todas las plataformas.

android

object (AndroidConfig)

Solo entrada. Opciones específicas de Android para los mensajes enviados a través del servidor de conexiones de FCM.

webpush

object (WebpushConfig)

Solo entrada. Opciones del protocolo Webpush.

apns

object (ApnsConfig)

Solo entrada. Opciones específicas del Servicio de notificaciones push de Apple.

fcm_options

object (FcmOptions)

Solo entrada. Plantilla de opciones de funciones del SDK de FCM para usar en todas las plataformas.

Campo de unión target. Obligatorio. Solo entrada. Destino al que se enviará un mensaje. target puede ser solo uno de los siguientes:
token

string

Token de registro para enviar un mensaje.

topic

string

Es el nombre del tema al que se envía un mensaje, p.ej., "clima". Nota: “/topics/” no se debe proporcionar el prefijo.

condition

string

Condiciones para enviar un mensaje, p.ej., “'foo' en temas && 'bar' en temas".

Notificación

Plantilla de notificación básica para usar en todas las plataformas.

Representación JSON
{
  "title": string,
  "body": string,
  "image": string
}
Campos
title

string

El título de la notificación.

body

string

El texto del cuerpo de la notificación.

image

string

Contiene la URL de una imagen que se descargará en el dispositivo y se mostrará en una notificación. Los archivos JPEG, PNG y BMP son totalmente compatibles con todas las plataformas. Los GIF y videos animados solo funcionan en iOS. WebP y HEIF tienen diferentes niveles de compatibilidad entre plataformas y versiones de plataforma. Android tiene un límite de tamaño de 1 MB para las imágenes. Uso de la cuota y costos/implicaciones de alojar imágenes en Firebase Storage: https://firebase.google.com/pricing

AndroidConfig

Opciones específicas de Android para los mensajes enviados a través del servidor de conexiones de FCM.

Representación JSON
{
  "collapse_key": string,
  "priority": enum (AndroidMessagePriority),
  "ttl": string,
  "restricted_package_name": string,
  "data": {
    string: string,
    ...
  },
  "notification": {
    object (AndroidNotification)
  },
  "fcm_options": {
    object (AndroidFcmOptions)
  },
  "direct_boot_ok": boolean
}
Campos
collapse_key

string

Un identificador de un grupo de mensajes que se pueden contraer, de modo que solo se envíe el último mensaje cuando se reanude la entrega. Se permite un máximo de 4 claves de contracción diferentes en cualquier momento.

priority

enum (AndroidMessagePriority)

La prioridad del mensaje. Puede tomar la palabra “normal” y "alto" de salida. Para obtener más información, consulta Cómo configurar la prioridad de un mensaje.

ttl

string (Duration format)

Cuánto tiempo (en segundos) se debe guardar el mensaje en el almacenamiento de FCM si el dispositivo está sin conexión. El tiempo de vida máximo admitido es de 4 semanas y, si no se configura, el valor predeterminado es de 4 semanas. Establécelo en 0 si deseas enviar el mensaje inmediatamente. En el formato JSON, el tipo Duration está codificado como una cadena en lugar de un objeto, en el que la cadena termina con el sufijo “s”. (indica los segundos) y está precedido por la cantidad de segundos, con los nanosegundos expresados como segundos fraccionarios. Por ejemplo, 3 segundos con 0 nanosegundos se deben codificar en formato JSON como “3s”, mientras que 3 segundos y 1 nanosegundo se deben expresar en formato JSON como “3.000000001s”. El TTL se redondeará hacia abajo hasta el segundo más cercano.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

restricted_package_name

string

El nombre del paquete de la aplicación donde el token de registro debe coincidir para recibir el mensaje.

data

map (key: string, value: string)

Carga útil de clave-valor arbitraria. Si está presente, anulará google.firebase.fcm.v1.Message.data.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (AndroidNotification)

Notificación para enviar a dispositivos Android.

fcm_options

object (AndroidFcmOptions)

Opciones para las funciones que proporciona el SDK de FCM para Android.

direct_boot_ok

boolean

Si se establece como verdadera, se permitirá que los mensajes se entreguen a la app mientras el dispositivo esté en modo de inicio directo. Consulta Cómo admitir el modo de inicio directo.

AndroidMessagePriority

La prioridad de un mensaje para enviar a dispositivos Android. Ten en cuenta que esta prioridad es un concepto de FCM que controla cuándo se entrega el mensaje. Consulta las guías de FCM. Además, puedes usar AndroidNotification.NotificationPriority para determinar la prioridad de visualización de las notificaciones en los dispositivos Android de destino.

Enums
NORMAL Prioridad predeterminada para los mensajes de datos. Los mensajes de prioridad normal no abren conexiones de red en un dispositivo suspendido y su entrega se puede retrasar para ahorrar batería. Para los mensajes menos urgentes, como las notificaciones de nuevos correos electrónicos u otros datos para sincronizar, elige la prioridad de entrega normal.
HIGH Prioridad predeterminada para los mensajes de notificación. FCM intenta entregar los mensajes de alta prioridad de inmediato, lo que permite que el servicio de FCM active un dispositivo suspendido cuando sea posible y abra una conexión de red a tu servidor de apps. Las apps con mensajería instantánea, chat o alertas de llamadas de voz, por ejemplo, necesitan abrir una conexión de red y asegurarse de que FCM entregue el mensaje al dispositivo sin demora. Establece la prioridad alta si el mensaje es urgente y requiere la interacción inmediata del usuario, pero ten en cuenta que configurar los mensajes con prioridad alta consume más batería en comparación con los mensajes con prioridad normal.

AndroidNotification

Notificación para enviar a dispositivos Android.

Representación JSON
{
  "title": string,
  "body": string,
  "icon": string,
  "color": string,
  "sound": string,
  "tag": string,
  "click_action": string,
  "body_loc_key": string,
  "body_loc_args": [
    string
  ],
  "title_loc_key": string,
  "title_loc_args": [
    string
  ],
  "channel_id": string,
  "ticker": string,
  "sticky": boolean,
  "event_time": string,
  "local_only": boolean,
  "notification_priority": enum (NotificationPriority),
  "default_sound": boolean,
  "default_vibrate_timings": boolean,
  "default_light_settings": boolean,
  "vibrate_timings": [
    string
  ],
  "visibility": enum (Visibility),
  "notification_count": integer,
  "light_settings": {
    object (LightSettings)
  },
  "image": string,
  "bypass_proxy_notification": boolean,
  "proxy": enum (Proxy)
}
Campos
title

string

El título de la notificación. Si está presente, anulará google.firebase.fcm.v1.Notification.title.

body

string

El texto del cuerpo de la notificación. Si está presente, anulará google.firebase.fcm.v1.Notification.body.

icon

string

El ícono de la notificación. Configura el ícono de notificación como myicon para el recurso de elementos de diseño myicon. Si no envías esta clave en la solicitud, FCM muestra el ícono de selector especificado en el manifiesto de la app.

color

string

El color del ícono de la notificación, expresado en formato #rrggbb.

sound

string

El sonido que se reproduce cuando el dispositivo recibe la notificación. Admite la configuración predeterminada o el nombre de archivo de un recurso de sonido incluido en la app. Los archivos de sonido deben estar en /res/raw/.

tag

string

Identificador que se usa para reemplazar las notificaciones existentes en el panel lateral de notificaciones. Si no se configura, cada solicitud crea una nueva notificación. Si se especifica y ya se muestra una notificación con la misma etiqueta, la nueva notificación reemplaza la existente en el panel lateral de notificaciones.

click_action

string

La acción asociada con el clic de un usuario en la notificación. Si se especifica, se lanza una actividad con un filtro de intents coincidente cuando un usuario hace clic en la notificación.

body_loc_key

string

La clave de la cadena del cuerpo en los recursos de cadenas de la app que se usa para localizar el texto del cuerpo en la localización actual del usuario. Consulta los Recursos de cadenas para obtener más información.

body_loc_args[]

string

Valores de cadena variables que se usarán en lugar de los especificadores de formato en body_loc_key para localizar el cuerpo del texto en la localización actual del usuario. Consulta Formato y estilo para obtener más información.

title_loc_key

string

La clave de la cadena del título en los recursos de cadenas de la app que se usa para localizar el texto del título según la localización actual del usuario. Consulta los Recursos de cadenas para obtener más información.

title_loc_args[]

string

Valores de cadena variables que se usarán en lugar de los especificadores de formato en title_loc_key para localizar el título del texto en la localización actual del usuario. Consulta Formato y estilo para obtener más información.

channel_id

string

El ID de canal de la notificación (nuevo en Android O). La app debe crear un canal con este ID antes de que se reciba cualquier notificación con ese ID. Si no envías este ID de canal en la solicitud o si la app aún no crea el ID proporcionado, FCM usa el ID de canal especificado en el manifiesto de la app.

ticker

string

Establece la cotización. texto, que se envía a los servicios de accesibilidad. Antes del nivel de API 21 (Lollipop), establece el texto que se muestra en la barra de estado cuando llega la notificación por primera vez.

sticky

boolean

Si la estableces como falsa o no la estableces, la notificación se descartará automáticamente cuando el usuario haga clic en ella en el panel. Cuando se configura como verdadera, la notificación persiste incluso cuando el usuario hace clic en ella.

event_time

string (Timestamp format)

Establece la hora a la que ocurrió el evento en la notificación. Las notificaciones del panel se ordenan por este momento. Un momento determinado se representa con protobuf.Timestamp.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

local_only

boolean

Establece si esta notificación es relevante solo para el dispositivo actual o no. Algunas notificaciones se pueden compartir con otros dispositivos para mostrarlas de manera remota, como un reloj Wear OS. Se puede configurar esta sugerencia para que no se transmita esta notificación. Consulta las guías de Wear OS

notification_priority

enum (NotificationPriority)

Establece la prioridad relativa de esta notificación. La prioridad indica cuánta atención del usuario debe consumir esta notificación. Las notificaciones de prioridad baja pueden ocultarse para el usuario en ciertas situaciones, mientras que el usuario podría verse interrumpido por una notificación de prioridad más alta. El efecto de establecer las mismas prioridades puede variar ligeramente según la plataforma. Ten en cuenta que esta prioridad es diferente de AndroidMessagePriority. El cliente procesa esta prioridad después de que se entrega el mensaje, mientras que AndroidMessagePriority es un concepto de FCM que controla cuándo se entrega el mensaje.

default_sound

boolean

Si la estableces como verdadera, usa el sonido predeterminado del framework de Android para la notificación. Los valores predeterminados se especifican en config.xml.

default_vibrate_timings

boolean

Si la estableces como verdadera, usa el patrón de vibración predeterminado del framework de Android para la notificación. Los valores predeterminados se especifican en config.xml. Si estableces default_vibrate_timings como verdadero y también se establece vibrate_timings, se usa el valor predeterminado en lugar del vibrate_timings especificado por el usuario.

default_light_settings

boolean

Si la estableces como verdadera, usa la configuración de luz LED predeterminada del framework de Android para la notificación. Los valores predeterminados se especifican en config.xml. Si se establece default_light_settings como verdadero y también se establece light_settings, se usa la light_settings especificada por el usuario en lugar del valor predeterminado.

vibrate_timings[]

string (Duration format)

Establece el patrón de vibración que se va a usar. Pasa un array de protobuf.Duration para activar o desactivar el vibrador. El primer valor indica el Duration que se debe esperar antes de activar el vibrador. El siguiente valor indica el Duration para mantener el vibrador activado. Los valores siguientes alternan entre Duration para apagar el vibrador y activarlo. Si se configura vibrate_timings y default_vibrate_timings como true, se usa el valor predeterminado en lugar del vibrate_timings especificado por el usuario.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

visibility

enum (Visibility)

Establece el campo Notification.visibility de la notificación.

notification_count

integer

Establece la cantidad de elementos que representa esta notificación. Se puede mostrar como un recuento de insignias para los selectores compatibles con insignias.Consulta Insignia de notificación. Por ejemplo, esto podría ser útil si usas una sola notificación para representar varios mensajes nuevos, pero quieres que el recuento aquí representa la cantidad total de mensajes nuevos. Si es cero o no se especifica, los sistemas que admiten insignias usan el valor predeterminado, que consiste en aumentar el número que se muestra en el menú de presión prolongada cada vez que llega una notificación nueva.

light_settings

object (LightSettings)

Configuración para controlar la velocidad de intermitencia del LED de la notificación y el color si la luz LED está disponible en el dispositivo. El SO controla el tiempo total de intermitencia.

image

string

Contiene la URL de una imagen que se mostrará en una notificación. Si está presente, anulará google.firebase.fcm.v1.Notification.image.

bypass_proxy_notification
(deprecated)

boolean

Si se establece esta opción, la app no administrará las notificaciones en pantalla que se entreguen al dispositivo.

proxy

enum (Proxy)

Configuración que permite controlar cuándo se puede enviar una notificación a través del proxy.

Prioridad de notificación

Niveles de prioridad de una notificación.

Enums
PRIORITY_UNSPECIFIED Si no se especifica la prioridad, la prioridad de la notificación se establece en PRIORITY_DEFAULT.
PRIORITY_MIN La prioridad de notificación más baja. Es posible que las notificaciones con este PRIORITY_MIN no se muestren al usuario, excepto en circunstancias especiales, como registros de notificaciones detallados.
PRIORITY_LOW Prioridad de notificación más baja. La IU puede elegir mostrar las notificaciones más pequeñas o en una posición diferente en la lista, en comparación con las notificaciones con PRIORITY_DEFAULT.
PRIORITY_DEFAULT Prioridad de notificación predeterminada. Si la aplicación no prioriza sus propias notificaciones, usa este valor para todas las notificaciones.
PRIORITY_HIGH Prioridad de notificaciones más alta. Usa esta opción para recibir notificaciones o alertas más importantes. La IU puede elegir mostrar estas notificaciones más grandes, o en una posición diferente en las listas de notificaciones, en comparación con las notificaciones con PRIORITY_DEFAULT.
PRIORITY_MAX La prioridad de notificaciones más alta. Úsalo para los elementos más importantes de la aplicación que requieran la atención o entrada del usuario.

Visibilidad

Diferentes niveles de visibilidad de una notificación.

Enums
VISIBILITY_UNSPECIFIED Si no se especifica, el valor predeterminado es Visibility.PRIVATE.
PRIVATE Mostrar esta notificación en todas las pantallas de bloqueo, pero oculta información sensible o privada en pantallas de bloqueo seguras.
PUBLIC Mostrar esta notificación en su totalidad en todas las pantallas de bloqueo.
SECRET No reveles ninguna parte de la notificación en una pantalla bloqueada segura.

Configuración de luz

Configuración para controlar el LED de notificaciones.

Representación JSON
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
Campos
color

object (Color)

Obligatorio. Establece el color del LED con google.type.Color.

light_on_duration

string (Duration format)

Obligatorio. Junto con la función light_off_duration, define la tasa de intermitencia de los flashes LED. La resolución se define por proto.Duration.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

light_off_duration

string (Duration format)

Obligatorio. Junto con la función light_on_duration, define la tasa de intermitencia de los flashes LED. La resolución se define por proto.Duration.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

Color

Representa un color en el espacio de color RGBA. Esta representación está diseñada para simplificar la conversión desde y hacia las representaciones de color en varios idiomas por sobre la compactación. Por ejemplo, los campos de esta representación se pueden proporcionar de forma trivial al constructor de java.awt.Color en Java. también se puede proporcionar trivialmente al método +colorWithRed:green:blue:alpha de UIColor en iOS. y, con solo un poco de trabajo, se puede formatear fácilmente en una cadena CSS rgba() en JavaScript.

Esta página de referencia no tiene información sobre el espacio de color absoluto que se debe usar para interpretar el valor RGB (por ejemplo, sRGB, Adobe RGB, DCI-P3 y BT.2020). De forma predeterminada, las aplicaciones deben asumir el espacio de color sRGB.

Cuando se debe decidir la igualdad de color, las implementaciones, a menos que se documente lo contrario, tratan dos colores como iguales si todos sus valores rojo, verde, azul y alfa difieren, como máximo, en 1e-5.

Ejemplo (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Ejemplo (iOS / Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Ejemplo (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
Representación JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campos
red

number

La cantidad de rojo en el color como un valor en el intervalo [0, 1].

green

number

La cantidad de verde en el color como un valor en el intervalo [0, 1].

blue

number

La cantidad de azul en el color como un valor en el intervalo [0, 1].

alpha

number

La fracción de este color que se debe aplicar al píxel. Es decir, el color del píxel final se define mediante la siguiente ecuación:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Esto significa que el valor 1.0 corresponde a un color sólido, mientras que el valor 0.0 corresponde a un color completamente transparente. Esto utiliza un mensaje de wrapper en lugar de un escalar flotante simple, para que sea posible distinguir entre un valor predeterminado y el valor que no se configura. Si se omite, este objeto de color se representa como un color sólido (como si al valor alfa se le hubiera dado explícitamente un valor de 1.0).

Proxy

Configuración que permite controlar cuándo se puede enviar una notificación a través del proxy.

Enums
PROXY_UNSPECIFIED Si no se especifica, el valor predeterminado es Proxy.IF_PRIORITY_LOWERED.
ALLOW Intenta usar un proxy en esta notificación.
DENY No utilices esta notificación como proxy.
IF_PRIORITY_LOWERED Intenta usar un proxy en esta notificación solo si tu AndroidMessagePriority se redujo de HIGH a NORMAL en el dispositivo.

Opciones de AndroidFcm

Opciones para las funciones que proporciona el SDK de FCM para Android.

Representación JSON
{
  "analytics_label": string
}
Campos
analytics_label

string

Etiqueta asociada con los datos de estadísticas del mensaje.

WebpushConfig

Opciones del protocolo Webpush.

Representación JSON
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
Campos
headers

map (key: string, value: string)

Encabezados HTTP definidos en el protocolo webpush. Consulta el protocolo Webpush para conocer los encabezados compatibles; p.ej., “TTL”: “15”.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

data

map (key: string, value: string)

Carga útil de clave-valor arbitraria. Si está presente, anulará google.firebase.fcm.v1.Message.data.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (Struct format)

Opciones de notificación web como un objeto JSON. Admite propiedades de instancias de notificaciones según se definen en la API de notificación web. Si está presente, se debe utilizar "title". y "body" Los campos anulan google.firebase.fcm.v1.Notification.title y google.firebase.fcm.v1.Notification.body.

fcm_options

object (WebpushFcmOptions)

Opciones para las funciones que proporciona el SDK de FCM para la Web.

WebpushFcmOptions

Opciones para las funciones que proporciona el SDK de FCM para la Web.

Representación JSON
{
  "link": string,
  "analytics_label": string
}
Campos
analytics_label

string

Etiqueta asociada con los datos de estadísticas del mensaje.

ApnsConfig

Opciones específicas del Servicio de notificaciones push de Apple.

Representación JSON
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
Campos
headers

map (key: string, value: string)

Encabezados de solicitud HTTP definidos en el Servicio de notificaciones push de Apple. Consulta Encabezados de solicitud de APNS para conocer los encabezados compatibles como apns-expiration y apns-priority.

El backend establece un valor predeterminado para apns-expiration de 30 días y un valor predeterminado para apns-priority de 10 si no se configura explícitamente.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

payload

object (Struct format)

La carga útil de APNS como un objeto JSON, que incluye el diccionario aps y la carga útil personalizada. Consulta la Referencia de la clave de carga útil. Si está presente, anula google.firebase.fcm.v1.Notification.title y google.firebase.fcm.v1.Notification.body.

fcm_options

object (ApnsFcmOptions)

Opciones para las funciones que proporciona el SDK de FCM para iOS.

Opciones de ApnsFcm

Opciones para las funciones que proporciona el SDK de FCM para iOS.

Representación JSON
{
  "analytics_label": string,
  "image": string
}
Campos
analytics_label

string

Etiqueta asociada con los datos de estadísticas del mensaje.

image

string

Contiene la URL de una imagen que se mostrará en una notificación. Si está presente, anulará google.firebase.fcm.v1.Notification.image.

Opciones de FCM

Opciones independientes de plataformas para funciones proporcionadas por los SDK de FCM.

Representación JSON
{
  "analytics_label": string
}
Campos
analytics_label

string

Etiqueta asociada con los datos de estadísticas del mensaje.

Métodos

send

Envía un mensaje al destino especificado (un token de registro, un tema o una condición).