REST Resource: projects.messages

Recurso: Mensaje

Mensaje para enviar por Firebase Cloud Messaging Service.

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" o cualquier palabra que comience con "google" o "gcm"). Al enviar 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 "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 mensajes enviados a través del servidor de conexión FCM .

webpush

object ( WebpushConfig )

Solo entrada. Opciones de protocolo Webpush .

apns

object ( ApnsConfig )

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

fcm_options

object ( FcmOptions )

Solo entrada. Plantilla para las opciones de características del SDK de FCM para usar en todas las plataformas.

target de campo de unión. Requerido. Solo entrada. Destino al que enviar un mensaje. El target solo puede ser uno de los siguientes:
token

string

Token de registro para enviar un mensaje.

topic

string

Nombre del tema al que enviar un mensaje, por ejemplo, "clima". Nota: no se debe proporcionar el prefijo "/temas/".

condition

string

Condición para enviar un mensaje, por ejemplo, "'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. JPEG, PNG, BMP tienen soporte completo en todas las plataformas. El GIF animado y el video solo funcionan en iOS. WebP y HEIF tienen diferentes niveles de compatibilidad entre plataformas y versiones de plataformas. Android tiene un límite de tamaño de imagen de 1 MB. Uso de cuotas e implicaciones/costos para alojar imágenes en Firebase Storage: https://firebase.google.com/pricing

Configuración de Android

Opciones específicas de Android para mensajes enviados a través del servidor de conexión 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 puede colapsar, de modo que solo se envíe el último mensaje cuando se pueda reanudar la entrega. Se permite un máximo de 4 claves de contracción diferentes en un momento dado.

priority

enum ( AndroidMessagePriority )

Prioridad de mensajes. Puede tomar valores "normales" y "altos". Para obtener más información, consulte Establecer la prioridad de un mensaje .

ttl

string ( Duration format)

Cuánto tiempo (en segundos) se debe mantener el mensaje en el almacenamiento de FCM si el dispositivo está fuera de línea. El tiempo máximo de vida admitido es de 4 semanas y el valor predeterminado es de 4 semanas si no se establece. Establézcalo en 0 si desea enviar el mensaje de inmediato. En formato JSON, el tipo Duración se codifica como una cadena en lugar de un objeto, donde la cadena termina con el sufijo "s" (que indica segundos) y está precedida por la cantidad de segundos, con nanosegundos expresados ​​como fracciones de segundo. Por ejemplo, 3 segundos con 0 nanosegundos deben codificarse en formato JSON como "3s", mientras que 3 segundos y 1 nanosegundo deben expresarse en formato JSON como "3.000000001s". El ttl se redondeará al segundo más cercano.

Una duración en segundos con hasta nueve dígitos fraccionarios, terminando en ' s '. Ejemplo: "3.5s" .

restricted_package_name

string

Nombre del paquete de la aplicación donde debe coincidir el token de registro 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 "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 funciones proporcionadas por FCM SDK para Android.

direct_boot_ok

boolean

Si se establece en verdadero, se permitirá que los mensajes se entreguen a la aplicación mientras el dispositivo esté en modo de arranque directo. Consulte Admite el modo de arranque directo .

AndroidMessagePriority

Prioridad de un mensaje para enviar a dispositivos Android. Tenga en cuenta que esta prioridad es un concepto de FCM que controla cuándo se entrega el mensaje. Consulte las guías de FCM . Además, puede determinar la prioridad de visualización de notificaciones en dispositivos Android específicos mediante AndroidNotification.NotificationPriority .

Enumeraciones
NORMAL Prioridad predeterminada para mensajes de datos. Los mensajes de prioridad normal no abrirán conexiones de red en un dispositivo inactivo y es posible que su entrega se retrase para conservar la batería. Para mensajes menos sensibles al tiempo, como notificaciones de correo electrónico nuevo u otros datos para sincronizar, elija la prioridad de entrega normal.
HIGH Prioridad predeterminada para los mensajes de notificación. FCM intenta entregar mensajes de alta prioridad de inmediato, lo que permite que el servicio de FCM active un dispositivo inactivo cuando sea posible y abra una conexión de red a su servidor de aplicaciones. Las aplicaciones con alertas de mensajería instantánea, chat o llamadas de voz, por ejemplo, generalmente necesitan abrir una conexión de red y asegurarse de que FCM entregue el mensaje al dispositivo sin demora. Establezca una prioridad alta si el mensaje es urgente y requiere la interacción inmediata del usuario, pero tenga en cuenta que establecer sus mensajes en alta prioridad contribuye más al agotamiento de la batería en comparación con los mensajes de prioridad normal.

