REST Resource: projects.messages

Zasób: wiadomość

Wiadomość do wysłania przez usługę Komunikacja w chmurze Firebase (FCM).

Zapis 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.
}
Pola
name

string

Tylko dane wyjściowe. Identyfikator wysłanej wiadomości w formacie projects/*/messages/{message_id}.

data

map (key: string, value: string)

Tylko wejście. Dowolny ładunek klucz/wartość, który musi być zakodowany w formacie UTF-8. Klucz nie może być słowem zarezerwowanym („from”, „message_type” ani też żadnych innych słów zaczynających się od „google” lub „gcm”). Gdy na urządzenia z iOS wysyłasz ładunki zawierające tylko pola danych, w ApnsConfig dozwolony jest tylko normalny priorytet ("apns-priority": "5").

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (Notification)

Tylko wejście. Podstawowy szablon powiadomień do używania na wszystkich platformach.

android

object (AndroidConfig)

Tylko wejście. Opcje specyficzne dla Androida dotyczące wiadomości wysyłanych przez serwer połączeń FCM.

webpush

object (WebpushConfig)

Tylko wejście. protokołu Webpush.

apns

object (ApnsConfig)

Tylko wejście. Opcje ustawień usługi Apple Push Notification.

fcm_options

object (FcmOptions)

Tylko wejście. Szablon opcji funkcji pakietu SDK FCM na wszystkich platformach.

Pole sumy target. To pole jest wymagane. Tylko wejście. Cel, do którego ma być wysłana wiadomość. target może być tylko jedną z tych wartości:
token

string

Token rejestracji, na który ma zostać wysłana wiadomość.

topic

string

Nazwa tematu, do którego chcesz wysłać wiadomość, np. „pogoda”. Uwaga: nie należy podawać prefiksu „/topics/”.

condition

string

Warunek, do którego ma zostać wysłana wiadomość, np. „'foo' w tematach & & „bar” w tematach”.

Powiadomienie

Podstawowy szablon powiadomień do używania na wszystkich platformach.

Zapis JSON
{
  "title": string,
  "body": string,
  "image": string
}
Pola
title

string

Tytuł powiadomienia.

body

string

Treść powiadomienia.

image

string

Zawiera adres URL obrazu, który zostanie pobrany na urządzenie i wyświetlony w powiadomieniu. JPEG, PNG i BMP obsługują wszystkie formaty. Animowane pliki GIF i filmy działają tylko na urządzeniach z iOS. WebP i HEIF mają różne poziomy obsługi w zależności od platformy i wersji platformy. W Androidzie obowiązuje limit rozmiaru obrazu 1 MB. Wykorzystanie limitu oraz koszty i konsekwencje hostowania obrazu w Firebase Storage: https://firebase.google.com/pricing

Konfiguracja Androida

Opcje specyficzne dla Androida dotyczące wiadomości wysyłanych przez serwer połączeń FCM.

Zapis 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
}
Pola
collapse_key

string

Identyfikator grupy wiadomości, którą można zwijać, tak by po wznowieniu dostarczania wysyłana była tylko ostatnia wiadomość. W danym momencie można użyć maksymalnie 4 różnych kluczy zwijania.

priority

enum (AndroidMessagePriority)

Priorytet wiadomości. Może przyjmować wartości „normalne” i „wysokie”. Więcej informacji znajdziesz w artykule Ustawianie priorytetu wiadomości.

ttl

string (Duration format)

Jak długo (w sekundach) wiadomość ma być przechowywana w FCM, jeśli urządzenie jest offline. Maksymalny obsługiwany czas życia to 4 tygodnie. Jeśli nie zostanie ustawiony, wartość domyślna to 4 tygodnie. Jeśli chcesz wysłać wiadomość od razu, ustaw wartość 0. W formacie JSON typ czasu trwania jest kodowany jako ciąg znaków, a nie obiekt, gdzie ciąg znaków kończy się sufiksem „s” (oznacza sekundy) i jest poprzedzony liczbą sekund, a nanosekundy są wyrażone jako ułamki sekund. Na przykład 3 sekundy i 0 nanosekund powinny być zakodowane w formacie JSON jako „3s”, a 3 sekundy i 1 nanosekunda powinny być zapisane w formacie JSON jako „3.000000001s”. Wartość ttl zostanie zaokrąglona w dół do najbliższej sekundy.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

restricted_package_name

string

Nazwa pakietu aplikacji, w której token rejestracji musi być zgodny, aby można było odebrać komunikat.

data

map (key: string, value: string)

Dowolny ładunek klucz/wartość. Jeśli ta opcja jest dostępna, zastąpi ona atrybut google.firebase.fcm.v1.Message.data.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (AndroidNotification)

Powiadomienie do wysłania na urządzenia z Androidem.

fcm_options

object (AndroidFcmOptions)

Opcje funkcji zapewnianych przez pakiet SDK FCM na Androida.

direct_boot_ok

boolean

Jeśli zasada ma wartość Prawda, wiadomości mogą być dostarczane do aplikacji, gdy urządzenie jest w trybie rozruchu bezpośredniego. Zobacz Obsługa trybu bezpośredniego rozruchu.

AndroidMessagePriority

Priorytet wiadomości, która ma być wysłana na urządzenia z Androidem. Pamiętaj, że ten priorytet określa pojęcie FCM, które określa, kiedy wiadomość zostanie dostarczona. Zobacz przewodniki po FCM. Dodatkowo możesz określić priorytet wyświetlania powiadomień na urządzeniach z Androidem, na które kierowane są reklamy, za pomocą metody Android Notification.NotificationPriority.

Wartości w polu enum
NORMAL Domyślny priorytet wiadomości z danymi. Wiadomości o normalnym priorytecie nie otworzą połączeń sieciowych na uśpionym urządzeniu, a ich dostarczenie może zostać opóźnione, by oszczędzać baterię. W przypadku wiadomości, które są czasochłonne, na przykład powiadomienia o nowych e-mailach lub innych danych do synchronizacji, wybierz normalny priorytet dostarczania.
HIGH Domyślny priorytet komunikatów z powiadomieniami. FCM próbuje natychmiast dostarczyć wiadomości o wysokim priorytecie, co pozwala usłudze FCM wybudzać uśpione urządzenie, gdy jest to możliwe, i nawiązywać połączenie sieciowe z serwerem aplikacji. Aplikacje, które obsługują na przykład alerty na temat czatu, czatu lub połączeń głosowych, zwykle muszą nawiązać połączenie sieciowe i mieć pewność, że FCM dostarczy wiadomość na urządzenie bez opóźnienia. Ustaw wysoki priorytet, jeśli wiadomość ma kluczowe znaczenie pod względem czasowym i wymaga natychmiastowej interakcji z użytkownikiem. Pamiętaj jednak, że ustawienie wysokiego priorytetu wiadomości powoduje większe zużycie baterii niż zwykłe wiadomości priorytetowe.

Powiadomienie na Androidzie

Powiadomienie do wysłania na urządzenia z Androidem.

Zapis 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,
  "proxy": enum (Proxy)
}
Pola
title

string

Tytuł powiadomienia. Jeśli ta opcja jest dostępna, zastąpi ona atrybut google.firebase.fcm.v1.Notification.title.

body

string

Treść powiadomienia. Jeśli ta opcja jest dostępna, zastąpi ona atrybut google.firebase.fcm.v1.Notification.body.

icon

string

Ikona powiadomienia. Ustawia ikonę powiadomień na myicon dla zasobu rysowalnego myicon. Jeśli nie wyślesz tego klucza w żądaniu, FCM wyświetli ikonę programu uruchamiającego określoną w manifeście aplikacji.

color

string

Kolor ikony powiadomienia wyrażony w formacie #rrggbb.

sound

string

Dźwięk odtwarzany, gdy urządzenie otrzyma powiadomienie. Obsługuje wartość „default” lub nazwę pliku zasobu dźwiękowego dołączonego do aplikacji. Pliki dźwiękowe muszą mieć format /res/raw/.

tag

string

Identyfikator używany do zastępowania dotychczasowych powiadomień w panelu powiadomień. Jeśli nie podasz żadnej wartości, każde żądanie spowoduje utworzenie nowego powiadomienia. Jeśli powiadomienie z tym samym tagiem jest już wyświetlane, nowe powiadomienie zastąpi dotychczasowe w panelu powiadomień.

click_action

string

Działanie powiązane z kliknięciem powiadomienia przez użytkownika. Jeśli określisz działanie z odpowiednim filtrem intencji, w momencie kliknięcia powiadomienia przez użytkownika zostanie uruchomione działanie z odpowiednim filtrem intencji.

body_loc_key

string

Klucz do ciągu tekstowego w zasobach ciągu aplikacji w celu zlokalizowania tekstu pod kątem bieżącej lokalizacji użytkownika. Więcej informacji znajdziesz w sekcji Zasoby tekstowe.

body_loc_args[]

string

Zmienne wartości ciągu znaków, które mają być używane zamiast specyfikatorów formatu w body_loc_key w celu zlokalizowania tekstu głównego pod kątem bieżącej lokalizacji użytkownika. Więcej informacji znajdziesz w artykule Formatowanie i styl.

title_loc_key

string

Klucz do ciągu tekstowego tytułu w zasobach tekstowych aplikacji używany do zlokalizowania tekstu tytułu na bieżącej lokalizacji użytkownika. Więcej informacji znajdziesz w sekcji Zasoby tekstowe.

title_loc_args[]

string

Zmienne wartości ciągu znaków, które mają być używane zamiast specyfikatorów formatu w atrybucie title_loc_key w celu zlokalizowania tekstu tytułu zgodnie z bieżącą lokalizacją użytkownika. Więcej informacji znajdziesz w artykule Formatowanie i styl.

channel_id

string

Identyfikator kanału powiadomienia (nowy w Androidzie O). Aplikacja musi utworzyć kanał z tym identyfikatorem, zanim otrzyma powiadomienie z tym identyfikatorem. Jeśli nie wyślesz tego identyfikatora kanału w żądaniu lub jeśli podany identyfikator kanału nie został jeszcze utworzony przez aplikację, FCM użyje identyfikatora kanału określonego w manifeście aplikacji.

ticker

string

Ustawia tekst paska aktywności, który jest wysyłany do usług ułatwień dostępu. Przed poziomem interfejsu API 21 (Lollipop) ustawia tekst, który wyświetla się na pasku stanu po nadejściu powiadomienia.

sticky

boolean

Jeśli zasada ma wartość Fałsz lub jest nieskonfigurowana, powiadomienie jest automatycznie zamykane, gdy użytkownik kliknie je w panelu. Jeśli zasada ma wartość Prawda, powiadomienie jest wyświetlane nawet po kliknięciu go przez użytkownika.

event_time

string (Timestamp format)

Ustaw godzinę wystąpienia zdarzenia wskazanego w powiadomieniu. Powiadomienia w panelu są posortowane według tego momentu. Punkt w czasie jest określany za pomocą funkcji protobuf.Timestamp.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

local_only

boolean

Określ, czy to powiadomienie dotyczy tylko bieżącego urządzenia. Niektóre powiadomienia można połączyć z innymi urządzeniami, np. z zegarkiem z Wear OS, aby je wyświetlać zdalnie. Tę wskazówkę można ustawić tak, aby nie blokowało tego powiadomienia. Zobacz przewodniki na temat Wear OS

notification_priority

enum (NotificationPriority)

Ustaw względny priorytet tego powiadomienia. Priorytet wskazuje, jaka część uwagi użytkownika powinna zainteresować to powiadomienie. Powiadomienia o niskim priorytecie mogą być w pewnych sytuacjach ukryte przed użytkownikiem, a użytkownik może stracić dostęp do powiadomienia o wyższym priorytecie. Efekt ustawienia tych samych priorytetów może się nieznacznie różnić w zależności od platformy. Pamiętaj, że ten priorytet różni się od AndroidMessagePriority. Ten priorytet jest przetwarzany przez klienta po dostarczeniu wiadomości, podczas gdy AndroidMessagePriority to pojęcie FCM, które określa, kiedy wiadomość zostanie dostarczona.

default_sound

boolean

Jeśli ma wartość Prawda, używane jest domyślne dźwięki platformy Androida. Wartości domyślne określa się w pliku config.xml.

default_vibrate_timings

boolean

Jeśli zasada ma wartość Prawda, należy używać domyślnego wzorca wibracji platformy Android w przypadku powiadomienia. Wartości domyślne określa się w pliku config.xml. Jeśli zasada default_vibrate_timings ma wartość Prawda i ustawienie vibrate_timings jest też ustawione, zamiast vibrate_timings określonego przez użytkownika używana jest wartość domyślna.

default_light_settings

boolean

Jeśli ma wartość Prawda, użyj domyślnych ustawień diody LED na urządzeniach z Androidem w przypadku powiadomienia. Wartości domyślne określa się w pliku config.xml. Jeśli zasada default_light_settings ma wartość Prawda, a zasada light_settings jest też skonfigurowana, zamiast wartości domyślnej używana jest light_settings określona przez użytkownika.

vibrate_timings[]

string (Duration format)

Ustaw używany wzór wibracji. Aby włączyć lub wyłączyć wibrator, przekaż tablicę protobuf.Duration. Pierwsza wartość wskazuje Duration, które będzie czekać przed włączeniem wibracji. Kolejna wartość wskazuje Duration, na którym wibrator ma być włączony. Kolejne wartości zmieniają się między Duration, aby wyłączyć wibrator i włączyć je ponownie. Jeśli zasada vibrate_timings jest ustawiona, a default_vibrate_timings ma wartość true, używana jest wartość domyślna, a nie vibrate_timings określona przez użytkownika.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

visibility

enum (Visibility)

Ustaw wartość notification.visibility powiadomienia.

notification_count

integer

Określa liczbę elementów reprezentowanych przez to powiadomienie. Może być wyświetlana jako liczba plakietek w programach uruchamiających obsługujących plakietki.Zobacz Plakietka powiadomień. Może to być przydatne na przykład wtedy, gdy używasz tylko jednego powiadomienia do reprezentowania wielu nowych wiadomości, ale chcesz, by liczba ta odzwierciedlała łączną liczbę nowych wiadomości. Jeśli wartość wynosi zero lub nie jest określona, systemy obsługujące plakietki używają wartości domyślnej, która zwiększa liczbę wyświetlaną w menu po naciśnięciu i przytrzymaniu przy każdym nadejściu nowego powiadomienia.

light_settings

object (LightSettings)

Ustawienia umożliwiające kontrolowanie szybkości i koloru błysków i kolorów diody LED, jeśli na urządzeniu jest dostępna dioda LED. Łączny czas migania jest określany przez system operacyjny.

image

string

Zawiera adres URL obrazu, który będzie wyświetlany w powiadomieniu. Jeśli ta opcja jest dostępna, zastąpi ona atrybut google.firebase.fcm.v1.Notification.image.

proxy

enum (Proxy)

Ustawienie określające, kiedy powiadomienie może być przesyłane przez serwer proxy.

Priorytet powiadomienia

Poziomy priorytetu powiadomienia.

Wartości w polu enum
PRIORITY_UNSPECIFIED Jeśli priorytet jest nieokreślony, priorytet jest ustawiany na PRIORITY_DEFAULT.
PRIORITY_MIN Najniższy priorytet powiadomienia. Powiadomienia z atrybutem PRIORITY_MIN mogą nie być wyświetlane użytkownikowi z wyjątkiem wyjątkowych okoliczności, na przykład szczegółowych dzienników powiadomień.
PRIORITY_LOW Niższy priorytet powiadomień. Interfejs może wyświetlać powiadomienia w mniejszym rozmiarze lub w innym miejscu na liście (w porównaniu z powiadomieniami z PRIORITY_DEFAULT).
PRIORITY_DEFAULT Domyślny priorytet powiadomień. Jeśli aplikacja nie traktuje priorytetowo swoich powiadomień, używaj tej wartości w przypadku wszystkich powiadomień.
PRIORITY_HIGH Wyższy priorytet powiadomień. Służy do wyświetlania ważnych powiadomień lub alertów. Interfejs może wyświetlać te powiadomienia na większą skalę lub w innym miejscu na listach powiadomień, w porównaniu z powiadomieniami z PRIORITY_DEFAULT.
PRIORITY_MAX Najwyższy priorytet powiadomień. Użyj tej opcji w przypadku najważniejszych elementów aplikacji, które wymagają natychmiastowej uwagi lub działania użytkownika.

Widoczność

Różne poziomy widoczności powiadomienia.

Wartości w polu enum
VISIBILITY_UNSPECIFIED Jeśli nie określono inaczej, domyślnie jest to Visibility.PRIVATE.
PRIVATE Pokazuj to powiadomienie na wszystkich ekranach blokady, ale ukryj poufne lub prywatne informacje na ekranie blokady.
PUBLIC Pokaż to powiadomienie w całości na wszystkich ekranach blokady.
SECRET Nie pokazuj żadnej części tego powiadomienia na ekranie blokady.

Ustawienia światła

Ustawienia sterowania diodą LED powiadomień.

Zapis JSON
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
Pola
color

object (Color)

To pole jest wymagane. Ustaw color diody LED na google.type.Color.

light_on_duration

string (Duration format)

To pole jest wymagane. Oprócz light_off_duration określ szybkość migania błysków LED. Rozdzielczość określona przez proto.Duration

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

light_off_duration

string (Duration format)

To pole jest wymagane. Oprócz light_on_duration określ szybkość migania błysków LED. Rozdzielczość określona przez proto.Duration

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

Kolor

Reprezentuje kolor w przestrzeni kolorów RGBA. Ta reprezentacja została zaprojektowana z myślą o ułatwieniu konwersji wyświetlania i reprezentacji kolorów w różnych językach ze względu na złożoność. Pola tej reprezentacji można na przykład łatwo przekazać do konstruktora java.awt.Color w Javie, można je też w prosty sposób udostępnić w metodzie +colorWithRed:green:blue:alpha UIColor w iOS, a przy odrobinie pracy można je łatwo sformatować w ciągu znaków CSS rgba() w JavaScript.

Na tej stronie referencyjnej nie ma informacji o bezwzględnej przestrzeni kolorów, która powinna być używana do interpretacji wartości RGB (np. sRGB, Adobe RGB, DCI-P3 i BT.2020). Domyślnie aplikacje powinny zakładać przestrzeń kolorów sRGB.

Gdy trzeba określić równość kolorów, implementacje (o ile w dokumentacji nie określono inaczej), traktuj 2 kolory jako równe, jeśli wszystkie ich wartości czerwonego, zielonego, niebieskiego i alfa różnią się maksymalnie o 1e-5.

Przykład (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();
 }
 // ...

Przykład (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;
}
// ...

Przykład (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('');
};

// ...
Zapis JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Pola
red

number

Ilość czerwieni w kolorze jako wartość przedziału [0, 1].

green

number

Ilość zieleni w kolorze jako wartość przedziału [0–1].

blue

number

Ilość koloru niebieskiego jako wartość przedziału [0, 1].

alpha

number

Odsetek tego koloru, jaki ma zostać zastosowany do piksela. Oznacza to, że ostateczny kolor w pikselach jest określany przez równanie:

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

Oznacza to, że wartość 1,0 odpowiada jednolitego koloru, a 0,0 – całkowicie przezroczystemu. Wykorzystuje komunikat otoki, a nie prostą wartość skalarną zmiennoprzecinkową, dzięki czemu można odróżnić wartość domyślną od wartości nieskonfigurowanej. Jeśli zostanie pominięty, obiekt koloru będzie renderowany jako jednolity kolor (tak jakby wartość alfa otrzymała jawną wartość 1,0).

Proxy (Serwer proxy)

Ustawienie określające, kiedy powiadomienie może być przesyłane przez serwer proxy.

Wartości w polu enum
PROXY_UNSPECIFIED Jeśli nie określono inaczej, domyślnie jest to Proxy.IF_PRIORITY_LOWERED.
ALLOW Spróbuj przekierować to powiadomienie na serwer proxy.
DENY Nie przekierowuj tego powiadomienia na serwer proxy.
IF_PRIORITY_LOWERED Spróbuj przekierować to powiadomienie tylko wtedy, gdy jego wartość AndroidMessagePriority na urządzeniu spadła z HIGH do NORMAL.

Opcje AndroidFcm

Opcje funkcji zapewnianych przez pakiet SDK FCM na Androida.

Zapis JSON
{
  "analytics_label": string
}
Pola
analytics_label

string

Etykieta powiązana z danymi analitycznymi wiadomości.

Konfiguracja WebpushConfig

protokołu Webpush.

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

map (key: string, value: string)

Nagłówki HTTP zdefiniowane w protokole webpush. Informacje o obsługiwanych nagłówkach znajdziesz w opisie protokołu Webpush, np. „TTL”: „15”.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

data

map (key: string, value: string)

Dowolny ładunek klucz/wartość. Jeśli ta opcja jest dostępna, zastąpi ona atrybut google.firebase.fcm.v1.Message.data.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (Struct format)

Opcje powiadomień internetowych w postaci obiektu JSON. Obsługuje właściwości instancji powiadomień określone w interfejsie Web Notification API. Jeśli te pola są dostępne, pola „title” i „body” zastępują pola google.firebase.fcm.v1.Notification.title i google.firebase.fcm.v1.Notification.body.

fcm_options

object (WebpushFcmOptions)

Opcje funkcji zapewnianych przez pakiet SDK FCM w internecie.

Opcje WebpushFcm

Opcje funkcji zapewnianych przez pakiet SDK FCM w internecie.

Zapis JSON
{
  "link": string,
  "analytics_label": string
}
Pola
analytics_label

string

Etykieta powiązana z danymi analitycznymi wiadomości.

Konfiguracja ApnsConfig

Opcje ustawień usługi Apple Push Notification.

Zapis JSON
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
Pola
headers

map (key: string, value: string)

Nagłówki żądań HTTP zdefiniowane w usłudze Apple Push Notification. Informacje o obsługiwanych nagłówkach, takich jak apns-expiration i apns-priority, znajdziesz w nagłówkach żądań APN.

Backend ustawia domyślną wartość apns-expiration na 30 dni oraz domyślną wartość dla parametru apns-priority na 10, jeśli nie została ona wyraźnie ustawiona.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

payload

object (Struct format)

Ładunek APNs jako obiekt JSON, w tym zarówno słownik aps, jak i ładunek niestandardowy. Zobacz Informacje o kluczu ładunku. Jeśli ta opcja jest dostępna, zastępuje wartości google.firebase.fcm.v1.Notification.title i google.firebase.fcm.v1.Notification.body.

fcm_options

object (ApnsFcmOptions)

Opcje funkcji oferowanych przez pakiet SDK FCM na iOS.

Opcje ApnsFcm

Opcje funkcji oferowanych przez pakiet SDK FCM na iOS.

Zapis JSON
{
  "analytics_label": string,
  "image": string
}
Pola
analytics_label

string

Etykieta powiązana z danymi analitycznymi wiadomości.

image

string

Zawiera adres URL obrazu, który będzie wyświetlany w powiadomieniu. Jeśli ta opcja jest dostępna, zastąpi ona atrybut google.firebase.fcm.v1.Notification.image.

Opcje FCM

Niezależne od platformy opcje funkcji dostarczanych przez pakiety SDK FCM.

Zapis JSON
{
  "analytics_label": string
}
Pola
analytics_label

string

Etykieta powiązana z danymi analitycznymi wiadomości.

Metody

send

Wyślij wiadomość do określonego miejsca docelowego (tokena rejestracji, tematu lub warunku).