REST Resource: projects.messages

Ressource: Nachricht

Vom Firebase Cloud Messaging Service zu sendende Nachricht.

JSON-Darstellung
{
  "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.
}
Felder
name

string

Nur Ausgabe. Die Kennung der gesendeten Nachricht im Format projects/*/messages/{message_id} .

data

map (key: string, value: string)

Nur Eingabe. Beliebige Schlüssel-/Wertnutzlast, die UTF-8-codiert sein muss. Der Schlüssel sollte kein reserviertes Wort sein („from“, „message_type“ oder ein Wort, das mit „google“ oder „gcm“ beginnt). Beim Senden von Payloads, die nur Datenfelder enthalten, an iOS-Geräte ist in ApnsConfig nur normale Priorität ( "apns-priority": "5" ) zulässig.

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Notification )

Nur Eingabe. Grundlegende Benachrichtigungsvorlage zur Verwendung auf allen Plattformen.

android

object ( AndroidConfig )

Nur Eingabe. Android-spezifische Optionen für Nachrichten, die über den FCM-Verbindungsserver gesendet werden.

webpush

object ( WebpushConfig )

Nur Eingabe. Webpush-Protokolloptionen .

apns

object ( ApnsConfig )

Nur Eingabe. Spezifische Optionen für den Apple Push Notification Service .

fcm_options

object ( FcmOptions )

Nur Eingabe. Vorlage für FCM SDK-Funktionsoptionen zur Verwendung auf allen Plattformen.

Union- target . Erforderlich. Nur Eingabe. Ziel, an das eine Nachricht gesendet werden soll. target kann nur eines der folgenden sein:
token

string

Registrierungstoken, an den eine Nachricht gesendet werden soll.

topic

string

Themenname, an den eine Nachricht gesendet werden soll, z. B. „Wetter“. Hinweis: Das Präfix „/topics/“ sollte nicht angegeben werden.

condition

string

Bedingung, an die eine Nachricht gesendet werden soll, z. B. „‚foo‘ in Topics && ‚bar‘ in Topics“.

Benachrichtigung

Grundlegende Benachrichtigungsvorlage zur Verwendung auf allen Plattformen.

JSON-Darstellung
{
  "title": string,
  "body": string,
  "image": string
}
Felder
title

string

Der Titel der Benachrichtigung.

body

string

Der Textkörper der Benachrichtigung.

image

string

Enthält die URL eines Bildes, das auf das Gerät heruntergeladen und in einer Benachrichtigung angezeigt wird. JPEG, PNG und BMP werden plattformübergreifend vollständig unterstützt. Animierte GIFs und Videos funktionieren nur auf iOS. WebP und HEIF bieten je nach Plattform und Plattformversion unterschiedliche Unterstützungsniveaus. Android hat eine Bildgrößenbeschränkung von 1 MB. Kontingentnutzung und Auswirkungen/Kosten für das Hosten von Bildern auf Firebase Storage: https://firebase.google.com/pricing

AndroidConfig

Android-spezifische Optionen für Nachrichten, die über den FCM-Verbindungsserver gesendet werden.

JSON-Darstellung
{
  "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
}
Felder
collapse_key

string

Eine Kennung einer Gruppe von Nachrichten, die reduziert werden kann, sodass nur die letzte Nachricht gesendet wird, wenn die Zustellung wieder aufgenommen werden kann. Es sind jeweils maximal 4 verschiedene Minimierungstasten zulässig.

priority

enum ( AndroidMessagePriority )

Nachrichtenpriorität. Kann „normale“ und „hohe“ Werte annehmen. Weitere Informationen finden Sie unter Festlegen der Priorität einer Nachricht .

ttl

string ( Duration format)

Wie lange (in Sekunden) die Nachricht im FCM-Speicher aufbewahrt werden soll, wenn das Gerät offline ist. Die maximale unterstützte Lebensdauer beträgt 4 Wochen. Der Standardwert beträgt 4 Wochen, wenn dieser Wert nicht festgelegt ist. Setzen Sie den Wert auf 0, wenn Sie die Nachricht sofort senden möchten. Im JSON-Format wird der Typ „Dauer“ als Zeichenfolge und nicht als Objekt codiert, wobei die Zeichenfolge mit dem Suffix „s“ (Sekundenangabe) endet und die Anzahl der Sekunden vorangestellt ist, wobei Nanosekunden als Sekundenbruchteile ausgedrückt werden. Beispielsweise sollten 3 Sekunden mit 0 Nanosekunden im JSON-Format als „3s“ kodiert werden, während 3 Sekunden und 1 Nanosekunde im JSON-Format als „3.000000001s“ ausgedrückt werden sollten. Die TTL wird auf die nächste Sekunde abgerundet.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, endend mit „ s “. Beispiel: "3.5s" .

restricted_package_name

string

Paketname der Anwendung, bei der das Registrierungstoken übereinstimmen muss, um die Nachricht zu empfangen.

data

map (key: string, value: string)

Beliebige Schlüssel-/Wertnutzlast. Falls vorhanden, überschreibt es google.firebase.fcm.v1.Message.data .

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( AndroidNotification )

Benachrichtigung zum Senden an Android-Geräte.

fcm_options

object ( AndroidFcmOptions )

Optionen für Funktionen, die vom FCM SDK für Android bereitgestellt werden.

direct_boot_ok

boolean

Wenn dieser Wert auf „true“ gesetzt ist, dürfen Nachrichten an die App übermittelt werden, während sich das Gerät im Direktstartmodus befindet. Siehe „Direktstartmodus unterstützen“ .

AndroidMessagePriority

Priorität einer Nachricht, die an Android-Geräte gesendet werden soll. Beachten Sie, dass es sich bei dieser Priorität um ein FCM-Konzept handelt, das steuert, wann die Nachricht zugestellt wird. Siehe FCM-Anleitungen . Darüber hinaus können Sie mithilfe von AndroidNotification.NotificationPriority die Anzeigepriorität von Benachrichtigungen auf Ziel-Android-Geräten bestimmen.

Aufzählungen
NORMAL Standardpriorität für Datennachrichten. Nachrichten mit normaler Priorität öffnen keine Netzwerkverbindungen auf einem Gerät im Ruhezustand und ihre Zustellung kann verzögert werden, um den Akku zu schonen. Wählen Sie für weniger zeitkritische Nachrichten, wie z. B. Benachrichtigungen über neue E-Mails oder andere zu synchronisierende Daten, die normale Zustellungspriorität.
HIGH Standardpriorität für Benachrichtigungsnachrichten. FCM versucht, Nachrichten mit hoher Priorität sofort zuzustellen, sodass der FCM-Dienst nach Möglichkeit ein in den Ruhezustand versetztes Gerät wecken und eine Netzwerkverbindung zu Ihrem App-Server herstellen kann. Apps mit Instant Messaging-, Chat- oder Sprachanrufbenachrichtigungen müssen beispielsweise im Allgemeinen eine Netzwerkverbindung öffnen und sicherstellen, dass FCM die Nachricht ohne Verzögerung an das Gerät übermittelt. Legen Sie eine hohe Priorität fest, wenn die Nachricht zeitkritisch ist und eine sofortige Interaktion des Benutzers erfordert. Beachten Sie jedoch, dass die Einstellung Ihrer Nachrichten auf eine hohe Priorität im Vergleich zu Nachrichten mit normaler Priorität stärker zum Batterieverbrauch führt.

AndroidNotification

Benachrichtigung zum Senden an Android-Geräte.

JSON-Darstellung
{
  "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,
}
Felder
title

string

Der Titel der Benachrichtigung. Falls vorhanden, überschreibt es google.firebase.fcm.v1.Notification.title .

body

string

Der Textkörper der Benachrichtigung. Falls vorhanden, überschreibt es google.firebase.fcm.v1.Notification.body .

icon

string

Das Symbol der Benachrichtigung. Setzt das Benachrichtigungssymbol für die zeichnbare Ressource myicon auf „myicon“. Wenn Sie diesen Schlüssel nicht in der Anfrage senden, zeigt FCM das in Ihrem App-Manifest angegebene Launcher-Symbol an.

color

string

Die Symbolfarbe der Benachrichtigung, ausgedrückt im #rrggbb-Format.

sound

string

Der Ton, der abgespielt wird, wenn das Gerät die Benachrichtigung empfängt. Unterstützt „Standard“ oder den Dateinamen einer in der App gebündelten Soundressource. Sounddateien müssen sich in /res/raw/ befinden.

tag

string

Bezeichner, der zum Ersetzen vorhandener Benachrichtigungen in der Benachrichtigungsleiste verwendet wird. Wenn nicht angegeben, erstellt jede Anfrage eine neue Benachrichtigung. Wenn angegeben und bereits eine Benachrichtigung mit demselben Tag angezeigt wird, ersetzt die neue Benachrichtigung die vorhandene in der Benachrichtigungsleiste.

click_action

string

Die mit einem Benutzerklick auf die Benachrichtigung verbundene Aktion. Wenn angegeben, wird eine Aktivität mit einem passenden Absichtsfilter gestartet, wenn ein Benutzer auf die Benachrichtigung klickt.

body_loc_key

string

Der Schlüssel zur Textzeichenfolge in den Zeichenfolgenressourcen der App, der zum Lokalisieren des Textkörpers an die aktuelle Lokalisierung des Benutzers verwendet werden soll. Weitere Informationen finden Sie unter String-Ressourcen .

body_loc_args[]

string

Variable Zeichenfolgenwerte, die anstelle der Formatbezeichner in body_loc_key verwendet werden, um den Textkörper an die aktuelle Lokalisierung des Benutzers zu lokalisieren. Weitere Informationen finden Sie unter Formatierung und Stil .

title_loc_key

string

Der Schlüssel zur Titelzeichenfolge in den Zeichenfolgenressourcen der App, der zum Lokalisieren des Titeltexts an die aktuelle Lokalisierung des Benutzers verwendet werden soll. Weitere Informationen finden Sie unter String-Ressourcen .

title_loc_args[]

string

Variable Zeichenfolgenwerte, die anstelle der Formatbezeichner in title_loc_key verwendet werden, um den Titeltext an die aktuelle Lokalisierung des Benutzers zu lokalisieren. Weitere Informationen finden Sie unter Formatierung und Stil .

channel_id

string

Die Kanal-ID der Benachrichtigung (neu in Android O). Die App muss einen Kanal mit dieser Kanal-ID erstellen, bevor eine Benachrichtigung mit dieser Kanal-ID empfangen wird. Wenn Sie diese Kanal-ID nicht in der Anfrage senden oder die bereitgestellte Kanal-ID noch nicht von der App erstellt wurde, verwendet FCM die im App-Manifest angegebene Kanal-ID.

ticker

string

Legt den „Ticker“-Text fest, der an Barrierefreiheitsdienste gesendet wird. Legt vor API-Level 21 ( Lollipop ) den Text fest, der in der Statusleiste angezeigt wird, wenn die Benachrichtigung zum ersten Mal eintrifft.

sticky

boolean

Wenn sie auf „false“ oder nicht gesetzt gesetzt ist, wird die Benachrichtigung automatisch verworfen, wenn der Benutzer im Panel darauf klickt. Wenn der Wert auf „true“ gesetzt ist, bleibt die Benachrichtigung bestehen, auch wenn der Benutzer darauf klickt.

event_time

string ( Timestamp format)

Legen Sie den Zeitpunkt fest, zu dem das Ereignis in der Benachrichtigung aufgetreten ist. Benachrichtigungen im Panel werden nach dieser Zeit sortiert. Ein Zeitpunkt wird mit protobuf.Timestamp dargestellt.

Ein Zeitstempel im RFC3339 UTC „Zulu“-Format mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z" .

local_only

boolean

Legen Sie fest, ob diese Benachrichtigung nur für das aktuelle Gerät relevant ist oder nicht. Einige Benachrichtigungen können zur Fernanzeige auf andere Geräte übertragen werden, beispielsweise auf eine Wear OS-Uhr. Dieser Hinweis kann so eingestellt werden, dass empfohlen wird, diese Benachrichtigung nicht zu überbrücken. Siehe Wear OS-Anleitungen

notification_priority

enum ( NotificationPriority )

Legen Sie die relative Priorität für diese Benachrichtigung fest. Die Priorität gibt an, wie viel Aufmerksamkeit des Benutzers diese Benachrichtigung in Anspruch nehmen soll. Benachrichtigungen mit niedriger Priorität können in bestimmten Situationen für den Benutzer verborgen bleiben, während der Benutzer möglicherweise für eine Benachrichtigung mit höherer Priorität unterbrochen wird. Die Auswirkung der Festlegung gleicher Prioritäten kann auf verschiedenen Plattformen leicht unterschiedlich sein. Beachten Sie, dass sich diese Priorität von AndroidMessagePriority unterscheidet. Diese Priorität wird vom Client verarbeitet, nachdem die Nachricht zugestellt wurde, während AndroidMessagePriority ein FCM-Konzept ist, das steuert, wann die Nachricht zugestellt wird.

default_sound

boolean

Wenn dieser Wert auf „true“ gesetzt ist, wird der Standardton des Android-Frameworks für die Benachrichtigung verwendet. Standardwerte werden in config.xml angegeben.

default_vibrate_timings

boolean

Wenn dieser Wert auf „true“ gesetzt ist, wird das Standardvibrationsmuster des Android-Frameworks für die Benachrichtigung verwendet. Standardwerte werden in config.xml angegeben. Wenn default_vibrate_timings auf true gesetzt ist und vibrate_timings ebenfalls festgelegt ist, wird der Standardwert anstelle des vom Benutzer angegebenen vibrate_timings verwendet.

default_light_settings

boolean

Wenn dieser Wert auf „true“ gesetzt ist, werden die Standard-LED-Lichteinstellungen des Android-Frameworks für die Benachrichtigung verwendet. Standardwerte werden in config.xml angegeben. Wenn default_light_settings auf „true“ gesetzt ist und „ light_settings ebenfalls festgelegt ist, werden die vom Benutzer angegebenen „ light_settings anstelle des Standardwerts verwendet.

vibrate_timings[]

string ( Duration format)

Stellen Sie das zu verwendende Vibrationsmuster ein. Geben Sie eine Reihe von protobuf.Dauer ein, um den Vibrator ein- oder auszuschalten. Der erste Wert gibt die Duration an, bevor der Vibrator eingeschaltet wird. Der nächste Wert gibt die Duration an, für die der Vibrator eingeschaltet bleibt. Nachfolgende Werte wechseln zwischen Duration zum Ausschalten des Vibrators und der Dauer zum Einschalten des Vibrators. Wenn vibrate_timings festgelegt ist und default_vibrate_timings auf true festgelegt ist, wird der Standardwert anstelle des vom Benutzer angegebenen vibrate_timings verwendet.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, endend mit „ s “. Beispiel: "3.5s" .

visibility

enum ( Visibility )

Legen Sie die Notification.visibility der Benachrichtigung fest.

notification_count

integer

Legt die Anzahl der Elemente fest, die diese Benachrichtigung darstellt. Kann als Badge-Anzahl für Launcher angezeigt werden, die Badges unterstützen. Siehe Benachrichtigungs-Badge . Dies kann beispielsweise nützlich sein, wenn Sie nur eine Benachrichtigung verwenden, um mehrere neue Nachrichten darzustellen, die Anzahl hier jedoch die Gesamtzahl der neuen Nachrichten darstellen soll. Wenn Null oder nicht angegeben, verwenden Systeme, die Badges unterstützen, die Standardeinstellung, die darin besteht, jedes Mal, wenn eine neue Benachrichtigung eintrifft, eine Zahl zu erhöhen, die im Menü für langes Drücken angezeigt wird.

light_settings

object ( LightSettings )

Einstellungen zur Steuerung der LED-Blinkrate und -Farbe der Benachrichtigung, wenn eine LED auf dem Gerät verfügbar ist. Die Gesamtblinkzeit wird vom Betriebssystem gesteuert.

image

string

Enthält die URL eines Bildes, das in einer Benachrichtigung angezeigt wird. Falls vorhanden, überschreibt es google.firebase.fcm.v1.Notification.image .

Benachrichtigungspriorität

Prioritätsstufen einer Benachrichtigung.

Aufzählungen
PRIORITY_UNSPECIFIED Wenn die Priorität nicht angegeben ist, wird die Benachrichtigungspriorität auf PRIORITY_DEFAULT festgelegt.
PRIORITY_MIN Niedrigste Benachrichtigungspriorität. Benachrichtigungen mit dieser PRIORITY_MIN werden dem Benutzer möglicherweise nicht angezeigt, außer unter besonderen Umständen, z. B. detaillierten Benachrichtigungsprotokollen.
PRIORITY_LOW Niedrigere Benachrichtigungspriorität. Die Benutzeroberfläche kann die Benachrichtigungen im Vergleich zu Benachrichtigungen mit PRIORITY_DEFAULT kleiner oder an einer anderen Position in der Liste anzeigen.
PRIORITY_DEFAULT Standard-Benachrichtigungspriorität. Wenn die Anwendung ihre eigenen Benachrichtigungen nicht priorisiert, verwenden Sie diesen Wert für alle Benachrichtigungen.
PRIORITY_HIGH Höhere Benachrichtigungspriorität. Verwenden Sie dies für wichtigere Benachrichtigungen oder Warnungen. Die Benutzeroberfläche kann diese Benachrichtigungen im Vergleich zu Benachrichtigungen mit PRIORITY_DEFAULT größer oder an einer anderen Position in den Benachrichtigungslisten anzeigen.
PRIORITY_MAX Höchste Benachrichtigungspriorität. Verwenden Sie dies für die wichtigsten Elemente der Anwendung, die die sofortige Aufmerksamkeit oder Eingabe des Benutzers erfordern.

Sichtweite

Verschiedene Sichtbarkeitsstufen einer Benachrichtigung.

Aufzählungen
VISIBILITY_UNSPECIFIED Wenn nicht angegeben, wird standardmäßig Visibility.PRIVATE verwendet.
PRIVATE Zeigen Sie diese Benachrichtigung auf allen Sperrbildschirmen an, verbergen Sie jedoch vertrauliche oder private Informationen auf sicheren Sperrbildschirmen.
PUBLIC Diese Benachrichtigung vollständig auf allen Sperrbildschirmen anzeigen.
SECRET Geben Sie keinen Teil dieser Benachrichtigung auf einem sicheren Sperrbildschirm preis.

Lichteinstellungen

Einstellungen zur Steuerung der Benachrichtigungs-LED.

JSON-Darstellung
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
Felder
color

object ( Color )

Erforderlich. Stellen Sie color der LED mit google.type.Color ein.

light_on_duration

string ( Duration format)

Erforderlich. Definieren Sie zusammen mit light_off_duration die Blinkrate der LED-Blitze. Durch proto.Duration definierte Auflösung

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, endend mit „ s “. Beispiel: "3.5s" .

light_off_duration

string ( Duration format)

Erforderlich. Definieren Sie zusammen mit light_on_duration die Blinkrate der LED-Blitze. Durch proto.Duration definierte Auflösung

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, endend mit „ s “. Beispiel: "3.5s" .

Farbe

Stellt eine Farbe im RGBA-Farbraum dar. Diese Darstellung ist eher auf eine einfache Konvertierung in/von Farbdarstellungen in verschiedenen Sprachen als auf Kompaktheit ausgelegt. Die Felder dieser Darstellung können beispielsweise ganz einfach dem Konstruktor von java.awt.Color in Java bereitgestellt werden; es kann auch trivial für +colorWithRed:green:blue:alpha Methode von UIColor in iOS bereitgestellt werden; und mit ein wenig Arbeit kann es in JavaScript problemlos in einen CSS- rgba() String formatiert werden.

Diese Referenzseite enthält keine Informationen über den absoluten Farbraum, der zur Interpretation des RGB-Werts verwendet werden sollte (z. B. sRGB, Adobe RGB, DCI-P3, BT.2020 usw.). Standardmäßig sollten Anwendungen den sRGB-Farbraum annehmen.

Wenn über Farbgleichheit entschieden werden muss, behandeln Implementierungen, sofern nicht anders dokumentiert, zwei Farben als gleich, wenn sich alle ihre Rot-, Grün-, Blau- und Alpha-Werte jeweils um höchstens 1e-5 unterscheiden.

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

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

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

// ...
JSON-Darstellung
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Felder
red

number

Der Rotanteil der Farbe als Wert im Intervall [0, 1].

green

number

Der Grünanteil der Farbe als Wert im Intervall [0, 1].

blue

number

Der Blauanteil der Farbe als Wert im Intervall [0, 1].

alpha

number

Der Anteil dieser Farbe, der auf das Pixel angewendet werden soll. Das heißt, die endgültige Pixelfarbe wird durch die Gleichung definiert:

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

Das bedeutet, dass ein Wert von 1,0 einer Volltonfarbe entspricht, während ein Wert von 0,0 einer vollständig transparenten Farbe entspricht. Hierbei wird eine Wrapper-Nachricht anstelle eines einfachen Gleitkomma-Skalars verwendet, sodass zwischen einem Standardwert und dem nicht gesetzten Wert unterschieden werden kann. Wenn es weggelassen wird, wird dieses Farbobjekt als Volltonfarbe gerendert (als ob dem Alphawert explizit der Wert 1,0 zugewiesen worden wäre).

AndroidFcmOptions

Optionen für Funktionen, die vom FCM SDK für Android bereitgestellt werden.

JSON-Darstellung
{
  "analytics_label": string
}
Felder
analytics_label

string

Bezeichnung, die den Analysedaten der Nachricht zugeordnet ist.

WebpushConfig

Webpush-Protokolloptionen .

JSON-Darstellung
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
Felder
headers

map (key: string, value: string)

Im Webpush-Protokoll definierte HTTP-Header. Informationen zu unterstützten Headern finden Sie im Webpush-Protokoll , z. B. „TTL“: „15“.

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

data

map (key: string, value: string)

Beliebige Schlüssel-/Wertnutzlast. Falls vorhanden, überschreibt es google.firebase.fcm.v1.Message.data .

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Struct format)

Web-Benachrichtigungsoptionen als JSON-Objekt. Unterstützt Benachrichtigungsinstanzeigenschaften, wie in der Web Notification API definiert. Falls vorhanden, überschreiben die Felder „title“ und „body“ google.firebase.fcm.v1.Notification.title und google.firebase.fcm.v1.Notification.body .

fcm_options

object ( WebpushFcmOptions )

Optionen für Funktionen, die vom FCM SDK für Web bereitgestellt werden.

WebpushFcmOptions

Optionen für Funktionen, die vom FCM SDK für Web bereitgestellt werden.

JSON-Darstellung
{
  "link": string,
  "analytics_label": string
}
Felder
analytics_label

string

Bezeichnung, die den Analysedaten der Nachricht zugeordnet ist.

ApnsConfig

Spezifische Optionen für den Apple Push Notification Service .

JSON-Darstellung
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
Felder
headers

map (key: string, value: string)

Im Apple Push Notification Service definierte HTTP-Anforderungsheader. Informationen zu unterstützten Headern wie apns-expiration und apns-priority finden Sie in den APNs-Anforderungsheadern .

Das Backend legt einen Standardwert für apns-expiration von 30 Tagen und einen Standardwert für apns-priority von 10 fest, sofern dieser nicht explizit festgelegt wird.

Ein Objekt, das eine Liste von "key": value Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

payload

object ( Struct format)

APNs-Nutzlast als JSON-Objekt, einschließlich aps Wörterbuch und benutzerdefinierter Nutzlast. Siehe Payload-Schlüsselreferenz . Falls vorhanden, überschreibt es google.firebase.fcm.v1.Notification.title und google.firebase.fcm.v1.Notification.body .

fcm_options

object ( ApnsFcmOptions )

Optionen für Funktionen, die vom FCM SDK für iOS bereitgestellt werden.

ApnsFcmOptions

Optionen für Funktionen, die vom FCM SDK für iOS bereitgestellt werden.

JSON-Darstellung
{
  "analytics_label": string,
  "image": string
}
Felder
analytics_label

string

Bezeichnung, die den Analysedaten der Nachricht zugeordnet ist.

image

string

Enthält die URL eines Bildes, das in einer Benachrichtigung angezeigt wird. Falls vorhanden, überschreibt es google.firebase.fcm.v1.Notification.image .

FcmOptions

Plattformunabhängige Optionen für Funktionen, die von den FCM SDKs bereitgestellt werden.

JSON-Darstellung
{
  "analytics_label": string
}
Felder
analytics_label

string

Bezeichnung, die den Analysedaten der Nachricht zugeordnet ist.

Methoden

send

Senden Sie eine Nachricht an das angegebene Ziel (ein Registrierungstoken, ein Thema oder eine Bedingung).