AndroidNotificación

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,
}
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 icono de la notificación. Establece el ícono de notificación en myicon para myicon de recurso dibujable. Si no envía esta clave en la solicitud, FCM muestra el ícono del iniciador especificado en el manifiesto de su aplicación.

color

string

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

sound

string

El sonido que se reproducirá cuando el dispositivo reciba la notificación. Admite "predeterminado" o el nombre de archivo de un recurso de sonido incluido en la aplicación. Los archivos de sonido deben residir en /res/raw/.

tag

string

Identificador utilizado para reemplazar las notificaciones existentes en el cajón de notificaciones. Si no se especifica, 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 a la existente en el cajón de notificaciones.

click_action

string

La acción asociada a un clic de usuario en la notificación. Si se especifica, se inicia una actividad con un filtro de intención 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 cadena de la aplicación que se usará para localizar el texto del cuerpo en la localización actual del usuario. Consulte 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 texto del cuerpo en la ubicación actual del usuario. Consulte Formato y estilo para obtener más información.

title_loc_key

string

La clave de la cadena de título en los recursos de cadena de la aplicación que se usará para localizar el texto del título en la localización actual del usuario. Consulte Recursos de cadenas para obtener más información.

title_loc_args[]

string

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

channel_id

string

La identificación del canal de notificación (nuevo en Android O). La aplicación debe crear un canal con este ID de canal antes de recibir cualquier notificación con este ID de canal. Si no envía este ID de canal en la solicitud, o si la aplicación aún no ha creado el ID de canal proporcionado, FCM usa el ID de canal especificado en el manifiesto de la aplicación.

ticker

string

Establece el texto del "ticker", 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

Cuando se establece en falso o no se establece, la notificación se descarta automáticamente cuando el usuario hace clic en ella en el panel. Cuando se establece en verdadero, la notificación persiste incluso cuando el usuario hace clic en ella.

event_time

string ( Timestamp format)

Establezca la hora en que ocurrió el evento en la notificación. Las notificaciones en el panel se ordenan por hora. Un punto en el tiempo se representa usando protobuf.Timestamp .

Una marca de tiempo en formato RFC3339 UTC "Zulu", con 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

Establezca si esta notificación es relevante o no solo para el dispositivo actual. Algunas notificaciones se pueden vincular a otros dispositivos para visualización remota, como un reloj Wear OS. Esta sugerencia se puede configurar para recomendar que esta notificación no se puentee. Consulte las guías de Wear OS

notification_priority

enum ( NotificationPriority )

Establezca la prioridad relativa para esta notificación. La prioridad es una indicación de la cantidad de atención del usuario que debe consumir esta notificación. Las notificaciones de baja prioridad pueden ocultarse al usuario en ciertas situaciones, mientras que el usuario puede ser interrumpido por una notificación de mayor prioridad. El efecto de establecer las mismas prioridades puede diferir ligeramente en diferentes plataformas. Tenga en cuenta que esta prioridad difiere de AndroidMessagePriority . El cliente procesa esta prioridad una vez que se ha entregado el mensaje, mientras que AndroidMessagePriority es un concepto de FCM que controla cuándo se entrega el mensaje.

default_sound

boolean

Si se establece en verdadero, use el sonido predeterminado del marco de trabajo de Android para la notificación. Los valores predeterminados se especifican en config.xml .

default_vibrate_timings

boolean

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

default_light_settings

boolean

Si se establece en verdadero, use la configuración de luz LED predeterminada del marco de trabajo de Android para la notificación. Los valores predeterminados se especifican en config.xml . Si default_light_settings se establece en true y light_settings también se establece, se utiliza la configuración de light_settings especificada por el usuario en lugar del valor predeterminado.

vibrate_timings[]

string ( Duration format)

