Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Wysyłaj wiadomości za pomocą konsoli Firebase

Możesz wysyłać powiadomienia za pomocą edytora powiadomień w konsoli Firebase. Chociaż nie zapewnia to takiej elastyczności ani skalowalności, jak wysyłanie wiadomości za pomocą pakietu Admin SDK lub protokołów HTTP i XMPP , może być bardzo przydatne do testowania lub wysoce ukierunkowanego marketingu i zaangażowania użytkowników. Konsola Firebase zapewnia testy A/B oparte na analizach, które pomagają udoskonalać i ulepszać komunikaty marketingowe.

Po opracowaniu w aplikacji logiki odbierania wiadomości możesz zezwolić użytkownikom nietechnicznym na wysyłanie wiadomości zgodnie z instrukcjami na stronie Powiadomienia w Centrum pomocy Firebase.

O

Gdy wysyłasz wiadomość z powiadomieniem z edytora powiadomień , Google używa wartości wpisanych w polach formularza w następujący sposób:

  • Pola takie jak Segment użytkowników i Wygasa określają cel wiadomości i opcje dostarczania.
  • Pola takie jak Tekst powiadomienia i Dane niestandardowe są wysyłane do klienta w ładunku składającym się z par klucz/wartość.

Te pola są mapowane na klucze dostępne za pośrednictwem protokołów serwera FCM. Na przykład pary klucz/wartość wprowadzone w danych niestandardowych są obsługiwane jako ładunek danych dla powiadomienia. Inne pola są mapowane bezpośrednio na klucze w ładunku powiadomienia FCM .

Zwróć uwagę, że niektóre pola kreatora powiadomień nie są dostępne za pośrednictwem protokołów serwera FCM. Na przykład można kierować segmenty użytkowników na podstawie wersji aplikacji, języka, typu i wersji przeglądarki lub właściwości użytkownika w sposób, który nie jest dostępny przy użyciu pola to w interfejsie API serwera.

Klucze wysyłane przez konsolę Firebase do klientów to:

Klucz Etykieta pola konsoli Opis
notification.title Tytuł powiadomienia Wskazuje tytuł powiadomienia.
notification.body Tekst powiadomienia Wskazuje tekst treści powiadomienia.
data Dane niestandardowe Pary klucz/wartość, które definiujesz. Są one dostarczane jako ładunek danych do obsługi przez aplikację.

Klucze określające dostarczanie wiadomości obejmują:

Klucz Etykieta pola konsoli Opis
sound Dźwięk

Wskazuje dźwięk do odtworzenia, gdy urządzenie otrzyma powiadomienie.

time_to_live Wygasa

Ten parametr określa, jak długo (w sekundach) wiadomość powinna być przechowywana w pamięci FCM, jeśli urządzenie jest w trybie offline. Aby uzyskać więcej informacji, zobacz Ustawianie czasu życia wiadomości .

Dzienniki audytu

Ta strona opisuje logi kontrolne utworzone przez Firebase w ramach Cloud Audit Logs .

Przegląd

Usługi Firebase zapisują dzienniki kontrolne, aby pomóc Ci odpowiedzieć na pytania „Kto co zrobił, gdzie i kiedy?” Są to dzienniki kontrolne Cloud dostarczane w ramach projektu Google Cloud połączonego z Twoim projektem Firebase . Każdy z Twoich projektów Firebase zawiera tylko dzienniki kontrolne zasobów, które znajdują się bezpośrednio w projekcie.

Ogólne omówienie dzienników kontrolnych Cloud znajdziesz w sekcji Dzienniki kontrolne Cloud . Aby lepiej zrozumieć dzienniki kontrolne Cloud, zapoznaj się z artykułem Opis dzienników kontrolnych .

Cloud Audit Logs przechowuje trzy dzienniki kontrolne dla każdego projektu, folderu i organizacji Google Cloud:

  • Dzienniki kontrolne aktywności administratora
  • Dzienniki kontroli dostępu do danych
  • Dzienniki audytu zdarzeń systemowych

