REST Resource: projects.messages

Risorsa: messaggio

Messaggio da inviare tramite Firebase Cloud Messaging Service.

Rappresentazione 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.
}
Campi
name

string

Solo uscita. L'identificatore del messaggio inviato, nel formato projects/*/messages/{message_id} .

data

map (key: string, value: string)

Solo ingresso. Payload chiave/valore arbitrario, che deve essere codificato UTF-8. La chiave non deve essere una parola riservata ("da", "tipo_messaggio" o qualsiasi parola che inizi con "google" o "gcm"). Quando si inviano payload contenenti solo campi dati a dispositivi iOS, in ApnsConfig è consentita solo la priorità normale ( "apns-priority": "5" ).

Un oggetto contenente un elenco di coppie "key": value . Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Notification )

Solo ingresso. Modello di notifica di base da utilizzare su tutte le piattaforme.

android

object ( AndroidConfig )

Solo ingresso. Opzioni specifiche di Android per i messaggi inviati tramite il server di connessione FCM .

webpush

object ( WebpushConfig )

Solo ingresso. Opzioni del protocollo Webpush .

apns

object ( ApnsConfig )

Solo ingresso. Opzioni specifiche del servizio di notifica push di Apple .

fcm_options

object ( FcmOptions )

Solo ingresso. Modello per le opzioni delle funzionalità dell'SDK FCM da utilizzare su tutte le piattaforme.

target sul campo dell'Unione. Necessario. Solo ingresso. Obiettivo a cui inviare un messaggio. target può essere solo uno dei seguenti:
token

string

Token di registrazione a cui inviare un messaggio.

topic

string

Nome dell'argomento a cui inviare un messaggio, ad esempio "meteo". Nota: il prefisso "/topics/" non deve essere fornito.

condition

string

Condizione a cui inviare un messaggio, ad esempio "'foo' negli argomenti && 'bar' negli argomenti".

Notifica

Modello di notifica di base da utilizzare su tutte le piattaforme.

Rappresentazione JSON
{
  "title": string,
  "body": string,
  "image": string
}
Campi
title

string

Il titolo della notifica.

body

string

Il corpo del testo della notifica.

image

string

Contiene l'URL di un'immagine che verrà scaricata sul dispositivo e visualizzata in una notifica. JPEG, PNG e BMP hanno il pieno supporto su tutte le piattaforme. GIF animate e video funzionano solo su iOS. WebP e HEIF hanno diversi livelli di supporto a seconda delle piattaforme e delle versioni della piattaforma. Android ha un limite di dimensione immagine di 1 MB. Utilizzo della quota e implicazioni/costi per l'hosting dell'immagine su Firebase Storage: https://firebase.google.com/pricing

AndroidConfig

Opzioni specifiche di Android per i messaggi inviati tramite il server di connessione FCM .

Rappresentazione 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
}
Campi
collapse_key

string

Un identificatore di un gruppo di messaggi che può essere compresso, in modo che solo l'ultimo messaggio venga inviato quando è possibile riprendere la consegna. È consentito un massimo di 4 chiavi di compressione diverse alla volta.

priority

enum ( AndroidMessagePriority )

Priorità del messaggio. Può assumere valori "normali" e "alti". Per ulteriori informazioni, vedere Impostazione della priorità di un messaggio .

ttl

string ( Duration format)

Per quanto tempo (in secondi) il messaggio deve essere conservato nell'archivio FCM se il dispositivo è offline. La durata massima del supporto è di 4 settimane e il valore predefinito è 4 settimane se non impostato. Impostalo su 0 se desideri inviare il messaggio immediatamente. Nel formato JSON, il tipo Duration è codificato come una stringa anziché come un oggetto, dove la stringa termina con il suffisso "s" (che indica i secondi) ed è preceduta dal numero di secondi, con i nanosecondi espressi come secondi frazionari. Ad esempio, 3 secondi con 0 nanosecondi dovrebbero essere codificati in formato JSON come "3s", mentre 3 secondi e 1 nanosecondo dovrebbero essere espressi in formato JSON come "3.000000001s". Il ttl verrà arrotondato per difetto al secondo più vicino.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con ' s '. Esempio: "3.5s" .

restricted_package_name

string

