Observabilidade da verificação de número de telefone do Firebase

O Firebase PNV se integra ao Cloud Monitoring e ao Cloud Logging.

Google Cloud Monitoring

Firebase PNV exporta uma única métrica, fpnv.googleapis.com/verification_count, com os rótulos method, outcome e sms_region:

Tipo de métrica Etapa do lançamento (níveis da hierarquia de recursos)
Nome de exibição
Classe, Tipo, Unidade
Recursos monitorados
Descrição
Rótulos
fpnv.googleapis.com/verification_count BETA(projeto)
Métricas do Firebase Phone Number Verification
DELTAINT641
fpnv.googleapis.com/App
Número de tentativas de verificação do número de telefone.
method: Método de verificação usado. Sempre API.
outcome: O resultado da tentativa de verificação (SUCCESS, FAILURE, QUOTA_EXCEEDED, BACKEND_ERROR).
sms_region: A região de origem da solicitação.

Google Cloud Logging

É possível usar o Cloud Logging para mais informações sobre uma solicitação específica de verificação de número de telefone. Cada tentativa de verificação de número de telefone emite uma entrada de registro estruturada:

ID do registro: fpnv.googleapis.com/verifications

{
  "resource": {
    "type": "fpnv.googleapis.com/App",
    "labels": [
      "resource_container": /* Your Firebase / Google Cloud project ID: "project/your-project-id" */,
      "app_id": /* The ID of a Firebase app within your project  */
    ]
  },
  "severity": /* DEBUG (for successful verification) or WARNING (for failed verification) */,
  "jsonPayload": {
    "method": /* The method used for the verification attempt: METHOD_UNSPECIFIED, API */,
    "outcome": /* The final outcome of the verification attempt: OUTCOME_UNSPECIFIED, SUCCESS, FAILURE, QUOTA_EXCEEDED, BACKEND_ERROR, DEVICE_INTEGRITY_FAILURE */,
    "nonce": /* Unique ID for the verification attempt, provided to the SDK by the client if using API verification. */,
    "response_code": /* The HTTP response code returned to the client, if the interaction was over HTTP. */,
    "sms_region_code": /* The region from which the request originated. */,
    "error_code": /* A specific error code from the underlying verification service or provider, if available. */,
    "error_message": /* A message describing why the verification failed, if applicable. */
  }
}

Por exemplo, para encontrar todos os registros de tentativas de verificação baseadas em API que foram originadas de um app específico e falharam por qualquer motivo:

log_id("fpnv.googleapis.com/verifications") AND
resource.type="fpnv.googleapis.com/App" AND
resource.labels.app_id="Your Firebase app ID" AND
severity>=WARNING AND
jsonPayload.method:"API"