REST Resource: projects.messages

Zasób: Wiadomość

Wiadomość do wysłania przez usługę przesyłania wiadomości w chmurze Firebase.

Reprezentacja 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 wyjście. Identyfikator wysłanej wiadomości w formacie projects/*/messages/{message_id} .

data

map (key: string, value: string)

Tylko wejście. Dowolny ładunek klucza/wartości, który musi być zakodowany w formacie UTF-8. Klucz nie powinien być słowem zastrzeżonym („from”, „typ_wiadomości” ani żadnym słowem zaczynającym się od „google” lub „gcm”). Podczas wysyłania ładunków zawierających tylko pola danych do urządzeń z systemem iOS, 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 powiadomienia do użycia na wszystkich platformach.

android

object ( AndroidConfig )

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

webpush

object ( WebpushConfig )

Tylko wejście. Opcje protokołu Webpush .

apns

object ( ApnsConfig )

Tylko wejście. Opcje specyficzne dla usługi powiadomień push Apple .

fcm_options

object ( FcmOptions )

Tylko wejście. Szablon opcji funkcji pakietu FCM SDK do użycia na wszystkich platformach.

target terenowy Unii. Wymagany. Tylko wejście. Cel, do którego chcesz wysłać wiadomość. target może być tylko jednym z następujących:
token

string

Token rejestracyjny, do którego można wysłać wiadomość.

topic

string

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

condition

string

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

Powiadomienie

Podstawowy szablon powiadomienia do użycia na wszystkich platformach.

Reprezentacja 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, BMP mają pełną obsługę na różnych platformach. Animowane GIF i wideo działają tylko na iOS. WebP i HEIF mają różne poziomy wsparcia dla różnych platform i wersji platform. Android ma limit rozmiaru obrazu 1MB. Wykorzystanie przydziału i implikacje/koszty hostingu obrazu w Firebase Storage: https://firebase.google.com/pricing

Konfiguracja Androida

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

Reprezentacja 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 zwinąć, tak aby po wznowieniu dostarczania wysłana została tylko ostatnia wiadomość. W danym momencie dozwolone są maksymalnie 4 różne klawisze zwijania.

priority

enum ( AndroidMessagePriority )

Priorytet wiadomości. Może przyjmować wartości „normalne” i „wysokie”. Aby uzyskać więcej informacji, zobacz Ustawianie priorytetu wiadomości .

ttl

string ( Duration format)

Jak długo (w sekundach) wiadomość powinna być przechowywana w pamięci FCM, jeśli urządzenie jest w trybie offline. Maksymalny obsługiwany czas życia wynosi 4 tygodnie, a wartość domyślna to 4 tygodnie, jeśli nie została ustawiona. Ustaw go na 0, jeśli chcesz natychmiast wysłać wiadomość. W formacie JSON typ Duration jest kodowany jako ciąg znaków, a nie jako obiekt, gdzie ciąg znaków kończy się przyrostkiem „s” (wskazującym sekundy) i jest poprzedzony liczbą sekund, przy czym nanosekundy są wyrażane jako ułamki sekund. Na przykład 3 sekundy i 0 nanosekund powinny być zakodowane w formacie JSON jako „3s”, natomiast 3 sekundy i 1 nanosekunda powinny być wyrażone w formacie JSON jako „3.000000001s”. Wartość ttl zostanie zaokrąglona w dół do najbliższej sekundy.

Czas trwania w sekundach, zawierający maksymalnie dziewięć cyfr ułamkowych, kończący się na „ s ”. Przykład: "3.5s" .

restricted_package_name

string

Nazwa pakietu aplikacji, do którego musi pasować token rejestracji, aby otrzymać wiadomość.

data

map (key: string, value: string)

Dowolny ładunek klucza/wartości. Jeśli jest obecny, zastąpi 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 systemem Android.

fcm_options

object ( AndroidFcmOptions )

Opcje funkcji udostępnianych przez pakiet FCM SDK dla systemu Android.

direct_boot_ok

boolean

Jeśli ustawione na true, wiadomości będą mogły być dostarczane do aplikacji, gdy urządzenie będzie w trybie bezpośredniego rozruchu. Zobacz Obsługa trybu bezpośredniego rozruchu .

Priorytet wiadomości Androida

Priorytet wiadomości wysyłanej na urządzenia z systemem Android. Należy pamiętać, że ten priorytet jest koncepcją FCM, która kontroluje, kiedy wiadomość jest dostarczana. Zobacz przewodniki FCM . Dodatkowo możesz określić priorytet wyświetlania powiadomień na docelowych urządzeniach z Androidem za pomocą AndroidNotification.NotificationPriority .

Wyliczenia
NORMAL Domyślny priorytet dla wiadomości danych. Wiadomości o normalnym priorytecie nie otwierają połączeń sieciowych na urządzeniu uśpionym, a ich dostarczenie może zostać opóźnione w celu oszczędzania baterii. W przypadku wiadomości mniej wrażliwych na czas, takich jak powiadomienia o nowej wiadomości e-mail lub inne dane do synchronizacji, wybierz normalny priorytet dostarczania.
HIGH Domyślny priorytet powiadomień. FCM próbuje natychmiast dostarczyć wiadomości o wysokim priorytecie, umożliwiając usłudze FCM wybudzenie uśpionego urządzenia, jeśli to możliwe, i otwarcie połączenia sieciowego z serwerem aplikacji. Na przykład aplikacje obsługujące komunikatory internetowe, czaty lub powiadomienia dotyczące połączeń głosowych zazwyczaj muszą otworzyć połączenie sieciowe i upewnić się, że FCM bezzwłocznie dostarczy wiadomość do urządzenia. Ustaw wysoki priorytet, jeśli wiadomość ma krytyczne znaczenie czasowe i wymaga natychmiastowej interakcji użytkownika, ale pamiętaj, że ustawienie wysokiego priorytetu wiadomości powoduje większe zużycie baterii w porównaniu z wiadomościami o normalnym priorytecie.

Powiadomienie na Androida

Powiadomienie do wysłania na urządzenia z systemem Android.

Reprezentacja 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,
}
Pola
title

string

Tytuł powiadomienia. Jeśli jest obecny, zastąpi google.firebase.fcm.v1.Notification.title .

body

string

Treść powiadomienia. Jeśli jest obecny, zastąpi google.firebase.fcm.v1.Notification.body .

icon

string

Ikona powiadomienia. Ustawia ikonę powiadomienia na myicon dla myicon zasobu do rysowania. 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 odbierze powiadomienie. Obsługuje „domyślne” lub nazwę pliku zasobu dźwiękowego dołączonego do aplikacji. Pliki dźwiękowe muszą znajdować się w /res/raw/.

tag

string

Identyfikator używany do zastąpienia istniejących powiadomień w szufladzie powiadomień. Jeśli nie określono, każde żądanie tworzy nowe powiadomienie. Jeśli zostało to określone, a powiadomienie z tym samym tagiem jest już wyświetlane, nowe powiadomienie zastępuje istniejące w szufladzie powiadomień.

click_action

string

Akcja powiązana z kliknięciem przez użytkownika powiadomienia. Jeśli określono, działanie z pasującym filtrem intencji zostanie uruchomione, gdy użytkownik kliknie powiadomienie.

body_loc_key

string

Klucz do ciągu treści w zasobach ciągu aplikacji, który ma być używany do lokalizowania tekstu treści w bieżącej lokalizacji użytkownika. Aby uzyskać więcej informacji, zobacz Zasoby ciągów .

body_loc_args[]

string

Zmienne wartości ciągu, które mają być używane zamiast specyfikatorów formatu w body_loc_key w celu zlokalizowania tekstu treści w bieżącej lokalizacji użytkownika. Aby uzyskać więcej informacji, zobacz Formatowanie i stylizacja .

title_loc_key

string

Klucz do ciągu tytułu w zasobach ciągu aplikacji, który ma być używany do lokalizowania tekstu tytułu w bieżącej lokalizacji użytkownika. Aby uzyskać więcej informacji, zobacz Zasoby ciągów .

title_loc_args[]

string

Zmienne wartości łańcuchowe, które mają być używane zamiast specyfikatorów formatu w kluczu_miejsca_tytułu w celu zlokalizowania tekstu tytułu w bieżącej lokalizacji użytkownika. Aby uzyskać więcej informacji, zobacz Formatowanie i stylizacja .

channel_id

string

Identyfikator kanału powiadomienia (nowość w Androidzie O). Aplikacja musi utworzyć kanał z tym identyfikatorem kanału, zanim otrzymane zostanie powiadomienie z tym identyfikatorem kanału. 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 „tickera”, który jest wysyłany do usług ułatwień dostępu. Przed wersją API 21 ( Lollipop ) ustawia tekst wyświetlany na pasku stanu po pierwszym nadejściu powiadomienia.

sticky

boolean

Jeśli opcja ma wartość Fałsz lub jest nieskonfigurowana, powiadomienie zostanie automatycznie odrzucone, gdy użytkownik kliknie je w panelu. Po ustawieniu wartości true powiadomienie będzie kontynuowane nawet po kliknięciu przez użytkownika.

event_time

string ( Timestamp format)

Ustaw godzinę wystąpienia zdarzenia z powiadomienia. Powiadomienia w panelu sortowane są według tego czasu. Punkt w czasie jest reprezentowany za pomocą protobuf.Timestamp .

Znacznik czasu w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundową i maksymalnie dziewięcioma cyframi ułamkowymi. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z" .

local_only

boolean

Określ, czy to powiadomienie ma dotyczyć tylko bieżącego urządzenia. Niektóre powiadomienia można połączyć z innymi urządzeniami w celu zdalnego wyświetlania, takimi jak zegarek z systemem Wear OS. Tę wskazówkę można ustawić tak, aby zalecała, aby to powiadomienie nie było mostkowane. Zobacz przewodniki dotyczące Wear OS

notification_priority

enum ( NotificationPriority )

Ustaw względny priorytet tego powiadomienia. Priorytet wskazuje, ile uwagi użytkownika powinno zająć to powiadomienie. W niektórych sytuacjach powiadomienia o niskim priorytecie mogą być ukryte przed użytkownikiem, podczas gdy użytkownik może zostać przerwany w celu otrzymania powiadomienia o wyższym priorytecie. Efekt ustawienia tych samych priorytetów może się nieznacznie różnić na różnych platformach. Należy pamiętać, że ten priorytet różni się od AndroidMessagePriority . Priorytet ten jest przetwarzany przez klienta po dostarczeniu wiadomości, natomiast AndroidMessagePriority to koncepcja FCM, która kontroluje moment dostarczenia wiadomości.

default_sound

boolean

Jeśli ustawione na true, użyj domyślnego dźwięku platformy Android dla powiadomienia. Wartości domyślne są określone w pliku config.xml .

default_vibrate_timings

boolean

Jeśli ustawione na true, użyj domyślnego wzorca wibracji platformy Android dla powiadomienia. Wartości domyślne są określone w pliku config.xml . Jeśli default_vibrate_timings jest ustawiony na true i vibrate_timings jest również ustawiony, zamiast vibrate_timings określonej przez użytkownika używana jest wartość domyślna.

default_light_settings

boolean

Jeśli ma wartość true, w przypadku powiadomień użyj domyślnych ustawień oświetlenia LED platformy Android. Wartości domyślne są określone w pliku config.xml . Jeśli default_light_settings ma wartość true i light_settings jest również ustawiony, zamiast wartości domyślnej używane jest light_settings określone przez użytkownika.

vibrate_timings[]

string ( Duration format)

Ustaw wzór wibracji, który ma być używany. Przekaż tablicę protobuf.Duration , aby włączyć lub wyłączyć wibrator. Pierwsza wartość wskazuje Duration oczekiwania przed włączeniem wibratora. Następna wartość wskazuje Duration trwania wibratora. Kolejne wartości zmieniają się pomiędzy Duration , aby wyłączyć wibrator i włączyć wibrator. Jeśli ustawiono vibrate_timings i default_vibrate_timings ustawiono na true , używana jest wartość domyślna zamiast określonego przez użytkownika vibrate_timings .

Czas trwania w sekundach, zawierający maksymalnie dziewięć cyfr ułamkowych, kończący się na „ s ”. Przykład: "3.5s" .

visibility

enum ( Visibility )

Ustaw widoczność powiadomienia.

notification_count

integer

Ustawia liczbę elementów reprezentowanych przez to powiadomienie. Może być wyświetlany jako liczba odznak w przypadku programów uruchamiających obsługujących odznaki. Zobacz Odznaka powiadomienia . Może to być na przykład przydatne, jeśli używasz tylko jednego powiadomienia do reprezentowania wielu nowych wiadomości, ale chcesz, aby liczba tutaj przedstawiała całkowitą liczbę nowych wiadomości. Jeśli zero lub nieokreślone, systemy obsługujące plakietki używają ustawienia domyślnego, które polega na zwiększaniu liczby wyświetlanej w menu po długim naciśnięciu za każdym razem, gdy nadejdzie nowe powiadomienie.

light_settings

object ( LightSettings )

Ustawienia sterujące częstotliwością i kolorem migania diody LED powiadomienia, jeśli na urządzeniu dostępna jest dioda LED. Całkowity czas migania jest kontrolowany przez system operacyjny.

image

string

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

Priorytet powiadomienia

Poziomy priorytetów powiadomienia.

Wyliczenia
PRIORITY_UNSPECIFIED Jeśli priorytet nie jest określony, priorytet powiadomienia jest ustawiony na PRIORITY_DEFAULT .
PRIORITY_MIN Najniższy priorytet powiadomień. Powiadomienia z tym PRIORITY_MIN mogą nie być wyświetlane użytkownikowi z wyjątkiem szczególnych okoliczności, takich jak szczegółowe dzienniki powiadomień.
PRIORITY_LOW Niższy priorytet powiadomień. Interfejs użytkownika może wybrać wyświetlanie powiadomień w mniejszych rozmiarach lub w innej pozycji na liście w porównaniu z powiadomieniami z PRIORITY_DEFAULT .
PRIORITY_DEFAULT Domyślny priorytet powiadomień. Jeśli aplikacja nie ustala priorytetu własnych powiadomień, użyj tej wartości dla wszystkich powiadomień.
PRIORITY_HIGH Wyższy priorytet powiadomień. Użyj tej opcji, aby wyświetlić ważniejsze powiadomienia lub alerty. Interfejs użytkownika może wybrać wyświetlanie tych powiadomień w większym rozmiarze lub w innej pozycji 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 wprowadzenia danych przez użytkownika.

Widoczność

Różne poziomy widoczności powiadomienia.

Wyliczenia
VISIBILITY_UNSPECIFIED Jeśli nie określono, domyślnie wybierz Visibility.PRIVATE .
PRIVATE Wyświetlaj to powiadomienie na wszystkich ekranach blokad, ale ukrywaj poufne lub prywatne informacje na bezpiecznych ekranach blokad.
PUBLIC Pokaż to powiadomienie w całości na wszystkich ekranach blokady.
SECRET Nie ujawniaj żadnej części tego powiadomienia na bezpiecznym ekranie blokady.

Ustawienia światła

Ustawienia sterujące diodą powiadomień.

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

object ( Color )

Wymagany. Ustaw color diody LED za pomocą google.type.Color .

light_on_duration

string ( Duration format)

Wymagany. Wraz z light_off_duration zdefiniuj częstotliwość migania diod LED. Rozdzielczość zdefiniowana przez proto.Duration

Czas trwania w sekundach, zawierający maksymalnie dziewięć cyfr ułamkowych, kończący się na „ s ”. Przykład: "3.5s" .

light_off_duration

string ( Duration format)

Wymagany. Wraz z light_on_duration zdefiniuj częstotliwość migania diod LED. Rozdzielczość zdefiniowana przez proto.Duration

Czas trwania w sekundach, zawierający maksymalnie dziewięć cyfr ułamkowych, kończący się na „ s ”. Przykład: "3.5s" .

Kolor

Reprezentuje kolor w przestrzeni kolorów RGBA. Ta reprezentacja została zaprojektowana z myślą o uproszczeniu konwersji do/z reprezentacji kolorów w różnych językach, a nie o zwartość. Na przykład pola tej reprezentacji można w prosty sposób udostępnić konstruktorowi java.awt.Color w Javie; można go również w prosty sposób dostarczyć do metody +colorWithRed:green:blue:alpha w iOS; i przy odrobinie pracy można go łatwo sformatować w ciągu CSS rgba() w JavaScript.

Niniejsza strona referencyjna nie zawiera informacji o bezwzględnej przestrzeni barw, która powinna zostać wykorzystana do interpretacji wartości RGB (np. sRGB, Adobe RGB, DCI-P3, BT.2020 itp.). Domyślnie aplikacje powinny przyjmować przestrzeń kolorów sRGB.

Kiedy należy określić równość kolorów, implementacje, o ile nie udokumentowano inaczej, traktują dwa kolory jako równe, jeśli wszystkie ich wartości czerwonego, zielonego, niebieskiego i alfa różnią się co najwyżej 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('');
};

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

number

Ilość czerwieni w kolorze jako wartość w przedziale [0, 1].

green

number

Ilość zieleni w kolorze jako wartość w przedziale [0, 1].

blue

number

Ilość koloru niebieskiego w kolorze jako wartość w przedziale [0, 1].

alpha

number

Część tego koloru, która powinna zostać zastosowana do piksela. Oznacza to, że ostateczny kolor piksela jest określony równaniem:

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

Oznacza to, że wartość 1,0 odpowiada kolorowi jednolitemu, natomiast wartość 0,0 odpowiada kolorowi całkowicie przezroczystemu. Używa to komunikatu opakowującego zamiast prostego skalara zmiennoprzecinkowego, dzięki czemu możliwe jest rozróżnienie pomiędzy wartością domyślną a wartością nieustawioną. Jeśli zostanie pominięty, ten obiekt koloru będzie renderowany jako jednolity kolor (tak jakby wartość alfa miała jawnie wartość 1,0).

Opcje AndroidaFcm

Opcje funkcji udostępnianych przez pakiet FCM SDK dla systemu Android.

Reprezentacja JSON
{
  "analytics_label": string
}
Pola
analytics_label

string

Etykieta powiązana z danymi analitycznymi wiadomości.

Konfiguracja Webpush

Opcje protokołu Webpush .

Reprezentacja 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 na temat obsługiwanych nagłówków można znaleźć w protokole 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 klucza/wartości. Jeśli jest obecny, zastąpi 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 jako obiekt JSON. Obsługuje właściwości instancji Notification zdefiniowane w Web Notification API . Jeśli są obecne, pola „title” i „treść” zastępują pola google.firebase.fcm.v1.Notification.title i google.firebase.fcm.v1.Notification.body .

fcm_options

object ( WebpushFcmOptions )

Opcje funkcji udostępnianych przez pakiet FCM SDK dla Internetu.

Opcje WebpushFcm

Opcje funkcji udostępnianych przez pakiet FCM SDK dla Internetu.

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

string

Etykieta powiązana z danymi analitycznymi wiadomości.

Konfiguracja Apns

Opcje specyficzne dla usługi powiadomień push Apple .

Reprezentacja 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 Service. Informacje na temat obsługiwanych nagłówków, takich jak apns-expiration i apns-priority , można znaleźć w nagłówkach żądań APN .

Zaplecze ustawia domyślną wartość dla apns-expiration wynoszącą 30 dni i domyślną wartość dla apns-priority wynoszącą 10, jeśli nie została ustawiona jawnie.

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, obejmujący zarówno słownik aps , jak i ładunek niestandardowy. Zobacz Informacje o kluczu ładunku . Jeśli jest obecny, zastępuje google.firebase.fcm.v1.Notification.title i google.firebase.fcm.v1.Notification.body .

fcm_options

object ( ApnsFcmOptions )

Opcje funkcji udostępnianych przez pakiet FCM SDK dla systemu iOS.

Opcje ApnsFcm

Opcje funkcji udostępnianych przez pakiet FCM SDK dla systemu iOS.

Reprezentacja 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 jest obecny, zastąpi google.firebase.fcm.v1.Notification.image .

Opcje Fcm

Niezależne od platformy opcje funkcji udostępnianych przez zestawy SDK FCM.

Reprezentacja JSON
{
  "analytics_label": string
}
Pola
analytics_label

string

Etykieta powiązana z danymi analitycznymi wiadomości.

Metody

send

Wyślij wiadomość do określonego celu (tokenu rejestracji, tematu lub warunku).