Nome del pacchetto dell'applicazione a cui deve corrispondere il token di registrazione per ricevere il messaggio.

data

map (key: string, value: string)

Payload chiave/valore arbitrario. Se presente, sovrascriverà google.firebase.fcm.v1.Message.data .

Un oggetto contenente un elenco di coppie "key": value . Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( AndroidNotification )

Notifica da inviare ai dispositivi Android.

fcm_options

object ( AndroidFcmOptions )

Opzioni per le funzionalità fornite dall'SDK FCM per Android.

direct_boot_ok

boolean

Se impostato su true, i messaggi potranno essere recapitati all'app mentre il dispositivo è in modalità di avvio diretto. Vedere Supporto della modalità di avvio diretto .

AndroidMessagePriority

Priorità di un messaggio da inviare ai dispositivi Android. Tieni presente che questa priorità è un concetto FCM che controlla quando il messaggio viene consegnato. Consulta le guide FCM . Inoltre, puoi determinare la priorità di visualizzazione delle notifiche sui dispositivi Android di destinazione utilizzando AndroidNotification.NotificationPriority .

Enumerazioni
NORMAL Priorità predefinita per i messaggi di dati. I messaggi con priorità normale non apriranno le connessioni di rete su un dispositivo inattivo e la loro consegna potrebbe essere ritardata per risparmiare la batteria. Per i messaggi meno urgenti, come le notifiche di nuove email o altri dati da sincronizzare, scegli la priorità di consegna normale.
HIGH Priorità predefinita per i messaggi di notifica. FCM tenta di recapitare immediatamente i messaggi ad alta priorità, consentendo al servizio FCM di riattivare un dispositivo inattivo quando possibile e di aprire una connessione di rete al server dell'app. Le app con avvisi di messaggistica istantanea, chat o chiamate vocali, ad esempio, generalmente devono aprire una connessione di rete e assicurarsi che FCM consegni il messaggio al dispositivo senza ritardi. Imposta una priorità alta se il messaggio ha un limite di tempo e richiede l'interazione immediata dell'utente, ma fai attenzione che impostare i tuoi messaggi su una priorità alta contribuisce maggiormente al consumo della batteria rispetto ai messaggi con priorità normale.

AndroidNotifica

Notifica da inviare ai dispositivi Android.

Rappresentazione 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,
}
Campi
title

string

Il titolo della notifica. Se presente, sovrascriverà google.firebase.fcm.v1.Notification.title .

body

string

Il corpo del testo della notifica. Se presente, sovrascriverà google.firebase.fcm.v1.Notification.body .

icon

string

L'icona della notifica. Imposta l'icona di notifica su myicon per la risorsa disegnabile myicon. Se non invii questa chiave nella richiesta, FCM visualizza l'icona di avvio specificata nel manifest dell'app.

color

string

Il colore dell'icona della notifica, espresso nel formato #rrggbb.

sound

string

Il suono da riprodurre quando il dispositivo riceve la notifica. Supporta "predefinito" o il nome file di una risorsa audio inclusa nell'app. I file audio devono risiedere in /res/raw/.

tag

string

Identificatore utilizzato per sostituire le notifiche esistenti nel cassetto delle notifiche. Se non specificato, ogni richiesta crea una nuova notifica. Se specificato ed è già visualizzata una notifica con lo stesso tag, la nuova notifica sostituisce quella esistente nel cassetto delle notifiche.

click_action

string

L'azione associata a un clic dell'utente sulla notifica. Se specificato, viene avviata un'attività con un filtro di intento corrispondente quando un utente fa clic sulla notifica.

body_loc_key

string

Chiave della stringa del corpo nelle risorse stringa dell'app da utilizzare per localizzare il corpo del testo nella localizzazione corrente dell'utente. Vedi Risorse stringa per ulteriori informazioni.

body_loc_args[]

string

Valori stringa variabili da utilizzare al posto degli identificatori di formato in body_loc_key da utilizzare per localizzare il corpo del testo nella localizzazione corrente dell'utente. Per ulteriori informazioni, vedere Formattazione e stile .

title_loc_key

string

Chiave della stringa del titolo nelle risorse stringa dell'app da utilizzare per localizzare il testo del titolo nella localizzazione corrente dell'utente. Vedi Risorse stringa per ulteriori informazioni.

title_loc_args[]

