REST Resource: projects.messages

Tài nguyên: Tin nhắn

Tin nhắn được gửi bởi Dịch vụ nhắn tin qua đám mây của Firebase.

Biểu diễn 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.
}
Lĩnh vực
name

string

Chỉ đầu ra. Mã định danh của tin nhắn được gửi, ở định dạng projects/*/messages/{message_id} .

data

map (key: string, value: string)

Chỉ đầu vào. Tải trọng khóa/giá trị tùy ý, phải được mã hóa UTF-8. Khóa không được là từ dành riêng ("từ", "message_type" hoặc bất kỳ từ nào bắt đầu bằng "google" hoặc "gcm"). Khi gửi tải trọng chỉ chứa các trường dữ liệu tới thiết bị iOS, chỉ cho phép mức độ ưu tiên thông thường ( "apns-priority": "5" ) trong ApnsConfig .

Một đối tượng chứa danh sách các cặp "key": value . Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Notification )

Chỉ đầu vào. Mẫu thông báo cơ bản để sử dụng trên tất cả các nền tảng.

android

object ( AndroidConfig )

Chỉ đầu vào. Tùy chọn dành riêng cho Android cho tin nhắn được gửi qua máy chủ kết nối FCM .

webpush

object ( WebpushConfig )

Chỉ đầu vào. Tùy chọn giao thức Webpush .

apns

object ( ApnsConfig )

Chỉ đầu vào. Các tùy chọn cụ thể của Dịch vụ thông báo đẩy của Apple .

fcm_options

object ( FcmOptions )

Chỉ đầu vào. Mẫu cho các tùy chọn tính năng FCM SDK để sử dụng trên tất cả các nền tảng.

Liên minh lĩnh vực target . Yêu cầu. Chỉ đầu vào. Mục tiêu để gửi tin nhắn đến. target chỉ có thể là một trong những điều sau đây:
token

string

Mã thông báo đăng ký để gửi tin nhắn đến.

topic

string

Tên chủ đề để gửi tin nhắn tới, ví dụ: "thời tiết". Lưu ý: không nên cung cấp tiền tố "/topics/".

condition

string

Điều kiện để gửi tin nhắn tới, ví dụ: "'foo' trong chủ đề && 'bar' trong chủ đề".

Thông báo

Mẫu thông báo cơ bản để sử dụng trên tất cả các nền tảng.

Biểu diễn JSON
{
  "title": string,
  "body": string,
  "image": string
}
Lĩnh vực
title

string

Tiêu đề của thông báo.

body

string

Nội dung của thông báo.

image

string

Chứa URL của hình ảnh sẽ được tải xuống thiết bị và hiển thị trong thông báo. JPEG, PNG, BMP được hỗ trợ đầy đủ trên nhiều nền tảng. GIF động và video chỉ hoạt động trên iOS. WebP và HEIF có các mức hỗ trợ khác nhau trên các nền tảng và phiên bản nền tảng. Android có giới hạn kích thước hình ảnh 1MB. Mức sử dụng hạn ngạch và ý nghĩa/chi phí để lưu trữ hình ảnh trên Bộ lưu trữ Firebase: https://firebase.google.com/pricing

Cấu hình Android

Tùy chọn dành riêng cho Android cho tin nhắn được gửi qua máy chủ kết nối FCM .

Biểu diễn 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
}
Lĩnh vực
collapse_key

string

Mã định danh của một nhóm tin nhắn có thể được thu gọn để chỉ tin nhắn cuối cùng được gửi khi việc gửi có thể được tiếp tục. Cho phép tối đa 4 phím thu gọn khác nhau tại bất kỳ thời điểm nào.

priority

enum ( AndroidMessagePriority )

Ưu tiên tin nhắn. Có thể nhận giá trị "bình thường" và "cao". Để biết thêm thông tin, hãy xem Đặt mức độ ưu tiên của tin nhắn .

ttl

string ( Duration format)

Tin nhắn sẽ được lưu giữ trong bao lâu (tính bằng giây) trong bộ lưu trữ FCM nếu thiết bị ngoại tuyến. Thời gian tối đa để được hỗ trợ trực tiếp là 4 tuần và giá trị mặc định là 4 tuần nếu không được đặt. Đặt thành 0 nếu muốn gửi tin nhắn ngay lập tức. Ở định dạng JSON, loại Thời lượng được mã hóa dưới dạng một chuỗi chứ không phải một đối tượng, trong đó chuỗi kết thúc bằng hậu tố "s" (biểu thị số giây) và đứng trước số giây, với nano giây được biểu thị dưới dạng phân số giây. Ví dụ: 3 giây có 0 nano giây phải được mã hóa ở định dạng JSON là "3 giây", trong khi 3 giây và 1 nano giây phải được biểu thị ở định dạng JSON là "3,000000001 giây". Ttl sẽ được làm tròn xuống giây gần nhất.

Khoảng thời gian tính bằng giây với tối đa chín chữ số phân số, kết thúc bằng ' s '. Ví dụ: "3.5s" .

restricted_package_name

string

Tên gói của ứng dụng mà mã thông báo đăng ký phải khớp để nhận được tin nhắn.

data

map (key: string, value: string)

Tải trọng khóa/giá trị tùy ý. Nếu có, nó sẽ ghi đè lên google.firebase.fcm.v1.Message.data .

Một đối tượng chứa danh sách các cặp "key": value . Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( AndroidNotification )

Thông báo gửi tới thiết bị Android.

fcm_options

object ( AndroidFcmOptions )

Tùy chọn cho các tính năng do FCM SDK dành cho Android cung cấp.

direct_boot_ok

boolean

Nếu được đặt thành true, tin nhắn sẽ được phép gửi tới ứng dụng khi thiết bị đang ở chế độ khởi động trực tiếp. Xem Hỗ trợ chế độ Khởi động Trực tiếp .

Ưu tiên tin nhắn Android

Mức độ ưu tiên của tin nhắn gửi tới thiết bị Android. Lưu ý mức độ ưu tiên này là khái niệm FCM kiểm soát thời điểm gửi tin nhắn. Xem hướng dẫn FCM . Ngoài ra, bạn có thể xác định mức độ ưu tiên hiển thị thông báo trên các thiết bị Android được nhắm mục tiêu bằng cách sử dụng AndroidNotification.NotificationPriority .

Enum
NORMAL Ưu tiên mặc định cho tin nhắn dữ liệu. Các tin nhắn có mức độ ưu tiên thông thường sẽ không mở kết nối mạng trên thiết bị đang ngủ và việc gửi chúng có thể bị trì hoãn để tiết kiệm pin. Đối với các thư ít nhạy cảm về thời gian hơn, chẳng hạn như thông báo về email mới hoặc dữ liệu khác cần đồng bộ hóa, hãy chọn mức độ ưu tiên gửi bình thường.
HIGH Ưu tiên mặc định cho tin nhắn thông báo. FCM cố gắng gửi tin nhắn có mức độ ưu tiên cao ngay lập tức, cho phép dịch vụ FCM đánh thức thiết bị đang ngủ khi có thể và mở kết nối mạng tới máy chủ ứng dụng của bạn. Ví dụ: các ứng dụng có tin nhắn tức thời, trò chuyện hoặc cảnh báo cuộc gọi thoại thường cần mở kết nối mạng và đảm bảo FCM gửi tin nhắn đến thiết bị không chậm trễ. Đặt mức độ ưu tiên cao nếu tin nhắn quan trọng về thời gian và yêu cầu người dùng tương tác ngay lập tức, nhưng hãy lưu ý rằng việc đặt tin nhắn của bạn ở mức độ ưu tiên cao sẽ góp phần gây hao pin nhiều hơn so với các tin nhắn có mức độ ưu tiên thông thường.

Thông báo Android

Thông báo gửi tới thiết bị Android.

Biểu diễn 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,
}
Lĩnh vực
title

string

Tiêu đề của thông báo. Nếu có, nó sẽ ghi đè google.firebase.fcm.v1.Notification.title .

body

string

Nội dung của thông báo. Nếu có, nó sẽ ghi đè google.firebase.fcm.v1.Notification.body .

icon

string

Biểu tượng của thông báo Đặt biểu tượng thông báo thành myicon cho tài nguyên có thể vẽ myicon. Nếu bạn không gửi khóa này trong yêu cầu, FCM sẽ hiển thị biểu tượng trình khởi chạy được chỉ định trong bảng kê khai ứng dụng của bạn.

color

string

Màu biểu tượng của thông báo, được biểu thị ở định dạng #rrggbb.

sound

string

Âm thanh phát ra khi thiết bị nhận được thông báo. Hỗ trợ "mặc định" hoặc tên tệp của tài nguyên âm thanh được gói trong ứng dụng. Các tệp âm thanh phải nằm trong /res/raw/.

tag

string

Mã định danh được sử dụng để thay thế các thông báo hiện có trong ngăn thông báo. Nếu không được chỉ định, mỗi yêu cầu sẽ tạo một thông báo mới. Nếu được chỉ định và thông báo có cùng thẻ đã được hiển thị thì thông báo mới sẽ thay thế thông báo hiện có trong ngăn thông báo.

click_action

string

Hành động liên quan đến việc người dùng nhấp vào thông báo. Nếu được chỉ định, một hoạt động có bộ lọc mục đích phù hợp sẽ được khởi chạy khi người dùng nhấp vào thông báo.

body_loc_key

string

Khóa cho chuỗi nội dung trong tài nguyên chuỗi của ứng dụng sẽ được sử dụng để bản địa hóa văn bản nội dung theo bản địa hóa hiện tại của người dùng. Xem Tài nguyên chuỗi để biết thêm thông tin.

body_loc_args[]

string

Các giá trị chuỗi biến đổi được sử dụng thay cho bộ xác định định dạng trong body_loc_key để bản địa hóa nội dung văn bản sang bản địa hóa hiện tại của người dùng. Xem Định dạng và Tạo kiểu để biết thêm thông tin.

title_loc_key

string

Khóa của chuỗi tiêu đề trong tài nguyên chuỗi của ứng dụng sẽ được sử dụng để bản địa hóa văn bản tiêu đề theo bản địa hóa hiện tại của người dùng. Xem Tài nguyên chuỗi để biết thêm thông tin.

title_loc_args[]

string

Các giá trị chuỗi biến đổi được sử dụng thay cho bộ xác định định dạng trong title_loc_key để bản địa hóa văn bản tiêu đề sang bản địa hóa hiện tại của người dùng. Xem Định dạng và Tạo kiểu để biết thêm thông tin.

channel_id

string

Id kênh của thông báo (mới trong Android O). Ứng dụng phải tạo kênh có ID kênh này trước khi nhận được bất kỳ thông báo nào có ID kênh này. Nếu bạn không gửi ID kênh này trong yêu cầu hoặc nếu ID kênh đã cung cấp chưa được ứng dụng tạo thì FCM sẽ sử dụng ID kênh được chỉ định trong tệp kê khai ứng dụng.

ticker

string

Đặt văn bản "mã đánh dấu" được gửi đến các dịch vụ trợ năng. Trước API cấp 21 ( Lollipop ), hãy đặt văn bản được hiển thị trên thanh trạng thái khi có thông báo lần đầu tiên.

sticky

boolean

Khi được đặt thành sai hoặc không được đặt, thông báo sẽ tự động bị loại bỏ khi người dùng nhấp vào thông báo đó trong bảng điều khiển. Khi được đặt thành true, thông báo vẫn tồn tại ngay cả khi người dùng nhấp vào thông báo đó.

event_time

string ( Timestamp format)

Đặt thời gian xảy ra sự kiện trong thông báo. Thông báo trong bảng điều khiển được sắp xếp theo thời gian này. Một thời điểm được biểu diễn bằng protobuf.Timestamp .

Dấu thời gian ở định dạng RFC3339 UTC "Zulu", với độ phân giải nano giây và tối đa chín chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z" .

local_only

boolean

Đặt xem thông báo này chỉ liên quan đến thiết bị hiện tại hay không. Một số thông báo có thể được kết nối với các thiết bị khác để hiển thị từ xa, chẳng hạn như đồng hồ Wear OS. Gợi ý này có thể được đặt để đề xuất thông báo này không được bắc cầu. Xem hướng dẫn về Wear OS

notification_priority

enum ( NotificationPriority )

Đặt mức độ ưu tiên tương đối cho thông báo này. Mức độ ưu tiên là dấu hiệu cho biết mức độ chú ý của người dùng đối với thông báo này. Thông báo có mức độ ưu tiên thấp có thể bị ẩn khỏi người dùng trong một số trường hợp nhất định, trong khi người dùng có thể bị gián đoạn do thông báo có mức độ ưu tiên cao hơn. Hiệu quả của việc đặt cùng mức độ ưu tiên có thể hơi khác nhau trên các nền tảng khác nhau. Lưu ý mức độ ưu tiên này khác với AndroidMessagePriority . Mức độ ưu tiên này được khách hàng xử lý sau khi tin nhắn được gửi, trong khi AndroidMessagePriority là một khái niệm FCM kiểm soát thời điểm tin nhắn được gửi.

default_sound

boolean

Nếu được đặt thành true, hãy sử dụng âm thanh mặc định của khung Android cho thông báo. Các giá trị mặc định được chỉ định trong config.xml .

default_vibrate_timings

boolean

Nếu được đặt thành true, hãy sử dụng kiểu rung mặc định của khung Android cho thông báo. Các giá trị mặc định được chỉ định trong config.xml . Nếu default_vibrate_timings được đặt thành true và vibrate_timings cũng được đặt thì giá trị mặc định sẽ được sử dụng thay vì vibrate_timings do người dùng chỉ định.

default_light_settings

boolean

Nếu được đặt thành true, hãy sử dụng cài đặt đèn LED mặc định của khung Android cho thông báo. Các giá trị mặc định được chỉ định trong config.xml . Nếu default_light_settings được đặt thành true và light_settings cũng được đặt thì light_settings do người dùng chỉ định sẽ được sử dụng thay vì giá trị mặc định.

vibrate_timings[]

string ( Duration format)

Đặt kiểu rung để sử dụng. Truyền vào một mảng protobuf.Duration để bật hoặc tắt bộ rung. Giá trị đầu tiên cho biết Duration chờ trước khi bật bộ rung. Giá trị tiếp theo cho biết Duration duy trì bộ rung. Các giá trị tiếp theo xen kẽ giữa Duration để tắt bộ rung và bật bộ rung. Nếu vibrate_timings được đặt và default_vibrate_timings được đặt thành true , thì giá trị mặc định sẽ được sử dụng thay vì vibrate_timings do người dùng chỉ định.

Khoảng thời gian tính bằng giây với tối đa chín chữ số phân số, kết thúc bằng ' s '. Ví dụ: "3.5s" .

visibility

enum ( Visibility )

Đặt Thông báo . khả năng hiển thị của thông báo.

notification_count

integer

Đặt số lượng mục mà thông báo này đại diện. Có thể được hiển thị dưới dạng số lượng huy hiệu cho các trình khởi chạy hỗ trợ huy hiệu. Xem Huy hiệu thông báo . Ví dụ: điều này có thể hữu ích nếu bạn chỉ sử dụng một thông báo để thể hiện nhiều thư mới nhưng bạn muốn số lượng ở đây thể hiện tổng số thư mới. Nếu không hoặc không được chỉ định, các hệ thống hỗ trợ huy hiệu sẽ sử dụng mặc định, tức là tăng số hiển thị trên menu nhấn và giữ mỗi khi có thông báo mới.

light_settings

object ( LightSettings )

Cài đặt để kiểm soát tốc độ và màu sắc nhấp nháy của đèn LED thông báo nếu đèn LED có sẵn trên thiết bị. Tổng thời gian nhấp nháy được điều khiển bởi hệ điều hành.

image

string

Chứa URL của hình ảnh sẽ được hiển thị trong thông báo. Nếu có, nó sẽ ghi đè google.firebase.fcm.v1.Notification.image .

Ưu tiên thông báo

Mức độ ưu tiên của thông báo

Enum
PRIORITY_UNSPECIFIED Nếu mức độ ưu tiên không được chỉ định thì mức độ ưu tiên của thông báo được đặt thành PRIORITY_DEFAULT .
PRIORITY_MIN Mức độ ưu tiên thông báo thấp nhất. Thông báo có PRIORITY_MIN này có thể không được hiển thị cho người dùng ngoại trừ trong những trường hợp đặc biệt, chẳng hạn như nhật ký thông báo chi tiết.
PRIORITY_LOW Mức độ ưu tiên thông báo thấp hơn. Giao diện người dùng có thể chọn hiển thị thông báo nhỏ hơn hoặc ở một vị trí khác trong danh sách so với thông báo có PRIORITY_DEFAULT .
PRIORITY_DEFAULT Ưu tiên thông báo mặc định. Nếu ứng dụng không ưu tiên thông báo của chính nó, hãy sử dụng giá trị này cho tất cả thông báo.
PRIORITY_HIGH Ưu tiên thông báo cao hơn. Sử dụng tùy chọn này để nhận các thông báo hoặc cảnh báo quan trọng hơn. Giao diện người dùng có thể chọn hiển thị các thông báo này lớn hơn hoặc ở một vị trí khác trong danh sách thông báo so với các thông báo có PRIORITY_DEFAULT .
PRIORITY_MAX Ưu tiên thông báo cao nhất. Sử dụng mục này cho các mục quan trọng nhất của ứng dụng cần sự chú ý hoặc đầu vào nhanh chóng của người dùng.

Hiển thị

Mức độ hiển thị khác nhau của một thông báo.

Enum
VISIBILITY_UNSPECIFIED Nếu không được chỉ định, hãy mặc định là Visibility.PRIVATE .
PRIVATE Hiển thị thông báo này trên tất cả các màn hình khóa nhưng ẩn thông tin nhạy cảm hoặc riêng tư trên màn hình khóa an toàn.
PUBLIC Hiển thị toàn bộ thông báo này trên tất cả các màn hình khóa.
SECRET Không tiết lộ bất kỳ phần nào của thông báo này trên màn hình khóa an toàn.

Cài đặt ánh sáng

Cài đặt để điều khiển đèn LED thông báo.

Biểu diễn JSON
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
Lĩnh vực
color

object ( Color )

Yêu cầu. Đặt color của đèn LED bằng google.type.Color .

light_on_duration

string ( Duration format)

Yêu cầu. Cùng với light_off_duration , xác định tốc độ nhấp nháy của đèn LED. Độ phân giải được xác định bởi proto.Duration

Khoảng thời gian tính bằng giây với tối đa chín chữ số phân số, kết thúc bằng ' s '. Ví dụ: "3.5s" .

light_off_duration

string ( Duration format)

Yêu cầu. Cùng với light_on_duration , xác định tốc độ nhấp nháy của đèn LED. Độ phân giải được xác định bởi proto.Duration

Khoảng thời gian tính bằng giây với tối đa chín chữ số phân số, kết thúc bằng ' s '. Ví dụ: "3.5s" .

Màu sắc

Đại diện cho một màu trong không gian màu RGBA. Biểu diễn này được thiết kế để đơn giản hóa việc chuyển đổi sang/từ các biểu diễn màu bằng nhiều ngôn ngữ khác nhau về độ nhỏ gọn. Ví dụ: các trường của cách biểu diễn này có thể được cung cấp một cách đơn giản cho hàm tạo của java.awt.Color trong Java; nó cũng có thể được cung cấp một cách đơn giản cho phương +colorWithRed:green:blue:alpha của UIColor trong iOS; và chỉ với một chút thao tác, nó có thể dễ dàng được định dạng thành chuỗi CSS rgba() trong JavaScript.

Trang tham khảo này không chứa thông tin về không gian màu tuyệt đối nên được sử dụng để diễn giải giá trị RGB (ví dụ: sRGB, Adobe RGB, DCI-P3, BT.2020, v.v.). Theo mặc định, các ứng dụng sẽ sử dụng không gian màu sRGB.

Khi cần quyết định sự bình đẳng về màu sắc, việc triển khai, trừ khi có tài liệu khác, hãy coi hai màu bằng nhau nếu tất cả các giá trị đỏ, lục, lam và alpha của chúng khác nhau tối đa 1e-5.

Ví dụ (Java):

 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();
 }
 // ...

Ví dụ (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;
}
// ...

Ví dụ (JavaScript):

// ...

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('');
};

// ...
Biểu diễn JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Lĩnh vực
red

number

Lượng màu đỏ trong màu làm giá trị trong khoảng [0, 1].

green

number

Lượng màu xanh lục có giá trị trong khoảng [0, 1].

blue

number

Lượng màu xanh lam có giá trị trong khoảng [0, 1].

alpha

number

Phần màu này sẽ được áp dụng cho pixel. Nghĩa là, màu pixel cuối cùng được xác định theo phương trình:

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

Điều này có nghĩa là giá trị 1,0 tương ứng với màu đơn sắc, trong khi giá trị 0,0 tương ứng với màu hoàn toàn trong suốt. Điều này sử dụng thông báo trình bao bọc thay vì vô hướng float đơn giản để có thể phân biệt giữa giá trị mặc định và giá trị không được đặt. Nếu bị bỏ qua, đối tượng màu này sẽ được hiển thị dưới dạng một màu đồng nhất (như thể giá trị alpha đã được gán giá trị rõ ràng là 1,0).

Tùy chọn AndroidFcm

Tùy chọn cho các tính năng do FCM SDK dành cho Android cung cấp.

Biểu diễn JSON
{
  "analytics_label": string
}
Lĩnh vực
analytics_label

string

Nhãn được liên kết với dữ liệu phân tích của tin nhắn.

WebpushConfig

Tùy chọn giao thức Webpush .

Biểu diễn JSON
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
Lĩnh vực
headers

map (key: string, value: string)

Tiêu đề HTTP được xác định trong giao thức webpush. Tham khảo giao thức Webpush để biết các tiêu đề được hỗ trợ, ví dụ: "TTL": "15".

Một đối tượng chứa danh sách các cặp "key": value . Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

data

map (key: string, value: string)

Tải trọng khóa/giá trị tùy ý. Nếu có, nó sẽ ghi đè lên google.firebase.fcm.v1.Message.data .

Một đối tượng chứa danh sách các cặp "key": value . Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Struct format)

Tùy chọn Thông báo trên web dưới dạng đối tượng JSON. Hỗ trợ các thuộc tính phiên bản Thông báo như được xác định trong API thông báo web . Nếu có, các trường "tiêu đề" và "nội dung" sẽ ghi đè google.firebase.fcm.v1.Notification.titlegoogle.firebase.fcm.v1.Notification.body .

fcm_options

object ( WebpushFcmOptions )

Tùy chọn cho các tính năng do FCM SDK dành cho Web cung cấp.

WebpushFcmTùy chọn

Tùy chọn cho các tính năng do FCM SDK dành cho Web cung cấp.

Biểu diễn JSON
{
  "link": string,
  "analytics_label": string
}
Lĩnh vực
analytics_label

string

Nhãn được liên kết với dữ liệu phân tích của tin nhắn.

ApnsConfig

Các tùy chọn cụ thể của Dịch vụ thông báo đẩy của Apple .

Biểu diễn JSON
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
Lĩnh vực
headers

map (key: string, value: string)

Tiêu đề yêu cầu HTTP được xác định trong Dịch vụ thông báo đẩy của Apple. Tham khảo tiêu đề yêu cầu APN để biết các tiêu đề được hỗ trợ như apns-expirationapns-priority .

Phần phụ trợ đặt giá trị mặc định cho apns-expiration là 30 ngày và giá trị mặc định cho apns-priority là 10 nếu không được đặt rõ ràng.

Một đối tượng chứa danh sách các cặp "key": value . Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

payload

object ( Struct format)

Tải trọng APN dưới dạng đối tượng JSON, bao gồm cả từ điển aps và tải trọng tùy chỉnh. Xem Tài liệu tham khảo về khóa tải trọng . Nếu có, nó sẽ ghi đè google.firebase.fcm.v1.Notification.titlegoogle.firebase.fcm.v1.Notification.body .

fcm_options

object ( ApnsFcmOptions )

Tùy chọn cho các tính năng do FCM SDK dành cho iOS cung cấp.

ApnsFcmTùy chọn

Tùy chọn cho các tính năng do FCM SDK dành cho iOS cung cấp.

Biểu diễn JSON
{
  "analytics_label": string,
  "image": string
}
Lĩnh vực
analytics_label

string

Nhãn được liên kết với dữ liệu phân tích của tin nhắn.

image

string

Chứa URL của hình ảnh sẽ được hiển thị trong thông báo. Nếu có, nó sẽ ghi đè google.firebase.fcm.v1.Notification.image .

Tùy chọn Fcm

Các tùy chọn độc lập với nền tảng cho các tính năng do FCM SDK cung cấp.

Biểu diễn JSON
{
  "analytics_label": string
}
Lĩnh vực
analytics_label

string

Nhãn được liên kết với dữ liệu phân tích của tin nhắn.

phương pháp

send

Gửi tin nhắn đến mục tiêu được chỉ định (mã thông báo đăng ký, chủ đề hoặc điều kiện).