Configure el patrón de vibración a utilizar. Pase una matriz de protobuf . Duración para encender o apagar el vibrador. El primer valor indica la Duration a esperar antes de encender el vibrador. El siguiente valor indica la Duration para mantener el vibrador encendido. Los valores subsiguientes alternan entre Duration para apagar el vibrador y encenderlo. Si se establece vibrate_timings y default_vibrate_timings se establece en true , se usa el valor predeterminado en lugar de vibrate_timings especificado por el usuario.

Una duración en segundos con hasta nueve dígitos fraccionarios, terminando en ' s '. Ejemplo: "3.5s" .

visibility

enum ( Visibility )

Configure la Notificación.visibilidad de la notificación.

notification_count

integer

Establece el número de elementos que representa esta notificación. Puede mostrarse como un recuento de insignias para los lanzadores que admiten insignias. Consulte Insignia de notificación . Por ejemplo, esto podría ser útil si usa solo una notificación para representar varios mensajes nuevos, pero desea que el recuento aquí represente la cantidad total de mensajes nuevos. Si es cero o no se especifica, los sistemas que admiten la credencialización usan el valor predeterminado, que consiste en incrementar un número que se muestra en el menú de pulsación prolongada cada vez que llega una nueva notificación.

light_settings

object ( LightSettings )

Configuraciones para controlar la velocidad de parpadeo del LED de la notificación y el color si el LED está disponible en el dispositivo. El tiempo total de parpadeo está controlado por el sistema operativo.

image

string

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

NotificaciónPrioridad

Niveles de prioridad de una notificación.

Enumeraciones
PRIORITY_UNSPECIFIED Si no se especifica la prioridad, la prioridad de notificación se establece en PRIORITY_DEFAULT .
PRIORITY_MIN 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 notificación detallados.
PRIORITY_LOW Menor prioridad de notificación. La interfaz de usuario puede optar por 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, use este valor para todas las notificaciones.
PRIORITY_HIGH Mayor prioridad de notificación. Use esto para notificaciones o alertas más importantes. La interfaz de usuario puede optar por 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 Prioridad de notificación más alta. Úselo para los elementos más importantes de la aplicación que requieren la atención o entrada inmediata del usuario.

Visibilidad

Diferentes niveles de visibilidad de una notificación.

Enumeraciones
VISIBILITY_UNSPECIFIED Si no se especifica, el valor predeterminado es Visibility.PRIVATE .
PRIVATE Muestre esta notificación en todas las pantallas de bloqueo, pero oculte información confidencial o privada en pantallas de bloqueo seguras.
PUBLIC Muestra esta notificación en su totalidad en todas las pantallas de bloqueo.
SECRET No revele ninguna parte de esta notificación en una pantalla de bloqueo segura.

Ajustes de luz

Configuración para controlar el LED de notificación.

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

object ( Color )

Requerido. Establezca el color del LED con google.type.Color .

light_on_duration

string ( Duration format)

Requerido. Junto con light_off_duration , defina la tasa de parpadeo de los destellos LED. Resolución definida por proto.Duration

Una duración en segundos con hasta nueve dígitos fraccionarios, terminando en ' s '. Ejemplo: "3.5s" .

light_off_duration

string ( Duration format)

Requerido. Junto con light_on_duration , defina la tasa de parpadeo de los destellos LED. Resolución definida por proto.Duration

Una duración en segundos con hasta nueve dígitos fraccionarios, terminando 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 a/desde representaciones de color en varios idiomas por encima de la compacidad. Por ejemplo, los campos de esta representación se pueden proporcionar de manera trivial al constructor de java.awt.Color en Java; también se puede proporcionar de manera trivial 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 contiene información sobre el espacio de color absoluto que debe usarse para interpretar el valor RGB (p. ej., sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). De forma predeterminada, las aplicaciones deben asumir el espacio de color sRGB.

Cuando es necesario 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 cada uno en un máximo de 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 valor en el intervalo [0, 1].

blue

number

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

alpha

number

La fracción de este color que debe aplicarse al píxel. Es decir, el color del píxel final está definido por la ecuación:

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

Esto significa que un valor de 1,0 corresponde a un color sólido, mientras que un valor de 0,0 corresponde a un color completamente transparente. Esto utiliza un mensaje contenedor en lugar de un simple escalar flotante para que sea posible distinguir entre un valor predeterminado y el valor que no se establece. 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).

