REST Resource: projects.messages

리소스: Message

Firebase 클라우드 메시징 서비스에서 보낼 메시지입니다.

JSON 표현
{
  "name": string,
  "data": {
    string: string,
    ...
  },
  "notification": {
    object (Notification)
  },
  "android": {
    object (AndroidConfig)
  },
  "webpush": {
    object (WebpushConfig)
  },
  "apns": {
    object (ApnsConfig)
  },
  "fcm_options": {
    object (FcmOptions)
  },

  // Union field target can be only one of the following:
  "token": string,
  "topic": string,
  "condition": string
  // End of list of possible types for union field target.
}
필드
name

string

출력 전용. 보낸 메시지의 식별자로, projects/*/messages/{message_id} 형식입니다.

data

map (key: string, value: string)

입력 전용입니다. 임의의 키/값 페이로드로, UTF-8로 인코딩되어야 합니다. 키는 예약어 ('google.' 또는 'gcm.notification'으로 시작하는 모든 단어 또는 'from', 'message_type')여서는 안 됩니다. 데이터 필드만 포함된 페이로드를 iOS 기기로 전송할 때는 ApnsConfig에서 보통 우선순위 ("apns-priority": "5")만 허용됩니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

notification

object (Notification)

입력 전용입니다. 모든 플랫폼에서 사용할 기본 알림 템플릿입니다.

android

object (AndroidConfig)

입력 전용입니다. FCM 연결 서버를 통해 전송되는 메시지에 대한 Android 전용 옵션입니다.

webpush

object (WebpushConfig)

입력 전용입니다. Webpush 프로토콜 옵션

apns

object (ApnsConfig)

입력 전용입니다. Apple 푸시 알림 서비스 관련 옵션

fcm_options

object (FcmOptions)

입력 전용입니다. 모든 플랫폼에서 사용할 FCM SDK 기능 옵션 템플릿입니다.

통합 필드 target. 필수 항목입니다. 입력 전용입니다. 메시지를 전송할 대상입니다. target는 다음 중 하나여야 합니다.
token

string

메시지를 전송할 등록 토큰입니다.

topic

string

메시지를 보낼 주제 이름입니다(예: '날씨'). 참고: '/topics/' 접두사는 입력하지 않아야 합니다.

condition

string

메시지를 보낼 조건입니다(예: ''foo' in topics && 'bar' in topics').

알림

모든 플랫폼에서 사용할 기본 알림 템플릿입니다.

JSON 표현
{
  "title": string,
  "body": string,
  "image": string
}
필드
title

string

알림의 제목입니다.

body

string

알림의 본문입니다.

image

string

기기에 다운로드되어 알림에 표시될 이미지의 URL이 포함됩니다. JPEG, PNG, BMP는 여러 플랫폼에서 완벽하게 지원됩니다. 애니메이션 GIF 및 동영상은 iOS에서만 작동합니다. WebP와 HEIF는 플랫폼과 플랫폼 버전에 따라 다양한 수준의 지원을 제공합니다. Android의 이미지 크기 제한은 1MB입니다. Firebase 스토리지에서 이미지를 호스팅하기 위한 할당량 사용량 및 영향/비용: https://firebase.google.com/pricing

AndroidConfig

FCM 연결 서버를 통해 전송되는 메시지에 대한 Android 전용 옵션입니다.

JSON 표현
{
  "collapse_key": string,
  "priority": enum (AndroidMessagePriority),
  "ttl": string,
  "restricted_package_name": string,
  "data": {
    string: string,
    ...
  },
  "notification": {
    object (AndroidNotification)
  },
  "fcm_options": {
    object (AndroidFcmOptions)
  },
  "direct_boot_ok": boolean
}
필드
collapse_key

string

축소할 수 있는 메일 그룹의 식별자입니다. 따라서 전송을 재개할 수 있을 때 마지막 메시지만 전송됩니다. 축소 키는 지정된 시간에 최대 4개까지 허용됩니다.

priority

enum (AndroidMessagePriority)

메시지 우선순위입니다. '정상' 및 '높음' 값을 취할 수 있습니다. 자세한 내용은 메시지 우선순위 설정하기를 참고하세요.

ttl

string (Duration format)

기기가 오프라인 상태인 경우 FCM 저장소에 메시지를 보관해야 하는 시간 (초)입니다. 지원되는 최대 TTL(수명)은 4주이며, 설정하지 않을 경우 기본값은 4주입니다. 메시지를 즉시 보내려면 0으로 설정합니다. JSON 형식에서 Duration 유형은 객체가 아닌 문자열로 인코딩됩니다. 여기서 문자열은 접미사 's'(초를 나타냄)로 끝나고 앞에 초 수가 나오며(소수 초로 표현됨) 나노초를 사용합니다. 예를 들어 0나노초의 3초는 JSON 형식으로 '3s'로 인코딩해야 하며 3초와 1나노초는 JSON 형식으로 '3.000000001s'로 표현해야 합니다. ttl은 초 단위로 내림됩니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

restricted_package_name

string

등록 토큰이 일치해야 메시지를 수신할 수 있는 애플리케이션의 패키지 이름입니다.

data

map (key: string, value: string)

임의의 키/값 페이로드. 있는 경우 google.firebase.fcm.v1.Message.data를 재정의합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

notification

object (AndroidNotification)

Android 기기에 보낼 알림입니다.

fcm_options

object (AndroidFcmOptions)

Android용 FCM SDK에서 제공하는 기능의 옵션입니다.

direct_boot_ok

boolean

true로 설정하면 기기가 직접 부팅 모드일 때 앱에 메시지가 전송될 수 있습니다. 직접 부팅 지원 모드를 참조하세요.

Android 메시지 우선순위

Android 기기로 전송할 메시지의 우선순위입니다. 이 우선순위는 메시지 전송 시기를 제어하는 FCM 개념입니다. FCM 가이드를 참조하세요. 또한 AndroidNotification.NotificationPriority를 사용하여 타겟팅된 Android 기기에서 알림 표시 우선순위를 결정할 수 있습니다.

열거형
NORMAL 데이터 메시지의 기본 우선순위입니다. 보통 우선순위 메시지는 절전 모드인 기기에서 네트워크 연결을 열지 않으며 배터리를 절약하기 위해 전송이 지연될 수 있습니다. 새 이메일 알림이나 기타 데이터 동기화와 같이 시간이 크게 중요하지 않은 메일의 경우 보통 전송 우선순위를 선택합니다.
HIGH 알림 메시지의 기본 우선순위입니다. FCM은 우선순위가 높은 메시지를 즉시 전송하려고 시도하며, 가능한 경우 FCM 서비스에서 기기의 절전 모드를 해제하고 앱 서버에 대한 네트워크 연결을 열 수 있습니다. 예를 들어 채팅, 채팅 또는 음성 통화 알림이 포함된 앱은 일반적으로 네트워크 연결을 열고 FCM에서 지연 없이 기기로 메시지를 전송하는지 확인해야 합니다. 시간이 중요한 메시지이며 사용자의 즉각적인 상호작용이 필요한 메시지인 경우 높은 우선순위를 설정하되, 메시지를 높은 우선순위로 설정하면 일반적인 우선순위 메시지에 비해 배터리가 더 많이 소모된다는 점에 유의하세요.

AndroidNotification

Android 기기에 보낼 알림입니다.

JSON 표현
{
  "title": string,
  "body": string,
  "icon": string,
  "color": string,
  "sound": string,
  "tag": string,
  "click_action": string,
  "body_loc_key": string,
  "body_loc_args": [
    string
  ],
  "title_loc_key": string,
  "title_loc_args": [
    string
  ],
  "channel_id": string,
  "ticker": string,
  "sticky": boolean,
  "event_time": string,
  "local_only": boolean,
  "notification_priority": enum (NotificationPriority),
  "default_sound": boolean,
  "default_vibrate_timings": boolean,
  "default_light_settings": boolean,
  "vibrate_timings": [
    string
  ],
  "visibility": enum (Visibility),
  "notification_count": integer,
  "light_settings": {
    object (LightSettings)
  },
  "image": string,
  "bypass_proxy_notification": boolean,
  "proxy": enum (Proxy)
}
필드
title

string

알림의 제목입니다. 있는 경우 google.firebase.fcm.v1.Notification.title를 재정의합니다.

body

string

알림의 본문입니다. 있는 경우 google.firebase.fcm.v1.Notification.body를 재정의합니다.

icon

string

알림 아이콘입니다. 드로어블 리소스 myicon에 대한 알림 아이콘을 myicon으로 설정합니다. 요청에서 이 키를 전송하지 않으면 FCM은 앱 매니페스트에 지정된 런처 아이콘을 표시합니다.

color

string

#rrggbb 형식으로 표현된 알림 아이콘 색상입니다.

sound

string

기기가 알림을 수신하면 재생하는 알림음입니다. 'default' 또는 앱에 번들로 포함된 사운드 리소스의 파일 이름을 지원합니다. 사운드 파일은 /res/raw/에 있어야 합니다.

tag

string

알림 창에서 기존 알림을 대체하는 데 사용되는 식별자입니다. 지정하지 않으면 각 요청이 새 알림을 만듭니다. 지정하면 태그가 동일한 알림이 이미 표시되고 있는 경우 새 알림이 알림 창의 기존 알림을 대체합니다.

click_action

string

사용자의 알림 클릭과 관련된 작업입니다. 지정하면 사용자가 알림을 클릭할 때 일치하는 인텐트 필터가 있는 활동이 실행됩니다.

body_loc_key

string

앱의 문자열 리소스에서 본문 텍스트를 사용자의 현재 지역으로 현지화하는 데 사용할 본문 문자열의 키입니다. 자세한 내용은 문자열 리소스를 참고하세요.

body_loc_args[]

string

본문 텍스트를 사용자의 현재 지역으로 현지화하는 데 사용할 body_loc_key의 형식 지정자 대신 사용될 변수 문자열 값입니다. 자세한 내용은 서식 지정 및 스타일 지정을 참고하세요.

title_loc_key

string

앱의 문자열 리소스에서 제목 텍스트를 사용자의 현재 지역으로 현지화하는 데 사용할 제목 문자열의 키입니다. 자세한 내용은 문자열 리소스를 참고하세요.

title_loc_args[]

string

제목 텍스트를 사용자의 현재 지역으로 현지화하는 데 사용할 title_loc_key의 형식 지정자 대신 사용될 변수 문자열 값입니다. 자세한 내용은 서식 지정 및 스타일 지정을 참고하세요.

channel_id

string

Android O에서 새로 추가된 알림의 채널 ID입니다. 이 채널 ID가 있는 알림을 받으려면 앱에서 이 채널 ID로 채널을 만들어야 합니다. 요청에서 이 채널 ID를 보내지 않거나 제공된 채널 ID를 앱에서 아직 만들지 않은 경우 FCM은 앱 매니페스트에 지정된 채널 ID를 사용합니다.

ticker

string

접근성 서비스로 전송될 '티커' 텍스트를 설정합니다. API 수준 21 (Lollipop) 이전에는 알림이 처음 도착할 때 상태 표시줄에 표시되는 텍스트를 설정합니다.

sticky

boolean

false로 설정하거나 설정하지 않으면 사용자가 패널에서 알림을 클릭할 때 알림이 자동으로 닫힙니다. true로 설정하면 사용자가 알림을 클릭해도 알림이 유지됩니다.

event_time

string (Timestamp format)

알림에서 이벤트가 발생한 시간을 설정합니다. 패널의 알림이 이 시간순으로 정렬됩니다. 특정 시점은 protobuf.Timestamp를 사용하여 표시됩니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

local_only

boolean

이 알림이 현재 기기에만 관련이 있는지 여부를 설정합니다. 일부 알림은 원격 디스플레이를 위해 Wear OS 시계와 같은 다른 기기에 브리징될 수 있습니다. 이 힌트는 이 알림을 브리징하지 않도록 권장하도록 설정할 수 있습니다. Wear OS 가이드를 참고하세요.

notification_priority

enum (NotificationPriority)

이 알림에 상대적인 우선순위를 설정합니다. 우선순위는 알림이 얼마나 주의를 기울여야 하는지를 나타냅니다. 특정 상황에서 우선순위가 낮은 알림은 사용자에게 표시되지 않을 수 있지만, 사용자는 더 높은 우선순위의 알림을 받으면 중단될 수 있습니다. 동일한 우선순위를 설정했을 때 미치는 영향은 플랫폼에 따라 약간 다를 수 있습니다. 이 우선순위는 AndroidMessagePriority와 다릅니다. 이 우선순위는 메시지가 전송된 후에 클라이언트에서 처리하는 반면 AndroidMessagePriority는 메시지 전송 시기를 제어하는 FCM 개념입니다.

default_sound

boolean

true로 설정하면 알림에 Android 프레임워크의 기본 사운드를 사용합니다. 기본값은 config.xml에 지정됩니다.

default_vibrate_timings

boolean

true로 설정하면 알림에 Android 프레임워크의 기본 진동 패턴을 사용합니다. 기본값은 config.xml에 지정됩니다. default_vibrate_timings가 true로 설정되고 vibrate_timings도 설정되면 사용자가 지정한 vibrate_timings 대신 기본값이 사용됩니다.

default_light_settings

boolean

true로 설정하면 알림에 Android 프레임워크의 기본 LED 조명 설정을 사용합니다. 기본값은 config.xml에 지정됩니다. default_light_settings가 true로 설정되고 light_settings도 설정되면 기본값 대신 사용자가 지정한 light_settings가 사용됩니다.

vibrate_timings[]

string (Duration format)

사용할 진동 패턴을 설정합니다. protobuf.Duration 배열을 전달하여 진동기를 켜거나 끕니다. 첫 번째 값은 진동을 켜기 전에 기다려야 하는 Duration를 나타냅니다. 다음 값은 진동을 켜진 상태로 유지할 Duration를 나타냅니다. 후속 값은 Duration를 번갈아 가면서 진동을 끄고 진동을 켭니다. vibrate_timings가 설정되고 default_vibrate_timingstrue로 설정되면 사용자가 지정한 vibrate_timings 대신 기본값이 사용됩니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

visibility

enum (Visibility)

알림의 Notification.Visibility를 설정합니다.

notification_count

integer

이 알림이 나타내는 항목의 수를 설정합니다. 배지 설정을 지원하는 런처에 대해 배지 수로 표시될 수 있습니다.알림 배지를 참고하세요. 예를 들어 하나의 알림만 사용하여 여러 개의 새 메시지를 나타내지만 여기에 표시되는 개수가 새 메시지의 총 개수를 나타내려는 경우 유용할 수 있습니다. 0이거나 지정되지 않은 경우 배지 설정을 지원하는 시스템은 기본값을 사용합니다. 즉, 새 알림이 도착할 때마다 길게 누르기 메뉴에 표시되는 숫자가 증가합니다.

light_settings

object (LightSettings)

기기에서 LED를 사용할 수 있는 경우 알림의 LED 깜박임 속도와 색상을 제어하는 설정입니다. 총 깜박임 시간은 OS에서 제어합니다.

image

string

알림에 표시될 이미지의 URL을 포함합니다. 있는 경우 google.firebase.fcm.v1.Notification.image를 재정의합니다.

bypass_proxy_notification
(deprecated)

boolean

이 옵션을 설정하면 기기로 전송된 디스플레이 알림이 프록시가 아닌 앱에서 처리됩니다.

proxy

enum (Proxy)

알림을 프록시 처리할 수 있는 경우를 제어하기 위한 설정입니다.

알림 우선순위

알림의 우선순위 수준입니다.

열거형
PRIORITY_UNSPECIFIED 우선순위가 지정되지 않으면 알림 우선순위는 PRIORITY_DEFAULT로 설정됩니다.
PRIORITY_MIN 알림 우선순위가 가장 낮습니다. 이 PRIORITY_MIN가 있는 알림은 자세한 알림 로그와 같은 특수한 상황을 제외하고는 사용자에게 표시되지 않을 수 있습니다.
PRIORITY_LOW 알림 우선순위가 낮습니다. UI는 PRIORITY_DEFAULT를 사용하는 알림에 비해 알림을 더 작게 또는 목록에서 다른 위치에 표시하도록 선택할 수 있습니다.
PRIORITY_DEFAULT 기본 알림 우선순위입니다. 애플리케이션이 자체 알림에 우선순위를 두지 않는 경우 모든 알림에 이 값을 사용합니다.
PRIORITY_HIGH 높은 알림 우선순위 더 중요한 알림에 사용하세요. UI는 PRIORITY_DEFAULT를 사용하는 알림에 비해 이러한 알림을 알림 목록에서 더 크게 또는 다른 위치에 표시하도록 선택할 수 있습니다.
PRIORITY_MAX 알림 우선순위가 가장 높습니다. 사용자의 즉각적인 주의 또는 입력이 필요한 애플리케이션의 가장 중요한 항목에 이 속성을 사용합니다.

시각장애인용 보조기기

알림의 다양한 공개 상태 수준

열거형
VISIBILITY_UNSPECIFIED 지정하지 않으면 기본값은 Visibility.PRIVATE입니다.
PRIVATE 모든 잠금 화면에 이 알림을 표시하되 보안 잠금 화면에서는 민감한 정보나 개인 정보를 숨깁니다.
PUBLIC 모든 잠금 화면에 이 알림 전체를 표시합니다.
SECRET 보안 잠금 화면에 알림의 어떤 부분도 공개하지 마세요.

조명 설정

알림 LED를 제어하는 설정입니다.

JSON 표현
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
필드
color

object (Color)

필수 항목입니다. LED의 colorgoogle.type.Color로 설정합니다.

light_on_duration

string (Duration format)

필수 항목입니다. light_off_duration와 함께 LED 플래시의 깜박임 속도를 정의합니다. proto.Duration에 의해 정의된 해상도

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

light_off_duration

string (Duration format)

필수 항목입니다. light_on_duration와 함께 LED 플래시의 깜박임 속도를 정의합니다. proto.Duration에 의해 정의된 해상도

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

색상

RGBA 색상 공간의 색상을 나타냅니다. 이 표현은 간결성을 통해 다양한 언어에서 색상 표현과 색상 표현 간에 간단히 변환할 수 있도록 설계되었습니다. 예를 들어 이 표현의 필드는 Java에서 java.awt.Color의 생성자에 쉽게 제공할 수 있고 iOS에서 UIColor의 +colorWithRed:green:blue:alpha 메서드에 제공될 수도 있습니다. 약간의 작업만으로 JavaScript의 CSS rgba() 문자열로 쉽게 형식을 지정할 수 있습니다.

이 참조 페이지에는 RGB 값(예: sRGB, Adobe RGB, DCI-P3, BT.2020)을 해석하는 데 사용해야 하는 절대 색공간에 대한 정보가 없습니다. 기본적으로 애플리케이션은 sRGB 색공간을 가정해야 합니다.

색상 동등성을 결정해야 하는 경우 달리 문서화되지 않는 한 구현에서는 모든 빨간색, 녹색, 파란색, 알파 값이 각각 최대 1e-5만큼 차이가 나는 경우 두 색상을 동일한 것으로 취급합니다.

예시(자바):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

예시(iOS / obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

예시(자바스크립트):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
JSON 표현
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
필드
red

number

[0, 1] 간격의 값으로 표시되는 색상의 빨간색 양입니다.

green

number

[0, 1] 간격의 값으로 표시되는 색상의 녹색 양입니다.

blue

number

[0, 1] 간격의 값으로 표시되는 색상의 파란색 양입니다.

alpha

number

픽셀에 적용해야 하는 이 색상의 비율입니다. 즉, 최종 픽셀 색상은 등식으로 정의됩니다.

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

즉, 1.0 값은 단색에 해당하는 반면 0.0 값은 완전히 투명한 색상에 해당합니다. 이 옵션은 단순한 부동 소수점 스칼라 대신 래퍼 메시지를 사용하므로 기본값과 설정되지 않은 값을 구분할 수 있습니다. 생략하면 이 색상 객체가 단색으로 렌더링됩니다 (알파 값에 1.0 값이 명시적으로 지정된 것처럼).

프록시

알림을 프록시 처리할 수 있는 경우를 제어하기 위한 설정입니다.

열거형
PROXY_UNSPECIFIED 지정하지 않으면 기본값은 Proxy.IF_PRIORITY_LOWERED입니다.
ALLOW 이 알림을 프록시로 설정해 보세요.
DENY 이 알림을 프록시 처리하지 않습니다.
IF_PRIORITY_LOWERED 기기에서 AndroidMessagePriorityHIGH에서 NORMAL로 낮아진 경우에만 이 알림을 프록시해 보세요.

AndroidFcmOptions

Android용 FCM SDK에서 제공하는 기능의 옵션입니다.

JSON 표현
{
  "analytics_label": string
}
필드
analytics_label

string

메시지의 분석 데이터와 연결된 라벨입니다.

WebpushConfig

Webpush 프로토콜 옵션

JSON 표현
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
필드
headers

map (key: string, value: string)

웹 푸시 프로토콜에 정의된 HTTP 헤더입니다. 지원되는 헤더(예: 'TTL': '15')는 웹푸시 프로토콜을 참고하세요.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

data

map (key: string, value: string)

임의의 키/값 페이로드. 있는 경우 google.firebase.fcm.v1.Message.data를 재정의합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

notification

object (Struct format)

JSON 객체로 표현된 웹 알림 옵션입니다. Web Notification API에 정의된 알림 인스턴스 속성을 지원합니다. 'title' 및 'body' 필드가 있는 경우 google.firebase.fcm.v1.Notification.titlegoogle.firebase.fcm.v1.Notification.body보다 우선 적용됩니다.

fcm_options

object (WebpushFcmOptions)

웹용 FCM SDK에서 제공하는 기능의 옵션입니다.

WebpushFcmOptions

웹용 FCM SDK에서 제공하는 기능의 옵션입니다.

JSON 표현
{
  "link": string,
  "analytics_label": string
}
필드
analytics_label

string

메시지의 분석 데이터와 연결된 라벨입니다.

ApnsConfig

Apple 푸시 알림 서비스 관련 옵션

JSON 표현
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
필드
headers

map (key: string, value: string)

Apple 푸시 알림 서비스에 정의된 HTTP 요청 헤더입니다. apns-expirationapns-priority 등 지원되는 헤더는 APN 요청 헤더를 참고하세요.

명시적으로 설정하지 않으면 백엔드는 apns-expiration에 30일의 기본값을 설정하고 apns-priority의 기본값은 10으로 설정합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

payload

object (Struct format)

JSON 객체인 APN 페이로드(aps 사전 및 커스텀 페이로드 모두 포함) 페이로드 키 참조를 확인하세요. 있는 경우 google.firebase.fcm.v1.Notification.titlegoogle.firebase.fcm.v1.Notification.body를 재정의합니다.

fcm_options

object (ApnsFcmOptions)

iOS용 FCM SDK에서 제공하는 기능의 옵션입니다.

APNs FcmOptions

iOS용 FCM SDK에서 제공하는 기능의 옵션입니다.

JSON 표현
{
  "analytics_label": string,
  "image": string
}
필드
analytics_label

string

메시지의 분석 데이터와 연결된 라벨입니다.

image

string

알림에 표시될 이미지의 URL을 포함합니다. 있는 경우 google.firebase.fcm.v1.Notification.image를 재정의합니다.

FcmOptions 클래스의 정적 변수

FCM SDK에서 제공하는 기능에 대한 플랫폼 독립 옵션입니다.

JSON 표현
{
  "analytics_label": string
}
필드
analytics_label

string

메시지의 분석 데이터와 연결된 라벨입니다.

방법

send

지정된 타겟 (등록 토큰, 주제 또는 조건)에 메시지를 전송합니다.