Enviar mensagens com o Console do Firebase

É possível enviar mensagens de notificação usando o Editor do Notificações no Console do Firebase. Esse processo não oferece a mesma flexibilidade ou escalonabilidade do envio de mensagens com o SDK Admin ou com os protocolos HTTP e XMPP. No entanto, ele pode ser muito útil para testes, marketing altamente segmentado e engajamento do usuário. O Console do Firebase fornece testes A/B com base em análise para ajudar a refinar e melhorar as mensagens de marketing.

Depois de desenvolver a lógica no seu app para receber mensagens, permita que usuários não técnicos enviem mensagens conforme instruções na página Notificações, na Central de Ajuda do Firebase.

Sobre

Quando você envia uma mensagem do Editor do Notificações, o Google usa os campos inseridos no editor das seguintes maneiras:

  • Campos como Segmento do usuário e Expira em determinam as opções de destino e entrega da mensagem.
  • Campos como Texto de notificação e Dados personalizados são enviados ao cliente em um payload composto de pares de chave-valor.

Esses campos associam as chaves disponíveis por meio de protocolos do servidor FCM. Por exemplo, pares de chave-valor inseridos em Dados personalizados são gerenciados como um payload de dados para a notificação. Outros campos são mapeados diretamente às chaves no payload de notificação do FCM.

Alguns campos no Editor do Notificaçõesnão estão disponíveis por meio dos protocolos de servidor do FCM. Por exemplo, é possível direcionar segmentos de usuários com base na versão do aplicativo, idioma, tipo e versão do navegador ou propriedades do usuário de maneiras que não estão disponíveis usando o campo to na API do servidor.

As chaves que o Console do Firebase envia aos clientes são:

Chave Rótulo do campo do console Descrição
notification.title Título da notificação Indica o título da notificação.
notification.body Texto da notificação Indica o texto do corpo da notificação.
data Dados personalizados Pares de chave-valor que você define. São entregues como payload de dados para processamento pelo app.

As chaves que determinam a entrega de mensagens são:

Chave Rótulo do campo do console Descrição
sound Som

Indica o som que será reproduzido quando o dispositivo receber uma notificação.

time_to_live Expira em

Este parâmetro especifica o tempo, em segundos, de manutenção da mensagem no armazenamento do FCM se o dispositivo ficar off-line. Para mais informações, consulte Definir a vida útil de uma mensagem.

Registros de auditoria

Nesta página, descrevemos os registros de auditoria criados pelo Firebase como parte do Cloud Audit Logging.

Visão geral

Os serviços do Firebase gravam registros de auditoria para ajudar você a responder às perguntas "Quem fez o quê, onde e quando?" Eles são registros de auditoria do Cloud fornecidos como parte do projeto do GCP conectado ao seu projeto do Firebase. Cada projeto do Firebase contém apenas os registros de auditoria dos recursos que estão diretamente nele.

Para uma visão geral do Cloud Audit Logs, acesse Cloud Audit Logs. Se você quiser mais detalhes sobre os registros de auditoria do Cloud, consulte Noções básicas sobre os registros de auditoria.

O Cloud Audit Logging mantém três registros de auditoria para cada projeto, pasta e organização do GCP:

  • Registros de auditoria de atividade do administrador
  • Registros de auditoria de acesso a dados
  • Registros de auditoria de evento do sistema

O Console do Firebase Notificações grava registros de auditoria de acesso a dados apenas quando essa opção é ativada. Eles contêm as chamadas de API que leem a configuração ou os metadados dos recursos, além das chamadas com base no usuário que criam, modificam ou leem os dados dos recursos inseridos pelo usuário. Os registros de auditoria de acesso a dados não gravam as operações em recursos que são compartilhados publicamente (disponíveis para todos os usuários ou todos os usuários autenticados) ou que podem ser acessados sem fazer login no GCP.

O Console do Firebase Notificações não grava registros de auditoria de atividade do administrador.

O Console do Firebase Notificações não grava registros de auditoria de eventos do sistema.

Operações auditadas

Veja a seguir um resumo de quais operações da API correspondem a cada tipo de registro de auditoria no Console do Firebase Notificações:

