转到控制台

使用 Firebase 控制台发送消息

您可以使用 Firebase 控制台中的通知编辑器发送通知消息。尽管这种方法在发送消息时的灵活性或可扩缩性不及使用 Admin SDKHTTP 和 XMPP 协议,但它非常适合用于测试或者针对性较强的营销活动及用户互动。Firebase 控制台提供基于分析的 A/B 测试,可帮助优化和改进营销消息。

当您在应用中开发好用于接收消息的逻辑后,可让非技术用户能够按照 Firebase 帮助中心的通知页面中的说明来发送消息。

通知编辑器中的 FCM 消息字段简介

通知编辑器发送通知消息时,Google 以如下方式使用您在表单字段中输入的值:

  • 用户细分到期时间等字段用于确定消息目标和传送选项。
  • 通知文字自定义数据等字段以由键值对构成的负载形式发送至客户端。

这些字段会映射至使用 FCM 服务器协议时可用的键。例如,在自定义数据中输入的键值对是作为通知的数据载荷处理的。其他字段直接映射至 FCM 通知载荷中的键。

请注意,通知编辑器中的某些字段在使用 FCM 服务器协议时不可用。例如,您可以根据应用版本、语言、浏览器类型和版本、或用户属性来定位用户细分,而这些方法均不可通过服务器 API 中的 to 字段使用。

Firebase 控制台向客户端发送的键有:

控制台字段标签 说明
notification.title 通知标题 指示通知标题。
notification.body 通知文字 指示通知正文。
data 自定义数据 您定义的键值对。它们以数据有效负载的形式传送至应用以进行处理。

决定消息传送的键包括:

控制台字段标签 说明
sound 声音

指示设备收到通知时要播放的声音。

time_to_live 到期时间

此参数指定在设备离线的情况下将消息在 FCM 存储中保存多长时间(以秒为单位)。如需了解详情,请参阅设置消息的有效期

审核日志

Firebase 服务会写入审核日志,帮助您解答“哪些用户何时在何处执行了什么操作”的疑问。这些日志就是作为连接到 Firebase 项目的 GCP 项目的一部分提供的 Cloud Audit Logs 日志。每个 Firebase 项目都只包含直接属于项目的资源的审核日志。

如需大致了解 Cloud Audit Logs,请转到 Cloud Audit Logs。如需深入了解 Cloud Audit Logs,请查看了解审核日志

Cloud Audit Logs 会为每个 GCP 项目维护数据访问审核日志。

仅在明确启用时,Firebase 通知控制台才会写入数据访问审核日志。数据访问审核日志包含用于读取资源配置或元数据的 API 调用,以及用户进行的用于创建、修改或读取用户提供的资源数据的 API 调用。数据访问审核日志不会记录对公开共享的资源(所有用户所有经过身份验证的用户均可使用)或无需登录 GCP 即可访问的资源执行的数据访问操作。

审核的操作

下表汇总了 Firebase 通知控制台中对应于各审核类型的控制台操作(以及类型名称)。我们可以使用控制台操作中的类型名称搜索特定日志。

审核日志类别 Firebase 通知控制台操作 类型名称(用来在界面中搜索日志)
数据访问日志 (DATA_READ) 获取广告系列 GetCampaign
数据访问日志 (DATA_READ) 列举广告系列 ListCampaign
数据访问日志 (DATA_READ) 通过 ABT 实验通知获取信息 LegacyGetRollout
数据访问日志 (DATA_READ) 获取受众定位可能性 GetAudiences
数据访问日志 (DATA_READ) 获取 FCM 统计数据(已发送/已打开/已传送/已转化计数) GetFcmStats
数据访问日志 (DATA_READ) 获取对应于某个日期范围和项目的分析标签列表。 GetAnalyticsLabelList
数据访问日志 (DATA_WRITE) 创建广告系列 CreateCampaign
数据访问日志 (DATA_WRITE) 删除广告系列 DeleteCampaign
数据访问日志 (DATA_WRITE) 更新广告系列 UpdateCampaign
数据访问日志 (DATA_WRITE) 通过 ABT 创建发布 LegacyCreateRollout

审核日志格式

可以使用Stackdriver Logging API、Cloud SDK 或者 Stackdriver Logging 中的日志查看器来查看审核日志条目,条目中包括以下对象:

  • 日志条目本身,是类型为 LogEntry 的对象。有用的字段如下所示:

    • logName 包含项目标识和审核日志类型
    • resource 包含审核操作的目标
    • timeStamp 包含审核操作的时间
    • protoPayload 包含经过审核的信息
  • 审核日志记录数据,是保存在日志条目的 protoPayload 字段中的 AuditLog 对象。

  • (可选)服务专属的审核信息,是保存在 AuditLog 对象的 serviceData 字段中的服务专属对象。如需了解详情,请转到服务专属审核数据

如需了解上述对象中的其他字段以及如何解读这些字段,请查看了解审核日志

日志名称

Cloud Audit Logs 资源名称指明了审核日志所属的项目或其他实体。例如,下面所示的日志名称表示一个项目的数据访问审核日志:

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