string

Valori di stringa variabili da utilizzare al posto degli identificatori di formato in title_loc_key da utilizzare per localizzare il testo del titolo nella localizzazione corrente dell'utente. Per ulteriori informazioni, vedere Formattazione e stile .

channel_id

string

L' ID del canale della notifica (nuovo in Android O). L'app deve creare un canale con questo ID canale prima che venga ricevuta qualsiasi notifica con questo ID canale. Se non invii questo ID canale nella richiesta o se l'ID canale fornito non è stato ancora creato dall'app, FCM utilizza l'ID canale specificato nel manifest dell'app.

ticker

string

Imposta il testo "ticker", che viene inviato ai servizi di accessibilità. Prima del livello API 21 ( Lollipop ), imposta il testo visualizzato nella barra di stato quando arriva la notifica per la prima volta.

sticky

boolean

Se impostata su false o non impostata, la notifica viene automaticamente ignorata quando l'utente fa clic su di essa nel pannello. Se impostata su true, la notifica persiste anche quando l'utente fa clic su di essa.

event_time

string ( Timestamp format)

Imposta l'ora in cui si è verificato l'evento nella notifica. Le notifiche nel pannello vengono ordinate in base a questo orario. Un punto nel tempo viene rappresentato utilizzando protobuf.Timestamp .

Un timestamp in formato RFC3339 UTC "Zulu", con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z" .

local_only

boolean

Imposta se questa notifica è rilevante o meno solo per il dispositivo corrente. Alcune notifiche possono essere collegate ad altri dispositivi per la visualizzazione remota, come un orologio Wear OS. Questo suggerimento può essere impostato per consigliare di non ignorare questa notifica. Consulta le guide del sistema operativo Wear

notification_priority

enum ( NotificationPriority )

Imposta la priorità relativa per questa notifica. La priorità è un'indicazione di quanta attenzione dell'utente dovrebbe essere assorbita da questa notifica. Le notifiche a bassa priorità potrebbero essere nascoste all'utente in determinate situazioni, mentre l'utente potrebbe essere interrotto per una notifica con priorità più elevata. L'effetto dell'impostazione delle stesse priorità può differire leggermente su piattaforme diverse. Tieni presente che questa priorità è diversa da AndroidMessagePriority . Questa priorità viene elaborata dal client dopo che il messaggio è stato recapitato, mentre AndroidMessagePriority è un concetto FCM che controlla quando il messaggio viene recapitato.

default_sound

boolean

Se impostato su true, utilizza il suono predefinito del framework Android per la notifica. I valori predefiniti sono specificati in config.xml .

default_vibrate_timings

boolean

Se impostato su true, utilizza il modello di vibrazione predefinito del framework Android per la notifica. I valori predefiniti sono specificati in config.xml . Se default_vibrate_timings è impostato su true e anche vibrate_timings è impostato, viene utilizzato il valore predefinito anziché vibrate_timings specificato dall'utente.

default_light_settings

boolean

Se impostato su true, utilizza le impostazioni di luce LED predefinite del framework Android per la notifica. I valori predefiniti sono specificati in config.xml . Se default_light_settings è impostato su true e anche light_settings è impostato, viene utilizzato light_settings specificato dall'utente al posto del valore predefinito.

vibrate_timings[]

string ( Duration format)

Imposta il modello di vibrazione da utilizzare. Passa in una serie di protobuf.Durata per accendere o spegnere il vibratore. Il primo valore indica la Duration da attendere prima di accendere il vibratore. Il valore successivo indica la Duration per mantenere acceso il vibratore. I valori successivi si alternano tra Duration per spegnere il vibratore e Durata per accendere il vibratore. Se vibrate_timings è impostato e default_vibrate_timings è impostato su true , viene utilizzato il valore predefinito anziché vibrate_timings specificato dall'utente.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con ' s '. Esempio: "3.5s" .

visibility

enum ( Visibility )

Imposta Notification.visibility della notifica.

notification_count

integer