Konsola powiadomień Firebase zapisuje dzienniki kontrolne dostępu do danych tylko po jawnym włączeniu. Dzienniki kontrolne dostępu do danych zawierają wywołania interfejsu API, które odczytują konfigurację lub metadane zasobów, a także wywołania interfejsu API sterowane przez użytkownika, które tworzą, modyfikują lub odczytują dane zasobów dostarczone przez użytkownika. Dzienniki kontrolne dostępu do danych nie rejestrują operacji dostępu do danych w zasobach, które są publicznie udostępniane (dostępne dla wszystkich użytkowników lub wszystkich uwierzytelnionych użytkowników ) lub do których można uzyskać dostęp bez logowania się do Google Cloud .

Konsola powiadomień Firebase nie zapisuje dzienników kontrolnych aktywności administratora .

Konsola powiadomień Firebase nie zapisuje dzienników kontroli zdarzeń systemowych .

Audytowane operacje

Poniżej podsumowano, które operacje interfejsu API odpowiadają poszczególnym typom dziennika kontrolnego w Firebase Notifications Console :

Kategoria dzienników kontroli Działania konsoli powiadomień Firebase Wpisz nazwę (używane do wyszukiwania dzienników w interfejsie użytkownika)
Dzienniki dostępu do danych (DATA_READ) Pobierz kampanię Pobierz kampanię
Dzienniki dostępu do danych (DATA_READ) Lista kampanii Lista kampanii
Dzienniki dostępu do danych (DATA_READ) Uzyskaj informacje z powiadomienia o eksperymencie ABT LegacyGetRollout
Dzienniki dostępu do danych (DATA_READ) Uzyskaj możliwości kierowania GetAudiences
Dzienniki dostępu do danych (DATA_READ) Uzyskaj statystyki fcm (liczba wysłanych/otwartych/dostarczonych/przekonwertowanych) GetFcmStats
Dzienniki dostępu do danych (DATA_READ) Uzyskaj listę etykiet analitycznych dla zakresu dat i projektu. GetAnalyticsLabelList
Dzienniki dostępu do danych (DATA_WRITE) Utwórz kampanię Utwórz kampanię
Dzienniki dostępu do danych (DATA_WRITE) Usuń kampanię Usuń kampanię
Dzienniki dostępu do danych (DATA_WRITE) Zaktualizuj kampanię Aktualizuj kampanię
Dzienniki dostępu do danych (DATA_WRITE) Utwórz wdrożenie z ABT LegacyUtwórzWdrożenie

Format dziennika kontroli

Wpisy dziennika kontrolnego, które można wyświetlić w usłudze Stackdriver Logging za pomocą przeglądarki logów, interfejsu Stackdriver Logging API lub pakietu Cloud SDK, obejmują następujące obiekty:

  • Sam wpis dziennika, który jest obiektem typu LogEntry . Przydatne pola to:

    • logName zawiera identyfikację projektu i typ dziennika audytu
    • resource zawiera cel audytowanej operacji
    • timeStamp zawiera czas audytowanej operacji
    • protoPayload zawiera audytowane informacje
  • Dane rejestrowania audytu, które są obiektemAuditLog przechowywanym w polu protoPayload wpisu dziennika.

  • Opcjonalne informacje specyficzne usługi audytu, który jest przedmiotem danej usługi odbywa się w serviceData dziedzinie AuditLog obiektu. Aby uzyskać szczegółowe informacje, przejdź do sekcji Dane audytu specyficzne dla usługi .

W przypadku innych pól w tych obiektach oraz sposobu ich interpretacji zapoznaj się z tematem Opis dzienników kontroli .

Nazwa dziennika

Nazwy zasobów dzienników kontrolnych Cloud wskazują projekt lub inną jednostkę, która jest właścicielem dzienników kontrolnych, oraz czy dziennik zawiera dane z dzienników kontrolnych dotyczących aktywności administratora, dostępu do danych lub zdarzeń systemowych. Poniżej przedstawiono na przykład nazwy dzienników kontrolnych aktywności administratora projektu i dzienników kontrolnych dostępu do danych organizacji:

projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity
organizations/[ORGANIZATION_ID]/logs/cloudaudit.googleapis.com%2Fdata_access

Nazwa serwisu

Dzienniki kontrolne Konsoli powiadomień gcmcontextualcampaign-pa.googleapis.com nazwy usługi gcmcontextualcampaign-pa.googleapis.com .

Aby uzyskać więcej informacji na temat usług rejestrowania, zobacz Mapowanie usług do zasobów .

Rodzaje zasobów

Dzienniki kontrolne Konsoli powiadomień audited_resource typu zasobu audited_resource dla wszystkich dzienników kontrolnych.

Aby uzyskać pełną listę, przejdź do Monitorowane typy zasobów .

Włącz rejestrowanie audytu

Dzienniki kontrolne dostępu do danych są domyślnie wyłączone i nie są zapisywane, chyba że zostaną wyraźnie włączone (wyjątkiem są dzienniki kontrolne dostępu do danych dla BigQuery, których nie można wyłączyć).

Instrukcje włączania niektórych lub wszystkich dzienników kontrolnych dostępu do danych znajdziesz w artykule Konfigurowanie dzienników dostępu do danych .

Włączone dzienniki kontrolne dostępu do danych mogą wpływać na ceny logów w usłudze Stackdriver. Zapoznaj się z sekcją Ceny na tej stronie.

Konsola powiadomień Firebase nie zapisuje dzienników kontrolnych aktywności administratora.

Uprawnienia do dziennika kontroli

Uprawnienia i role Cloud Identity and Access Management określają, które dzienniki kontrolne możesz wyświetlać lub eksportować. Dzienniki znajdują się w projektach i niektórych innych jednostkach, w tym organizacjach, folderach i kontach rozliczeniowych. Aby uzyskać więcej informacji, przejdź do Opis ról .

Aby wyświetlić dzienniki kontrolne dostępu do danych, musisz mieć jedną z następujących ról w projekcie zawierającym dzienniki kontrolne:

Jeśli używasz dzienników inspekcji z encji niebędącej projektem, takiej jak organizacja, zmień role projektu na odpowiednie role organizacji.

Zobacz rejestry

Masz kilka opcji przeglądania wpisów dziennika kontrolnego:

Przeglądarka podstawowa

Aby pobrać wpisy dziennika kontrolnego, możesz użyć podstawowego interfejsu przeglądarki logów w konsoli GCP. Wykonaj następujące czynności:

  1. Przejdź do strony Stackdriver Logging > Logi (przeglądarka logów) w konsoli GCP:

    Przejdź do strony przeglądarki logów

  2. Wybierz istniejący projekt Google Cloud u góry strony lub utwórz nowy projekt.

  3. W pierwszym menu rozwijanym wybierz typ zasobu, którego dzienniki kontrolne chcesz wyświetlić. Możesz wybrać określony zasób lub Global dla wszystkich zasobów.

  4. W drugim menu rozwijanego wybierz typ dziennika, który chcesz wyświetlić: activity na aktywność Admin dzienników kontroli, data_access dla dzienników kontroli danych Access, a system_events dla zdarzeń systemowych dzienników kontroli.

    Jeśli żadna z tych opcji nie jest wyświetlana, oznacza to, że w projekcie nie ma dostępnych dzienników audytu tego typu.

Zaawansowana przeglądarka