Categoria de registro de auditoria Ações do Console do Firebase Notificações Nome do tipo (usado para pesquisar registros na IU)
Registros de acesso a dados (DATA_READ) Criar uma campanha GetCampaign
Registros de acesso a dados (DATA_READ) Listar campanhas ListCampaign
Registros de acesso a dados (DATA_READ) Receber informações de uma notificação de experimento ABT LegacyGetRollout
Registros de acesso a dados (DATA_READ) Criar possibilidades de segmentação GetAudiences
Registros de acesso a dados (DATA_READ) Receber estatísticas do fcm (Contagens enviadas/abertas/entregues/convertidas) GetFcmStats
Registros de acesso a dados (DATA_READ) Receber listas de rótulos de análises de um período e projeto. GetAnalyticsLabelList
Registros de acesso a dados (DATA_WRITE) Criar uma campanha CreateCampaign
Registros de acesso a dados (DATA_WRITE) Excluir uma campanha DeleteCampaign
Registros de acesso a dados (DATA_WRITE) Atualizar uma campanha UpdateCampaign
Registros de acesso a dados (DATA_WRITE) Criar um lançamento do ABT LegacyCreateRollout

Formato do registro de auditoria

As entradas de registro de auditoria, que podem ser visualizadas no Stackdriver Logging por meio do visualizador, a API Stackdriver Logging ou o SDK do Cloud, incluem os seguintes objetos:

  • A própria entrada de registro, que é um objeto do tipo LogEntry. Veja alguns campos úteis:

    • logName contém o tipo de registro de auditoria e de identificação do projeto.
    • resource contém o destino da operação auditada.
    • timeStamp contém o horário da operação auditada.
    • protoPayload contém as informações auditadas.
  • Os dados de registro de auditoria, que são um objeto AuditLog localizado no campo protoPayload da entrada de registro.

  • Informações opcionais de auditoria específicas de serviços, que são um objeto específico de serviços, localizado no campo serviceData do objeto AuditLog. Para detalhes, acesse Dados de auditoria específicos do serviço.

Para ver outros campos desses objetos e saber como interpretá-los, veja as Noções básicas de registros de auditoria.

Nome do registro

Os nomes de recursos dos registros de auditoria do Cloud indicam o projeto ou outra entidade que contém os registros de auditoria e mostram se o registro tem dados de registro de auditoria de atividades do administrador, de acesso a dados ou de eventos do sistema. Por exemplo, veja abaixo os nomes dos registros de auditoria de atividade do administrador de um projeto e de acesso a dados de uma organização.

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

Nome do serviço

Os registros de auditoria do Console do Firebase Notificações usam o nome de serviço gcmcontextualcampaign-pa.googleapis.com.

Para mais detalhes sobre serviços de registro, consulte Como mapear serviços para recursos.

Tipos de recurso

Os registros de auditoria do Console do Firebase Notificações usam o tipo de recurso audited_resource para todos os registros de auditoria.

Para uma lista completa, acesse Tipos de recurso monitorado.

Ativar registro de auditoria

Por padrão, os registros de auditoria de acesso a dados são desativados e não são gravados, a menos que essa opção seja ativada. Os registros de auditoria de acesso a dados do BigQuery são uma exceção e não podem ser desativados.

Para instruções sobre como ativar alguns ou todos os registros de auditoria de acesso a dados, leia Como configurar registros de acesso a dados.

Os registros de acesso a dados que forem configurados afetarão o preço dos registros no Stackdriver. Consulte a seção Preços nesta página.

O Console do Firebase Notificações não grava registros de auditoria de atividade do administrador.

Permissões de registro de auditoria

As permissões e os papéis do Cloud Identity and Access Management determinam quais registros de auditoria você pode ver ou exportar. Os registros estão incluídos nos projetos e em outras entidades como organizações, pastas e contas de faturamento. Para mais informações, consulte Como entender papéis.

Para ver os registros de auditoria de acesso a dados, é preciso ter um dos seguintes papéis no projeto que contém os registros:

Se você estiver usando registros de auditoria de uma entidade sem projeto, como uma organização, altere para os papéis do projeto adequados à organização

Ver registros

Você tem várias opções para visualizar suas entradas de registro de auditoria:

Visualizador básico

É possível usar a interface básica do Visualizador de registros no Console do GCP para recuperar entradas de registro de auditoria. Para isso, siga as etapas abaixo:

  1. Acesse Stackdriver Logging > Registros (página "Visualizador de registros") no Console do GCP:

    Acesse a página "Visualizador de registros"

  2. Selecione um projeto do GCP na parte superior da página ou crie um novo.

  3. No primeiro menu suspenso, selecione o tipo de recurso com os registros de auditoria que você quer ver. Selecione um recurso específico ou Global para todos os recursos.

  4. No segundo menu suspenso, selecione o tipo de registro que quer ver: activity para registros de auditoria de atividade do administrador, data_access para registros de auditoria de acesso a dados e system_events para registros de auditoria de evento do sistema.

    Se não aparecer nenhuma dessas opções, não há registros de auditoria desse tipo disponíveis no projeto.

Leitor avançado

É possível usar a interface avançada do Visualizador de registros no Console do GCP para recuperar suas entradas de registros de auditoria. Para isso, siga as etapas abaixo:

  1. Acesse Stackdriver Logging > Registros (página "Visualizador de registros") no Console do GCP:

    Acesse a página "Visualizador de registros"

  2. Selecione um projeto do GCP na parte superior da página ou crie um novo.

  3. No primeiro menu suspenso, selecione o tipo de recurso com os registros de auditoria que você quer ver. Selecione um recurso específico ou Global para todos os recursos.

  4. Clique na seta suspensa (▾) no canto direito da caixa de pesquisa de filtro e selecione Converter para filtro avançado.

  5. Crie um filtro que especifique ainda mais as entradas de registros que você quer ver. Para recuperar todos os registros de auditoria do projeto, adicione o filtro a seguir. Digite um [PROJECT_ID] válido em cada um dos nomes de registro.

      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")
    

    Para mais detalhes sobre filtros, acesse Filtros de registros avançados.

API

Para ver suas entradas de registro de auditoria usando a API Stackdriver Logging, siga estas etapas:

  1. Acesse a seção Testar esta API da documentação do método entries.list.

  2. Digite o seguinte na parte do Corpo da solicitação do formulário Teste esta API. Se você clicar neste formulário pré-preenchido, o corpo da solicitação será preenchido automaticamente. No entanto, será preciso digitar um [PROJECT_ID] válido para cada um dos nomes de registro.

      {
        "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. Clique em Executar.

Para mais detalhes sobre consultas, acesse Consultas de registros avançadas.

SDK

Para ler suas entradas de registros usando o SDK do Cloud, execute o comando abaixo. Digite um [PROJECT_ID] válido em cada um dos nomes de registro.

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)"

Acesse Como ler entradas de registro para mais informações sobre como usar o SDK do Cloud.

Para um exemplo de entrada de registro de auditoria e como encontrar as informações mais importantes, acesse Noções básicas sobre registros de auditoria.

Exportar registros de auditoria

É possível exportar os registros de auditoria da mesma forma que você exporta outros tipos de registro. Para mais detalhes sobre como exportar seus registros, acesse esta página. Veja a seguir algumas aplicações da exportação de registros de auditoria:

  • Para manter os registros de auditoria por mais tempo ou usar recursos de pesquisa mais avançados, exporte cópias dos seus registros de auditoria para o Google Cloud Storage, BigQuery ou Cloud Pub/Sub. Com o Cloud Pub/Sub, é possível exportar para outros aplicativos, repositórios e terceiros.

  • Para gerenciar os registros de auditoria em toda a organização, é possível criar coletores de exportação agregados. Eles exportam registros de todos os projetos na organização.

  • Se os registros ativados de acesso a dados estiverem fazendo seus projetos excederem as cotas, exporte e exclua esses registros do Logging. Para detalhes, acesse Exclusões de registros.

Preços

O Stackdriver Logging cobra pelos registros de acesso a dados que você solicita explicitamente. O Console do Firebase Notificações não grava registros de auditoria de atividade do administrador ou registros de auditoria de eventos do sistema.

Para mais informações sobre preços de registros de auditoria, consulte os preços do Stackdriver.