Imposta il numero di elementi rappresentati da questa notifica. Può essere visualizzato come conteggio dei badge per i launcher che supportano i badge. Vedi Badge di notifica . Ad esempio, ciò potrebbe essere utile se utilizzi una sola notifica per rappresentare più nuovi messaggi ma desideri che il conteggio qui rappresenti il ​​numero totale di nuovi messaggi. Se zero o non specificato, i sistemi che supportano il badge utilizzano l'impostazione predefinita, ovvero incrementare un numero visualizzato nel menu a pressione prolungata ogni volta che arriva una nuova notifica.

light_settings

object ( LightSettings )

Impostazioni per controllare la frequenza e il colore di lampeggiamento del LED della notifica se il LED è disponibile sul dispositivo. Il tempo totale di lampeggio è controllato dal sistema operativo.

image

string

Contiene l'URL di un'immagine che verrà visualizzata in una notifica. Se presente, sovrascriverà google.firebase.fcm.v1.Notification.image .

Priorità di notifica

Livelli di priorità di una notifica.

Enumerazioni
PRIORITY_UNSPECIFIED Se la priorità non è specificata, la priorità di notifica è impostata su PRIORITY_DEFAULT .
PRIORITY_MIN Priorità di notifica più bassa. Le notifiche con questo PRIORITY_MIN potrebbero non essere mostrate all'utente se non in circostanze speciali, come log di notifica dettagliati.
PRIORITY_LOW Priorità di notifica inferiore. L'interfaccia utente può scegliere di mostrare le notifiche più piccole o in una posizione diversa nell'elenco rispetto alle notifiche con PRIORITY_DEFAULT .
PRIORITY_DEFAULT Priorità di notifica predefinita. Se l'applicazione non assegna la priorità alle proprie notifiche, utilizzare questo valore per tutte le notifiche.
PRIORITY_HIGH Priorità di notifica più elevata. Utilizzalo per notifiche o avvisi più importanti. L'interfaccia utente può scegliere di mostrare queste notifiche più grandi o in una posizione diversa negli elenchi delle notifiche rispetto alle notifiche con PRIORITY_DEFAULT .
PRIORITY_MAX Massima priorità di notifica. Utilizzarlo per gli elementi più importanti dell'applicazione che richiedono l'attenzione o l'input tempestivi dell'utente.

Visibilità

Diversi livelli di visibilità di una notifica.

Enumerazioni
VISIBILITY_UNSPECIFIED Se non specificato, il valore predefinito è Visibility.PRIVATE .
PRIVATE Mostra questa notifica su tutte le schermate di blocco, ma nascondi le informazioni sensibili o private sulle schermate di blocco sicure.
PUBLIC Mostra questa notifica nella sua interezza su tutte le schermate di blocco.
SECRET Non rivelare alcuna parte di questa notifica su una schermata di blocco sicura.

Impostazioni luce

Impostazioni per controllare il LED di notifica.

Rappresentazione JSON
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
Campi
color

object ( Color )

Necessario. Imposta color del LED con google.type.Color .

light_on_duration

string ( Duration format)

Necessario. Insieme a light_off_duration , definisce la frequenza di lampeggio dei LED. Delibera definita da proto.Durata

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con ' s '. Esempio: "3.5s" .

light_off_duration

string ( Duration format)

Necessario. Insieme a light_on_duration , definisce la frequenza di lampeggio dei LED. Delibera definita da proto.Durata

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con ' s '. Esempio: "3.5s" .

Colore

Rappresenta un colore nello spazio colore RGBA. Questa rappresentazione è progettata per semplicità di conversione da/a rappresentazioni di colori in varie lingue oltre alla compattezza. Ad esempio, i campi di questa rappresentazione possono essere banalmente forniti al costruttore di java.awt.Color in Java; può anche essere banalmente fornito al metodo +colorWithRed:green:blue:alpha UIColor in iOS; e, con un po' di lavoro, può essere facilmente formattato in una stringa CSS rgba() in JavaScript.

Questa pagina di riferimento non contiene informazioni sullo spazio colore assoluto che dovrebbe essere utilizzato per interpretare il valore RGB (ad esempio sRGB, Adobe RGB, DCI-P3, BT.2020, ecc.). Per impostazione predefinita, le applicazioni dovrebbero assumere lo spazio colore sRGB.

Quando è necessario decidere l'uguaglianza dei colori, le implementazioni, se non diversamente documentato, trattano due colori come uguali se tutti i loro valori rosso, verde, blu e alfa differiscono ciascuno al massimo di 1e-5.