Aby pobrać wpisy dziennika kontrolnego, możesz użyć zaawansowanego interfejsu przeglądarki logów w konsoli GCP. Wykonaj następujące czynności:

  1. Przejdź do strony Stackdriver Logging > Logi (przeglądarka logów) w konsoli GCP:

    Przejdź do strony przeglądarki logów

  2. Wybierz istniejący projekt Google Cloud u góry strony lub utwórz nowy projekt.

  3. W pierwszym menu rozwijanym wybierz typ zasobu, którego dzienniki kontrolne chcesz wyświetlić. Możesz wybrać określony zasób lub Global dla wszystkich zasobów.

  4. Kliknij strzałkę w dół (▾) po prawej stronie pola filtru wyszukiwania i wybierz Konwertuj na filtr zaawansowany .

  5. Utwórz filtr, który dodatkowo określi wpisy dziennika, które chcesz wyświetlić. Aby pobrać wszystkie dzienniki kontrolne w swoim projekcie, dodaj następujący filtr. Podaj prawidłowy [PROJECT_ID] w każdej nazwie dziennika.

      logName = ("projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity" OR
          OR "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events"
          OR "projects/[PROJECT_ID]logs/cloudaudit.googleapis.com%2Fdata_access")
    

    Więcej informacji o filtrach znajdziesz w Zaawansowane filtry dzienników .

API

Aby wyświetlić wpisy w dzienniku kontrolnym za pomocą interfejsu API Stackdriver Logging:

  1. Przejdź do sekcji Wypróbuj ten interfejs API w dokumentacji metody entries.list .

  2. Umieść następujące informacje w części treści żądania w formularzu Wypróbuj ten interfejs API . Kliknięcie tego wstępnie wypełnionego formularza powoduje automatyczne wypełnienie treści żądania, ale konieczne będzie podanie prawidłowego [PROJECT_ID] w każdej nazwie dziennika.

      {
        "resourceNames": [
          "projects/[PROJECT_ID]"
        ],
        "pageSize": 5,
        "filter": "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"
      }
    
  3. Kliknij Wykonaj .

Aby uzyskać więcej informacji o zapytaniach, przejdź do Zaawansowanych zapytań do dzienników .

SDK

Aby odczytać wpisy dziennika za pomocą pakietu Cloud SDK, uruchom następujące polecenie. Podaj prawidłowy [PROJECT_ID] w każdej nazwie dziennika.

gcloud logging read "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_events OR projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"

Więcej informacji o korzystaniu z pakietu Cloud SDK znajdziesz w artykule Odczytywanie wpisów dziennika .

Przykładowy wpis w dzienniku kontroli i informacje o tym, jak znaleźć w nim najważniejsze informacje, znajdziesz w artykule Opis dzienników kontroli .

Eksportuj dzienniki kontroli

Dzienniki kontrolne można eksportować w taki sam sposób, jak inne rodzaje dzienników. Szczegółowe informacje na temat eksportowania dzienników znajdziesz w artykule Eksportowanie dzienników . Oto kilka zastosowań eksportowania dzienników kontrolnych:

  • Aby przechowywać dzienniki kontrolne przez dłuższy czas lub korzystać z bardziej zaawansowanych funkcji wyszukiwania, możesz wyeksportować kopie dzienników kontrolnych do Google Cloud Storage, BigQuery lub Google Cloud Pub/Sub. Korzystając z Cloud Pub/Sub, możesz eksportować do innych aplikacji, innych repozytoriów i innych firm.

  • Aby zarządzać dziennikami kontrolnymi w całej organizacji, możesz utworzyć zagregowane ujścia eksportu, które mogą eksportować dzienniki z dowolnego lub wszystkich projektów w organizacji.

  • Jeśli włączone dzienniki kontrolne dostępu do danych wypychają projekty nad ich przydziały, możesz wyeksportować dzienniki kontrolne dostępu do danych i wykluczyć je z rejestrowania. Szczegółowe informacje znajdziesz w sekcji Wykluczanie logów .

cennik

Usługa Stackdriver Logging pobiera opłaty za dzienniki kontrolne dostępu do danych, o które wyraźnie prosisz. Konsola powiadomień Firebase nie zapisuje dzienników kontrolnych aktywności administratora ani dzienników kontrolnych zdarzeń systemowych.

Więcej informacji o cenach dzienników kontrolnych znajdziesz w cenniku Stackdriver .