AndroidFcmOpciones

Opciones para funciones proporcionadas por FCM SDK para Android.

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

string

Etiqueta asociada a los datos analíticos del mensaje.

WebpushConfig

Opciones de protocolo Webpush .

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

map (key: string, value: string)

Cabeceras HTTP definidas en el protocolo webpush. Consulte el protocolo Webpush para conocer los encabezados admitidos, por ejemplo, "TTL": "15".

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

data

map (key: string, value: string)

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

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

notification

object ( Struct format)

Opciones de notificación web como un objeto JSON. Admite las propiedades de la instancia de notificación como se define en la API de notificación web . Si están presentes, los campos "título" y "cuerpo" anulan google.firebase.fcm.v1.Notification.title y google.firebase.fcm.v1.Notification.body .

fcm_options

object ( WebpushFcmOptions )

Opciones para funciones proporcionadas por FCM SDK for Web.

WebpushFcmOpciones

Opciones para funciones proporcionadas por FCM SDK for Web.

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

string

Etiqueta asociada a los datos analíticos 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. Consulte los encabezados de solicitud de APN para conocer los encabezados admitidos, como apns-expiration 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 establece explícitamente.

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

payload

object ( Struct format)

Carga útil de APN como un objeto JSON, incluido el diccionario aps y la carga útil personalizada. Consulte Referencia de 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 funciones proporcionadas por FCM SDK para iOS.

ApnsFcmOpciones

Opciones para funciones proporcionadas por FCM SDK para iOS.

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

string

Etiqueta asociada a los datos analíticos del mensaje.

image

string

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

FcmOpciones

Opciones independientes de la plataforma para funciones proporcionadas por los SDK de FCM.

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

string

Etiqueta asociada a los datos analíticos del mensaje.

Métodos

send

Envíe un mensaje al objetivo especificado (un token de registro, tema o condición).
,

Recurso: Mensaje

Mensaje para enviar por Firebase Cloud Messaging Service.

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" o cualquier palabra que comience con "google" o "gcm"). Al enviar 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 "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 mensajes enviados a través del servidor de conexión FCM .

webpush

object ( WebpushConfig )

Solo entrada. Opciones de protocolo Webpush .

apns

object ( ApnsConfig )

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

fcm_options

object ( FcmOptions )

Solo entrada. Plantilla para las opciones de características del SDK de FCM para usar en todas las plataformas.

target de campo de unión. Requerido. Solo entrada. Destino al que enviar un mensaje. El target solo puede ser uno de los siguientes:
token

string

Token de registro para enviar un mensaje.

topic

string

Nombre del tema al que enviar un mensaje, por ejemplo, "clima". Nota: no se debe proporcionar el prefijo "/temas/".

condition

string

Condición para enviar un mensaje, por ejemplo, "'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. JPEG, PNG, BMP tienen soporte completo en todas las plataformas. El GIF animado y el video solo funcionan en iOS. WebP y HEIF tienen diferentes niveles de compatibilidad entre plataformas y versiones de plataformas. Android tiene un límite de tamaño de imagen de 1 MB. Uso de cuotas e implicaciones/costos para alojar imágenes en Firebase Storage: https://firebase.google.com/pricing

Configuración de Android

Opciones específicas de Android para mensajes enviados a través del servidor de conexión 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 puede colapsar, de modo que solo se envíe el último mensaje cuando se pueda reanudar la entrega. Se permite un máximo de 4 claves de contracción diferentes en un momento dado.

priority

enum ( AndroidMessagePriority )

Prioridad de mensajes. Puede tomar valores "normales" y "altos". Para obtener más información, consulte Establecer la prioridad de un mensaje .

ttl

string ( Duration format)