Esempio (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();
 }
 // ...

Esempio (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;
}
// ...

Esempio (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('');
};

// ...
Rappresentazione JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campi
red

number

La quantità di rosso nel colore come valore nell'intervallo [0, 1].

green

number

La quantità di verde nel colore come valore nell'intervallo [0, 1].

blue

number

La quantità di blu nel colore come valore nell'intervallo [0, 1].

alpha

number

La frazione di questo colore che dovrebbe essere applicata al pixel. Cioè, il colore finale del pixel è definito dall'equazione:

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

Ciò significa che un valore di 1,0 corrisponde a un colore solido, mentre un valore di 0,0 corrisponde a un colore completamente trasparente. Utilizza un messaggio wrapper anziché un semplice scalare float in modo che sia possibile distinguere tra un valore predefinito e il valore che non viene impostato. Se omesso, questo oggetto colore viene reso come un colore solido (come se al valore alfa fosse stato esplicitamente assegnato il valore 1.0).

Opzioni AndroidFcm

Opzioni per le funzionalità fornite dall'SDK FCM per Android.

Rappresentazione JSON
{
  "analytics_label": string
}
Campi
analytics_label

string

Etichetta associata ai dati analitici del messaggio.

WebpushConfig

Opzioni del protocollo Webpush .

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

map (key: string, value: string)

Intestazioni HTTP definite nel protocollo webpush. Fare riferimento al protocollo Webpush per le intestazioni supportate, ad esempio "TTL": "15".

Un oggetto contenente un elenco di coppie "key": value . Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

data

map (key: string, value: string)

Payload chiave/valore arbitrario. Se presente, sovrascriverà google.firebase.fcm.v1.Message.data .

Un oggetto contenente un elenco di coppie "key": value . Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Struct format)

Opzioni di notifica Web come oggetto JSON. Supporta le proprietà dell'istanza di notifica come definite nell'API Web Notification . Se presenti, i campi "titolo" e "corpo" sovrascrivono google.firebase.fcm.v1.Notification.title e google.firebase.fcm.v1.Notification.body .

fcm_options

object ( WebpushFcmOptions )

Opzioni per le funzionalità fornite da FCM SDK per il Web.

WebpushFcmOpzioni

Opzioni per le funzionalità fornite da FCM SDK per il Web.

Rappresentazione JSON
{
  "link": string,
  "analytics_label": string
}
Campi
analytics_label

string

Etichetta associata ai dati analitici del messaggio.

ApnsConfig

Opzioni specifiche del servizio di notifica push di Apple .

Rappresentazione JSON
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
Campi
headers

map (key: string, value: string)

Intestazioni delle richieste HTTP definite nel servizio di notifiche push di Apple. Fare riferimento alle intestazioni delle richieste APN per le intestazioni supportate come apns-expiration e apns-priority .

Il backend imposta un valore predefinito per apns-expiration di 30 giorni e un valore predefinito per apns-priority di 10 se non impostato esplicitamente.

Un oggetto contenente un elenco di coppie "key": value . Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

payload

object ( Struct format)

Payload APN come oggetto JSON, inclusi sia il dizionario aps che il payload personalizzato. Vedere Riferimento alla chiave del carico utile . Se presente, sovrascrive google.firebase.fcm.v1.Notification.title e google.firebase.fcm.v1.Notification.body .

fcm_options

object ( ApnsFcmOptions )

Opzioni per le funzionalità fornite dall'SDK FCM per iOS.

Opzioni ApnsFcm

Opzioni per le funzionalità fornite dall'SDK FCM per iOS.

Rappresentazione JSON
{
  "analytics_label": string,
  "image": string
}
Campi
analytics_label

string

Etichetta associata ai dati analitici del messaggio.

image

string

Contiene l'URL di un'immagine che verrà visualizzata in una notifica. Se presente, sovrascriverà google.firebase.fcm.v1.Notification.image .

Opzioni Fcm

Opzioni indipendenti dalla piattaforma per le funzionalità fornite dagli SDK FCM.

Rappresentazione JSON
{
  "analytics_label": string
}
Campi
analytics_label

string

Etichetta associata ai dati analitici del messaggio.

Metodi

send

Invia un messaggio alla destinazione specificata (un token di registrazione, un argomento o una condizione).