服务名称

Firebase 通知控制台审核日志使用服务名称 gcmcontextualcampaign-pa.googleapis.com

如需详细了解日志记录服务,请参阅将服务映射到资源

资源类型

Firebase 通知控制台审核日志全部都使用资源类型 audited_resource

如需查看完整列表,请转到受监控的资源类型

启用审核日志记录

数据访问审核日志默认处于停用状态,除非明确启用,否则系统不会写入此类日志(BigQuery 数据访问审核日志是一种例外情况,它无法停用)。

如需了解如何启用部分或全部数据访问审核日志,请参阅配置数据访问日志

您所启用的数据访问审核日志可能会影响 stackdriver_name_short 中的日志价格。请查看本页中的价格部分。

审核日志权限

Cloud Identity and Access Management 权限和角色决定您可以查看或导出哪些审核日志。日志驻留在项目和一些其他实体(如组织、文件夹和结算帐号)中。如需了解详情,请参阅了解角色

要查看管理员活动审核日志,您必须在审核日志所属的项目中拥有以下 Cloud IAM 角色之一:

要查看数据访问审核日志,您必须在审核日志所属的项目中拥有以下角色之一:

查看日志

您可以通过多种方式来查看审核日志条目:

基本查看器

您可以使用 GCP Console 中的“日志查看器”基本界面来检索审核日志条目。执行以下操作:

  1. 转到 GCP Console 中的 Stackdriver Logging > 日志(日志查看器)页面:

    转到“日志查看器”页面

  2. 在页面顶部选择一个现有 GCP 项目,或者创建一个新项目。

  3. 在第一个下拉菜单中,选择您要查看其审核日志的资源类型。可选择特定资源,也可选择 Global 以包括所有资源。

  4. 在第二个下拉菜单中选择要查看的日志类型:data_access 表示数据访问审核日志。

    如果上述选项均未显示,则表示项目中没有该类型的审核日志。

  5. 如果您想搜索特定类型的日志,例如与创建广告系列相关的日志,那么可以按照类型名称进行过滤,本例中使用的是 CreateCampaign。

高级查看器

您可以使用 GCP Console 中的“日志查看器”高级界面来检索审核日志条目。执行以下操作:

  1. 转到 GCP Console 中的 Stackdriver Logging > 日志(日志查看器)页面:

    转到“日志查看器”页面

  2. 在页面顶部选择一个现有 GCP 项目,或者创建一个新项目。

  3. 在第一个下拉菜单中,选择您要查看其审核日志的资源类型。可选择特定资源,也可选择 Global 以包括所有资源。

  4. 点击搜索过滤框最右侧的下拉箭头 (▾),然后选择转换为高级过滤条件

  5. 创建过滤条件,以进一步指定您要查看的日志条目。要检索项目中的所有审核日志,请添加以下过滤条件。在每个日志名称中提供一个有效 [PROJECT_ID]

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

    如需详细了解过滤条件,请转到高级日志过滤条件

API

要使用 Stackdriver Logging API 查看审核日志条目,请执行以下操作:

  1. 转到 entries.list 方法文档中的试用此 API 部分。

  2. 将以下内容添加到试用此 API 表单的请求正文部分。点击此预填充的表单后,系统会自动填充请求正文,但您需要在每个日志名称中提供一个有效的 [PROJECT_ID]

      {
        "resourceNames": [
          "projects/[PROJECT_ID]"
        ],
        "pageSize": 5,
        "filter": "logName=(projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"
      }
    
  3. 点击执行

如需详细了解过滤条件,请转到高级日志过滤条件

SDK

要使用 Cloud SDK 读取日志条目,请运行以下命令。在每个日志名称中提供一个有效的 [PROJECT_ID]

gcloud logging read "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access)"

如需详细了解如何使用 Cloud SDK,请转到读取日志条目

如需查看审核日志条目示例并了解如何在其中找到最重要的信息,请转到了解审核日志

导出审核日志

您可以按照导出其他类型日志的方式导出审核日志。如需详细了解如何导出日志,请转到导出日志。下面是用于导出审核日志的一些应用:

  • 要延长审核日志的保留时间,或者使用更加强大的搜索功能,您可以将审核日志的副本导出到 Google Cloud Storage、BigQuery 或者 Google Cloud Pub/Sub。使用 Cloud Pub/Sub,您可以将内容导出到其他应用、其他代码库和第三方。

  • 要管理您在整个组织中的审核日志,可创建聚合导出接收器,以便从组织中的任何或所有项目导出日志。

  • 如果启用的数据访问审核日志会导致项目超出其日志配额,您可以通过 Logging 导出数据访问审核日志并将其排除。如需了解详情,请转到排除日志

价格

Stackdriver Logging 不会针对在任何情况下都会生成、无法停用的审核日志(包括所有管理员活动审核日志)向您收费。

Stackdriver Logging 会针对您明确请求的数据访问审核日志收费。

如需详细了解审核日志价格,请查看 Stackdriver 价格