REST Resource: projects.messages

자원: 메시지

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로 인코딩되어야 하는 임의의 키/값 페이로드입니다. 키는 예약어('from', 'message_type' 또는 'google' 또는 'gcm'으로 시작하는 단어)가 아니어야 합니다. 데이터 필드만 포함된 페이로드를 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 )

입력만 가능합니다. 웹푸시 프로토콜 옵션.

apns

object ( ApnsConfig )

입력만 가능합니다. Apple 푸시 알림 서비스 관련 옵션.

fcm_options

object ( FcmOptions )

입력만 가능합니다. 모든 플랫폼에서 사용할 수 있는 FCM SDK 기능 옵션용 템플릿입니다.

유니언 필드 target . 필수의. 입력만 가능합니다. 메시지를 보낼 대상입니다. target 다음 중 하나만 될 수 있습니다.
token

string

메시지를 보낼 등록 토큰입니다.

topic

string

메시지를 보낼 주제 이름(예: "날씨") 참고: "/topics/" 접두사는 제공하면 안 됩니다.

condition

string

메시지를 보내기 위한 조건, 예: "주제의 'foo' && 주제의 'bar'".

공고

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

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

Android구성

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(Time to Live)은 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로 설정하면 기기가 직접 부팅 모드에 있는 동안 메시지가 앱에 전달되도록 허용됩니다. 직접 부팅 모드 지원을 참조하세요.

AndroidMessagePriority

Android 기기에 보낼 메시지의 우선순위입니다. 이 우선순위는 메시지가 전달되는 시기를 제어하는 ​​FCM 개념입니다. FCM 가이드를 참조하세요. 또한 AndroidNotification.NotificationPriority를 ​​사용하여 대상 Android 기기에서 알림 표시 우선순위를 결정할 수 있습니다.

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

Android알림

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,
}
필드
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

장치가 알림을 수신할 때 재생할 소리입니다. "기본값" 또는 앱에 번들로 포함된 사운드 리소스의 파일 이름을 지원합니다. 사운드 파일은 /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

알림의 채널 ID (Android O의 새로운 기능)입니다. 앱은 이 채널 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_timings true 로 설정된 경우 사용자가 지정한 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 를 재정의합니다.

알림 우선순위

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

열거형
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 )

필수의. google.type.Color 를 사용하여 LED 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 값이 지정된 것처럼).

AndroidFcm옵션

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

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

string

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

웹 푸시 구성

웹푸시 프로토콜 옵션.

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

map (key: string, value: string)

webpush 프로토콜에 정의된 HTTP 헤더입니다. 지원되는 헤더는 Webpush 프로토콜을 참조하세요(예: "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 개체로서의 웹 알림 옵션. 웹 알림 API 에 정의된 대로 알림 인스턴스 속성을 지원합니다. 있는 경우 '제목' 및 '본문' 필드가 google.firebase.fcm.v1.Notification.titlegoogle.firebase.fcm.v1.Notification.body 재정의합니다.

fcm_options

object ( WebpushFcmOptions )

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

WebpushFcm옵션

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

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

string

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

Apns구성

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)

APNs 페이로드는 aps 사전과 사용자 정의 페이로드를 모두 포함하는 JSON 객체입니다. 페이로드 키 참조 를 참조하세요. 있는 경우 google.firebase.fcm.v1.Notification.titlegoogle.firebase.fcm.v1.Notification.body 재정의합니다.

fcm_options

object ( ApnsFcmOptions )

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

ApnsFcm옵션

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

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

string

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

image

string

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

Fcm옵션

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

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

string

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

행동 양식

send

지정된 대상(등록 토큰, 주제 또는 조건)에 메시지를 보냅니다.