Cuánto tiempo (en segundos) se debe mantener el mensaje en el almacenamiento de FCM si el dispositivo está fuera de línea. El tiempo máximo de vida admitido es de 4 semanas y el valor predeterminado es de 4 semanas si no se establece. Establézcalo en 0 si desea enviar el mensaje de inmediato. En formato JSON, el tipo Duración se codifica como una cadena en lugar de un objeto, donde la cadena termina con el sufijo "s" (que indica segundos) y está precedida por la cantidad de segundos, con nanosegundos expresados ​​como fracciones de segundo. Por ejemplo, 3 segundos con 0 nanosegundos deben codificarse en formato JSON como "3s", mientras que 3 segundos y 1 nanosegundo deben expresarse en formato JSON como "3.000000001s". El ttl se redondeará al segundo más cercano.

Una duración en segundos con hasta nueve dígitos fraccionarios, terminando en ' s '. Ejemplo: "3.5s" .

restricted_package_name

string

Nombre del paquete de la aplicación donde debe coincidir el token de registro 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 "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 funciones proporcionadas por FCM SDK para Android.

direct_boot_ok

boolean

Si se establece en verdadero, se permitirá que los mensajes se entreguen a la aplicación mientras el dispositivo esté en modo de inicio directo. Consulte Admite el modo de arranque directo .

AndroidMessagePriority

Prioridad de un mensaje para enviar a dispositivos Android. Tenga en cuenta que esta prioridad es un concepto de FCM que controla cuándo se entrega el mensaje. Consulte las guías de FCM . Además, puede determinar la prioridad de visualización de notificaciones en dispositivos Android específicos mediante AndroidNotification.NotificationPriority .

Enumeraciones
NORMAL Prioridad predeterminada para mensajes de datos. Los mensajes de prioridad normal no abrirán conexiones de red en un dispositivo inactivo y es posible que su entrega se retrase para conservar la batería. Para mensajes menos sensibles al tiempo, como notificaciones de correo electrónico nuevo u otros datos para sincronizar, elija la prioridad de entrega normal.
HIGH Prioridad predeterminada para los mensajes de notificación. FCM intenta entregar mensajes de alta prioridad de inmediato, lo que permite que el servicio de FCM active un dispositivo inactivo cuando sea posible y abra una conexión de red a su servidor de aplicaciones. Las aplicaciones con alertas de mensajería instantánea, chat o llamadas de voz, por ejemplo, generalmente necesitan abrir una conexión de red y asegurarse de que FCM entregue el mensaje al dispositivo sin demora. Establezca una prioridad alta si el mensaje es urgente y requiere la interacción inmediata del usuario, pero tenga en cuenta que establecer sus mensajes en alta prioridad contribuye más al agotamiento de la batería en comparación con los mensajes de prioridad normal.

AndroidNotificación

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,
}
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 icono de la notificación. Establece el ícono de notificación en myicon para myicon de recurso dibujable. Si no envía esta clave en la solicitud, FCM muestra el ícono del iniciador especificado en el manifiesto de su aplicación.

color

string

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

sound

string

El sonido que se reproducirá cuando el dispositivo reciba la notificación. Admite "predeterminado" o el nombre de archivo de un recurso de sonido incluido en la aplicación. Los archivos de sonido deben residir en /res/raw/.

tag

string

Identificador utilizado para reemplazar las notificaciones existentes en el cajón de notificaciones. Si no se especifica, 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 a la existente en el cajón de notificaciones.

click_action

string

La acción asociada a un clic de usuario en la notificación. Si se especifica, se inicia una actividad con un filtro de intención 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 cadena de la aplicación que se usará para localizar el texto del cuerpo en la localización actual del usuario. Consulte 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 texto del cuerpo en la ubicación actual del usuario. Consulte Formato y estilo para obtener más información.

title_loc_key

string

La clave de la cadena de título en los recursos de cadena de la aplicación que se usará para localizar el texto del título en la localización actual del usuario. Consulte Recursos de cadenas para obtener más información.

title_loc_args[]

string

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

channel_id

string

La identificación del canal de notificación (nuevo en Android O). La aplicación debe crear un canal con este ID de canal antes de recibir cualquier notificación con este ID de canal. Si no envía este ID de canal en la solicitud, o si la aplicación aún no ha creado el ID de canal proporcionado, FCM usa el ID de canal especificado en el manifiesto de la aplicación.

ticker

string

Establece el texto del "ticker", 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

Cuando se establece en falso o no se establece, la notificación se descarta automáticamente cuando el usuario hace clic en ella en el panel. Cuando se establece en verdadero, la notificación persiste incluso cuando el usuario hace clic en ella.

