콘솔로 이동

Firebase Console에서 메시지 보내기

Firebase Console에서 알림 작성기를 사용하여 iOS 및 Android 기기로 알림 메시지를 보낼 수 있습니다. 이 방법은 Admin SDK 또는 HTTP 및 XMPP 프로토콜을 사용하여 메시지를 보내는 방법보다 유연성이나 확장성은 떨어지지만 테스트 목적이나 더 정확하게 타겟팅된 마케팅 및 사용자 참여 유도에 매우 유용할 수 있습니다. Firebase Console은 애널리틱스 기반의 A/B 테스트를 제공하여 마케팅 메시지를 수정하고 개선하는 데 도움이 됩니다.

앱에 메시지 수신 로직을 작성해 두면 기술을 잘 모르는 사용자도 Firebase 고객센터 알림 페이지의 안내에 따라 메시지를 보낼 수 있습니다.

알림 작성기의 FCM 메시지 필드 정보

알림 작성기에서 알림 메시지를 보낼 때 Google은 작성기에 입력한 필드를 두 가지 방식으로 사용합니다.

  1. 사용자 세그먼트만료 등의 필드는 메시지 타겟과 전송 옵션을 지정합니다.
  2. 메시지 내용커스텀 데이터 등의 필드는 키-값 쌍으로 구성된 페이로드에 포함되어 클라이언트에 전송됩니다.

이 필드는 FCM 서버 프로토콜을 통해 사용 가능한 키에 매핑됩니다. 예를 들어 커스텀 데이터에 입력한 키-값 쌍은 알림의 데이터 페이로드로 취급됩니다. 다른 필드는 FCM 알림 페이로드의 키에 직접 매핑됩니다.

알림 작성기의 일부 필드는 FCM 서버 프로토콜을 통해 사용할 수 없습니다. 예를 들어 서버 API의 to 필드를 사용할 때는 불가능한 방법으로 앱, 앱 버전, 언어 또는 사용자 속성을 기준으로 사용자 세그먼트를 타겟팅할 수 있습니다.

Firebase Console에서 클라이언트로 전송하는 키는 다음과 같습니다.

콘솔 필드 라벨 설명
notification.title 메시지 제목 알림 제목을 나타냅니다.
notification.body 메시지 내용 알림 본문 텍스트를 나타냅니다.
data 커스텀 데이터 사용자가 정의하는 키-값 쌍입니다. 앱에서 처리할 데이터 페이로드로 전송됩니다.

메시지 전송을 지정하는 키의 예는 다음과 같습니다.

콘솔 필드 라벨 설명
priority 우선순위

메시지의 우선순위를 설정합니다.

자세한 내용은 메시지 우선순위 설정을 참조하세요.

sound 알림음

기기가 알림을 수신하면 재생할 알림음을 나타냅니다.

time_to_live 만료

이 매개변수는 기기가 오프라인 상태인 경우 FCM 저장소에 메시지를 보관해야 하는 시간(초)을 지정합니다. 자세한 내용은 메시지 수명 설정을 참조하세요.

감사 로그

Firebase 서비스는 감사 로그를 작성하여 '누가, 언제, 어디서, 무엇을 했는지'라는 질문에 답하는 데 도움을 줍니다. 즉, Cloud 감사 로그가 Firebase 프로젝트에 연결된 GCP 프로젝트의 일부로 제공됩니다. 각 Firebase 프로젝트에는 해당 프로젝트 바로 안에 있는 리소스에 대한 감사 로그만 들어 있습니다.

Cloud 감사 로그의 일반적인 개요는 Cloud 감사 로그를 참조하세요. Cloud 감사 로그에 대한 자세한 내용은 감사 로그 이해를 참조하세요.

Cloud 감사 로그는 각 GCP 프로젝트의 데이터 액세스 감사 로그를 유지합니다.

Firebase Notifications Console에서는 명시적으로 사용 설정된 경우에만 데이터 액세스 감사 로그를 작성합니다. 데이터 액세스 감사 로그에는 리소스의 구성 또는 메타데이터를 읽는 API 호출뿐만 아니라 사용자가 제공한 리소스 데이터를 생성, 수정 또는 읽는 사용자 주도 API 호출도 포함됩니다. 데이터 액세스 감사 로그에는 공개적으로 공유(모든 사용자 또는 모든 인증 사용자가 사용 가능)되거나 GCP에 로그인하지 않고도 액세스할 수 있는 리소스의 데이터 액세스 작업은 기록되지 않습니다.

감사되는 작업

다음 표에는 Firebase Notifications Console의 각 감사 로그 유형에 해당하는 콘솔 작업과 유형 이름이 요약되어 있습니다. 콘솔 작업에서 유형 이름을 사용하면 특정 로그를 검색할 수 있습니다.

감사 로그 범주 Firebase Notifications Console 작업 유형 이름(UI에서 로그 검색 시 사용)
데이터 액세스 로그(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에는 프로젝트 ID와 감사 로그 유형이 들어 있습니다.
    • resource에는 감사를 실시하는 작업의 대상이 들어 있습니다.
    • timeStamp에는 감사를 실시하는 작업의 시간이 들어 있습니다.
    • protoPayload에는 감사 결과 정보가 들어 있습니다.
  • 로그 항목의 protoPayload 필드에 보관되는 AuditLog 객체인 감사 로깅 데이터

  • AuditLog 객체의 serviceData 필드에 보관되는 서비스별 객체인 선택적 서비스별 감사 정보. 자세한 내용은 서비스별 감사 데이터를 참조하세요.

이러한 객체의 다른 필드와 필드 해석 방법은 감사 로그 이해를 참조하세요.

로그 이름

Cloud 감사 로그 리소스 이름은 감사 로그를 소유하는 프로젝트나 다른 항목을 나타냅니다. 예를 들어 다음은 프로젝트의 데이터 액세스 감사 로그 이름을 보여줍니다.

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

서비스 이름

Firebase Notifications Console 감사 로그는 서비스 이름으로 gcmcontextualcampaign-pa.googleapis.com을 사용합니다.

서비스 로깅에 대한 자세한 내용은 리소스에 서비스 매핑을 참조하세요.

리소스 유형

Firebase Notifications Console 감사 로그는 모든 감사 로그에 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를 사용하면 다른 애플리케이션, 다른 저장소, 제3자에게 내보낼 수 있습니다.

  • 조직 전체의 감사 로그를 관리하려면 조직의 일부 또는 모든 프로젝트에서 로그를 내보낼 수 있는 전체 내보내기 싱크를 만들면 됩니다.

  • 사용 설정한 데이터 액세스 감사 로그가 로그 할당량을 초과하여 프로젝트를 푸시하는 경우 데이터 액세스 감사 로그를 내보내고 Logging에서 제외할 수 있습니다. 자세한 내용은 로그 제외를 참조하세요.

가격 책정

Stackdriver Logging은 모든 관리자 활동 감사 로그를 비롯하여 항상 생성되고 사용 중지할 수 없는 감사 로그에 대해 비용을 부과하지 않습니다.

Stackdriver Logging은 사용자가 명시적으로 요청하는 데이터 액세스 감사 로그에 요금을 부과합니다.

감사 로그 가격에 관한 자세한 내용은 Stackdriver 가격 책정을 참조하세요.