event_time

string ( Timestamp format)

Establezca la hora en que ocurrió el evento en la notificación. Las notificaciones en el panel se ordenan por hora. Un punto en el tiempo se representa usando protobuf.Timestamp .

Una marca de tiempo en formato RFC3339 UTC "Zulu", con 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

Establezca si esta notificación es relevante o no solo para el dispositivo actual. Algunas notificaciones se pueden vincular a otros dispositivos para visualización remota, como un reloj Wear OS. Esta sugerencia se puede configurar para recomendar que esta notificación no se puentee. Consulte las guías de Wear OS

notification_priority

enum ( NotificationPriority )

Establezca la prioridad relativa para esta notificación. La prioridad es una indicación de la cantidad de atención del usuario que debe consumir esta notificación. Las notificaciones de baja prioridad pueden ocultarse al usuario en ciertas situaciones, mientras que el usuario puede ser interrumpido por una notificación de mayor prioridad. El efecto de establecer las mismas prioridades puede diferir ligeramente en diferentes plataformas. Tenga en cuenta que esta prioridad difiere de AndroidMessagePriority . El cliente procesa esta prioridad una vez que se ha entregado el mensaje, mientras que AndroidMessagePriority es un concepto de FCM que controla cuándo se entrega el mensaje.

default_sound

boolean

Si se establece en verdadero, use el sonido predeterminado del marco de trabajo de Android para la notificación. Los valores predeterminados se especifican en config.xml .

default_vibrate_timings

boolean

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

default_light_settings

boolean

Si se establece en verdadero, use la configuración de luz LED predeterminada del marco de trabajo de Android para la notificación. Los valores predeterminados se especifican en config.xml . Si default_light_settings se establece en true y light_settings también se establece, se utiliza la configuración de light_settings especificada por el usuario en lugar del valor predeterminado.

vibrate_timings[]

string ( Duration format)

Configure el patrón de vibración a utilizar. Pase una matriz de protobuf . Duración para encender o apagar el vibrador. El primer valor indica la Duration a esperar antes de encender el vibrador. El siguiente valor indica la Duration para mantener el vibrador encendido. Los valores subsiguientes alternan entre Duration para apagar el vibrador y encenderlo. Si se establece vibrate_timings y default_vibrate_timings se establece en true , se usa el valor predeterminado en lugar de vibrate_timings especificado por el usuario.

Una duración en segundos con hasta nueve dígitos fraccionarios, terminando en ' s '. Ejemplo: "3.5s" .

visibility

enum ( Visibility )

Configure la Notificación.visibilidad de la notificación.

notification_count

integer

Establece el número de elementos que representa esta notificación. Puede mostrarse como un recuento de insignias para los lanzadores que admiten insignias. Consulte Insignia de notificación . Por ejemplo, esto podría ser útil si usa solo una notificación para representar varios mensajes nuevos, pero desea que el recuento aquí represente la cantidad total de mensajes nuevos. Si es cero o no se especifica, los sistemas que admiten la credencialización usan el valor predeterminado, que consiste en incrementar un número que se muestra en el menú de pulsación prolongada cada vez que llega una nueva notificación.

light_settings

object ( LightSettings )

Configuraciones para controlar la velocidad de parpadeo del LED de la notificación y el color si el LED está disponible en el dispositivo. El tiempo total de parpadeo está controlado por el sistema operativo.

image

string

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

NotificaciónPrioridad

Niveles de prioridad de una notificación.

Enumeraciones
PRIORITY_UNSPECIFIED Si no se especifica la prioridad, la prioridad de notificación se establece en PRIORITY_DEFAULT .
PRIORITY_MIN 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 notificación detallados.
PRIORITY_LOW Menor prioridad de notificación. La interfaz de usuario puede optar por 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, use este valor para todas las notificaciones.
PRIORITY_HIGH Mayor prioridad de notificación. Use esto para notificaciones o alertas más importantes. La interfaz de usuario puede optar por 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 Prioridad de notificación más alta. Úselo para los elementos más importantes de la aplicación que requieren la atención o entrada inmediata del usuario.

Visibilidad

Diferentes niveles de visibilidad de una notificación.

Enumeraciones
VISIBILITY_UNSPECIFIED Si no se especifica, el valor predeterminado es Visibility.PRIVATE .
PRIVATE Muestre esta notificación en todas las pantallas de bloqueo, pero oculte información confidencial o privada en pantallas de bloqueo seguras.
PUBLIC Muestra esta notificación en su totalidad en todas las pantallas de bloqueo.
SECRET No revele ninguna parte de esta notificación en una pantalla de bloqueo segura.

Ajustes de luz

Configuración para controlar el LED de notificación.

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

object ( Color )

Requerido. Establezca el color del LED con google.type.Color .

light_on_duration

string ( Duration format)

Requerido. Junto con light_off_duration , defina la tasa de parpadeo de los destellos LED. Resolución definida por proto.Duration

Una duración en segundos con hasta nueve dígitos fraccionarios, terminando en ' s '. Ejemplo: "3.5s" .

light_off_duration

string ( Duration format)

Requerido. Junto con light_on_duration , defina la tasa de parpadeo de los destellos LED. Resolución definida por proto.Duration

Una duración en segundos con hasta nueve dígitos fraccionarios, terminando 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 a/desde representaciones de color en varios idiomas por encima de la compacidad. Por ejemplo, los campos de esta representación se pueden proporcionar de manera trivial al constructor de java.awt.Color en Java; también se puede proporcionar de manera trivial 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 contiene información sobre el espacio de color absoluto que debe usarse para interpretar el valor RGB (p. ej., sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). De forma predeterminada, las aplicaciones deben asumir el espacio de color sRGB.

Cuando es necesario 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 cada uno en un máximo de 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 valor en el intervalo [0, 1].

blue

number

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

alpha

number

La fracción de este color que debe aplicarse al píxel. Es decir, el color del píxel final está definido por la ecuación:

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

This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).

AndroidFcmOptions

Options for features provided by the FCM SDK for Android.

JSON representation
{
  "analytics_label": string
}
Fields
analytics_label

string

Label associated with the message's analytics data.

WebpushConfig

Webpush protocol options.

JSON representation
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
Fields
headers

map (key: string, value: string)

HTTP headers defined in webpush protocol. Refer to Webpush protocol for supported headers, eg "TTL": "15".

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

data

map (key: string, value: string)

Arbitrary key/value payload. If present, it will override google.firebase.fcm.v1.Message.data .

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Struct format)

Web Notification options as a JSON object. Supports Notification instance properties as defined in Web Notification API . If present, "title" and "body" fields override google.firebase.fcm.v1.Notification.title and google.firebase.fcm.v1.Notification.body .

fcm_options

object ( WebpushFcmOptions )

Options for features provided by the FCM SDK for Web.

WebpushFcmOptions

Options for features provided by the FCM SDK for Web.

JSON representation
{
  "link": string,
  "analytics_label": string
}
Fields
analytics_label

string

Label associated with the message's analytics data.

ApnsConfig

Apple Push Notification Service specific options.

JSON representation
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
Fields
headers

map (key: string, value: string)

HTTP request headers defined in Apple Push Notification Service. Refer to APNs request headers for supported headers such as apns-expiration and apns-priority .

The backend sets a default value for apns-expiration of 30 days and a default value for apns-priority of 10 if not explicitly set.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

payload

object ( Struct format)

APNs payload as a JSON object, including both aps dictionary and custom payload. See Payload Key Reference . If present, it overrides google.firebase.fcm.v1.Notification.title and google.firebase.fcm.v1.Notification.body .

fcm_options

object ( ApnsFcmOptions )

Options for features provided by the FCM SDK for iOS.

ApnsFcmOptions

Options for features provided by the FCM SDK for iOS.

JSON representation
{
  "analytics_label": string,
  "image": string
}
Fields
analytics_label

string

Label associated with the message's analytics data.

image

string

Contains the URL of an image that is going to be displayed in a notification. If present, it will override google.firebase.fcm.v1.Notification.image .

FcmOptions

Platform independent options for features provided by the FCM SDKs.

JSON representation
{
  "analytics_label": string
}
Fields
analytics_label

string

Label associated with the message's analytics data.

Methods

send

Send a message to specified target (a registration token, topic or condition).