REST Resource: projects.messages

Resource: Pesan

Pesan yang akan dikirim oleh Layanan Firebase Cloud Messaging.

Representasi 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.
}
Kolom
name

string

Hanya Output. ID pesan yang dikirim, dalam format projects/*/messages/{message_id}.

data

map (key: string, value: string)

Hanya input. Payload kunci/nilai arbitrer, yang harus berenkode UTF-8. Kunci tidak boleh berupa kata yang telah digunakan ("from", "message_type", atau kata apa pun yang dimulai dengan "google" atau "gcm"). Saat mengirim payload yang hanya berisi kolom data ke perangkat iOS, hanya prioritas normal ("apns-priority": "5") yang diizinkan di ApnsConfig.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (Notification)

Hanya input. Template notifikasi dasar untuk digunakan di semua platform.

android

object (AndroidConfig)

Hanya input. Opsi khusus Android untuk pesan yang dikirim melalui server koneksi FCM.

webpush

object (WebpushConfig)

Hanya input. Opsi protokol Webpush.

apns

object (ApnsConfig)

Hanya input. Opsi khusus Apple Push Notification Service.

fcm_options

object (FcmOptions)

Hanya input. Template untuk opsi fitur FCM SDK yang akan digunakan di semua platform.

Kolom union target. Wajib diisi. Hanya input. Target untuk mengirim pesan. target hanya ada berupa salah satu diantara berikut:
token

string

Token pendaftaran untuk mengirim pesan.

topic

string

Nama topik yang akan dikirimi pesan, misalnya "cuaca". Catatan: Awalan "/topics/" tidak boleh diberikan.

condition

string

Kondisi untuk mengirimkan pesan, misalnya "'foo' in topics && 'bar' in topics".

Notifikasi

Template notifikasi dasar untuk digunakan di semua platform.

Representasi JSON
{
  "title": string,
  "body": string,
  "image": string
}
Kolom
title

string

Judul notifikasi.

body

string

Teks isi notifikasi.

image

string

Berisi URL gambar yang akan didownload pada perangkat dan ditampilkan di notifikasi. JPEG, PNG, BMP memiliki dukungan penuh di seluruh platform. Animasi GIF dan video hanya berfungsi di iOS. WebP dan HEIF memiliki tingkat dukungan yang berbeda di berbagai platform dan versi platform. Android memiliki batas ukuran gambar 1 MB. Penggunaan kuota dan implikasi/biaya untuk hosting image di Firebase Storage: https://firebase.google.com/pricing

AndroidConfig

Opsi khusus Android untuk pesan yang dikirim melalui server koneksi FCM.

Representasi 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
}
Kolom
collapse_key

string

ID dari grup pesan yang dapat diciutkan, sehingga hanya pesan terakhir yang dikirim saat pengiriman dapat dilanjutkan. Maksimum 4 kunci penciutan berbeda yang diizinkan pada satu waktu tertentu.

priority

enum (AndroidMessagePriority)

Prioritas pesan. Dapat berisi nilai "normal" dan "tinggi". Untuk mengetahui informasi lebih lanjut, baca artikel Menetapkan prioritas pesan.

ttl

string (Duration format)

Berapa lama (dalam detik) pesan harus disimpan dalam penyimpanan FCM jika perangkat sedang offline. Waktu aktif maksimum yang didukung adalah 4 minggu, dan nilai defaultnya adalah 4 minggu jika tidak ditetapkan. Tetapkan ke 0 jika ingin segera mengirim pesan. Dalam format JSON, jenis Durasi dienkode sebagai string, bukan objek, dengan string berakhir dengan akhiran "s" (menunjukkan detik) dan didahului oleh jumlah detik, dengan nanodetik dinyatakan sebagai detik pecahan. Misalnya, 3 detik dengan 0 nanodetik harus dienkode dalam format JSON sebagai "3s", sedangkan 3 detik dan 1 nanodetik harus dinyatakan dalam format JSON sebagai "3.000000001s". Ttl akan dibulatkan ke bawah ke detik terdekat.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

restricted_package_name

string

Nama paket aplikasi yang harus cocok dengan token pendaftaran agar bisa menerima pesan.

data

map (key: string, value: string)

Payload kunci/nilai arbitrer. Jika ada, ini akan menggantikan google.firebase.fcm.v1.Message.data.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (AndroidNotification)

Notifikasi yang akan dikirim ke perangkat Android.

fcm_options

object (AndroidFcmOptions)

Opsi untuk fitur yang disediakan oleh FCM SDK untuk Android.

direct_boot_ok

boolean

Jika disetel ke benar (true), pesan akan diizinkan untuk dikirimkan ke aplikasi saat perangkat dalam mode booting langsung. Lihat Mendukung mode Direct Boot.

AndroidMessagePriority

Prioritas pesan yang akan dikirim ke perangkat Android. Perlu diperhatikan bahwa prioritas ini adalah konsep FCM yang mengontrol kapan pesan dikirim. Lihat panduan FCM. Selain itu, Anda dapat menentukan prioritas tampilan notifikasi di perangkat Android yang ditargetkan menggunakan AndroidNotification.NotificationPriority.

Enum
NORMAL Prioritas default untuk pesan data. Pesan berprioritas normal tidak akan membuka koneksi jaringan pada perangkat yang sedang tidur, dan pengirimannya mungkin tertunda untuk menghemat baterai. Untuk pesan yang kurang mendesak dari segi waktu, misalnya notifikasi email baru atau data lain yang akan disinkronkan, pilihlah prioritas pengiriman normal.
HIGH Prioritas default untuk pesan notifikasi. FCM berusaha segera mengirimkan pesan berprioritas tinggi, yang membuat layanan FCM membangunkan perangkat yang sedang tidur jika memungkinkan dan membuka koneksi jaringan ke server aplikasi Anda. Misalnya, aplikasi dengan pesan instan, chat, atau pemberitahuan panggilan suara, secara umum harus membuka koneksi jaringan dan memastikan FCM mengirimkan pesan ke perangkat tanpa penundaan. Tetapkan prioritas tinggi jika pesan bersifat mendesak dan memerlukan interaksi langsung pengguna. Namun, berhati-hatilah karena menyetel pesan ke prioritas tinggi akan lebih menguras baterai dibandingkan pesan berprioritas normal.

AndroidNotification

Notifikasi yang akan dikirim ke perangkat Android.

Representasi 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,
  "proxy": enum (Proxy)
}
Kolom
title

string

Judul notifikasi. Jika ada, ini akan menggantikan google.firebase.fcm.v1.Notification.title.

body

string

Teks isi notifikasi. Jika ada, ini akan menggantikan google.firebase.fcm.v1.Notification.body.

icon

string

Ikon notifikasi. Menyetel ikon notifikasi ke myicon untuk myicon resource drawable. Jika Anda tidak mengirim kunci ini dalam permintaan, FCM akan menampilkan ikon peluncur yang ditentukan dalam manifes aplikasi.

color

string

Warna ikon notifikasi, dinyatakan dalam format #rrggbb.

sound

string

Suara yang diputar saat perangkat menerima notifikasi. Mendukung "default" atau nama file resource suara yang dipaketkan dalam aplikasi. File suara harus berada di /res/raw/.

tag

string

ID yang digunakan untuk menggantikan notifikasi yang ada di panel samping notifikasi. Jika tidak ditentukan, setiap permintaan akan membuat notifikasi baru. Jika ditentukan dan notifikasi dengan tag yang sama sudah ditampilkan, notifikasi yang baru akan menggantikan notifikasi lama di panel samping notifikasi.

click_action

string

Tindakan yang terkait dengan klik pengguna pada notifikasi. Jika ditetapkan, aktivitas dengan filter intent yang cocok akan diluncurkan ketika pengguna mengklik notifikasi.

body_loc_key

string

Kunci ke string isi di resource string aplikasi yang akan digunakan untuk melokalkan teks isi ke bahasa pengguna saat ini. Lihat Resource String untuk informasi selengkapnya.

body_loc_args[]

string

Nilai string variabel yang akan digunakan sebagai pengganti penentu format dalam body_loc_key untuk melokalkan teks isi ke bahasa pengguna saat ini. Lihat Pemformatan dan Gaya untuk informasi selengkapnya.

title_loc_key

string

Kunci ke string judul di resource string aplikasi yang akan digunakan untuk melokalkan teks judul ke bahasa pengguna saat ini. Lihat Resource String untuk informasi selengkapnya.

title_loc_args[]

string

Nilai string variabel yang akan digunakan sebagai pengganti penentu format dalam title_loc_key untuk melokalkan teks judul ke bahasa pengguna saat ini. Lihat Pemformatan dan Gaya untuk informasi selengkapnya.

channel_id

string

ID saluran notifikasi (baru di Android O). Aplikasi harus membuat saluran dengan ID saluran ini sebelum menerima notifikasi dengan ID saluran ini. Jika Anda tidak mengirim ID saluran ini dalam permintaan, atau jika ID saluran yang disediakan belum dibuat oleh aplikasi, FCM akan menggunakan ID saluran yang ditentukan dalam manifes aplikasi.

ticker

string

Menetapkan teks "ticker" yang dikirim ke layanan aksesibilitas. Sebelum API level 21 (Lollipop), menyetel teks yang ditampilkan di status bar saat notifikasi pertama kali diterima.

sticky

boolean

Jika disetel ke salah (false) atau tidak disetel, notifikasi akan otomatis ditutup saat pengguna mengkliknya di panel. Jika disetel ke benar (true), notifikasi akan tetap ada meskipun pengguna mengkliknya.

event_time

string (Timestamp format)

Tetapkan waktu peristiwa dalam notifikasi terjadi. Notifikasi di panel diurutkan menurut kali ini. Titik waktu direpresentasikan menggunakan protobuf.Timestamp.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

local_only

boolean

Atur apakah notifikasi ini hanya relevan untuk perangkat saat ini atau tidak. Beberapa notifikasi dapat dihubungkan ke perangkat lain untuk tampilan jarak jauh, seperti smartwatch Wear OS. Petunjuk ini dapat disetel untuk merekomendasikan notifikasi ini agar tidak dihubungkan. Lihat Panduan Wear OS

notification_priority

enum (NotificationPriority)

Tetapkan prioritas relatif untuk notifikasi ini. Prioritas adalah indikasi seberapa banyak perhatian pengguna yang harus dimanfaatkan oleh notifikasi ini. Notifikasi prioritas rendah mungkin disembunyikan dari pengguna dalam situasi tertentu, sementara pengguna mungkin diganggu untuk notifikasi prioritas yang lebih tinggi. Efek dari menetapkan prioritas yang sama mungkin sedikit berbeda di platform yang berbeda. Perlu diperhatikan bahwa prioritas ini berbeda dengan AndroidMessagePriority. Prioritas ini diproses oleh klien setelah pesan dikirim, sedangkan AndroidMessagePriority adalah konsep FCM yang mengontrol kapan pesan dikirim.

default_sound

boolean

Jika disetel ke benar (true), gunakan suara default framework Android untuk notifikasi. Nilai default ditentukan dalam config.xml.

default_vibrate_timings

boolean

Jika disetel ke benar (true), gunakan pola getar default framework Android untuk notifikasi. Nilai default ditentukan dalam config.xml. Jika default_vibrate_timings disetel ke benar (true) dan vibrate_timings juga disetel, nilai default akan digunakan, bukan vibrate_timings yang ditentukan pengguna.

default_light_settings

boolean

Jika disetel ke benar (true), gunakan setelan lampu LED default framework Android untuk notifikasi. Nilai default ditentukan dalam config.xml. Jika default_light_settings disetel ke benar (true) dan light_settings juga disetel, light_settings yang ditentukan pengguna akan digunakan, bukan nilai default.

vibrate_timings[]

string (Duration format)

Atur pola getaran yang akan digunakan. Teruskan array protobuf.Duration untuk mengaktifkan atau menonaktifkan vibrator. Nilai pertama menunjukkan Duration untuk menunggu sebelum mengaktifkan vibrator. Nilai berikutnya menunjukkan Duration untuk menjaga vibrator tetap aktif. Nilai berikutnya bergantian antara Duration untuk menonaktifkan vibrator dan mengaktifkan vibrator. Jika vibrate_timings disetel dan default_vibrate_timings disetel ke true, nilai default akan digunakan, bukan vibrate_timings yang ditentukan pengguna.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

visibility

enum (Visibility)

Tetapkan Notification.Visibility notifikasi.

notification_count

integer

Menetapkan jumlah item yang diwakili oleh notifikasi ini. Dapat ditampilkan sebagai jumlah badge untuk peluncur yang mendukung badge.Lihat Badge Notifikasi. Misalnya, hal ini mungkin berguna jika Anda hanya menggunakan satu notifikasi untuk mewakili beberapa pesan baru, tetapi Anda ingin agar penghitungan di sini mewakili jumlah total pesan baru. Jika nol atau tidak ditentukan, sistem yang mendukung badge akan menggunakan default, yaitu menambahkan angka yang ditampilkan di menu tekan lama setiap kali notifikasi baru masuk.

light_settings

object (LightSettings)

Setelan untuk mengontrol kecepatan kedipan LED notifikasi dan warna jika LED tersedia di perangkat. Total waktu berkedip dikontrol oleh OS.

image

string

Berisi URL gambar yang akan ditampilkan dalam notifikasi. Jika ada, ini akan menggantikan google.firebase.fcm.v1.Notification.image.

proxy

enum (Proxy)

Menyetel untuk mengontrol kapan notifikasi mungkin dilewatkan proxy.

Prioritas Notifikasi

Tingkat prioritas notifikasi.

Enum
PRIORITY_UNSPECIFIED Jika prioritas tidak ditentukan, prioritas notifikasi akan disetel ke PRIORITY_DEFAULT.
PRIORITY_MIN Prioritas notifikasi terendah. Notifikasi dengan PRIORITY_MIN ini mungkin tidak ditampilkan kepada pengguna kecuali dalam keadaan khusus, seperti log notifikasi yang mendetail.
PRIORITY_LOW Prioritas notifikasi yang lebih rendah. UI dapat memilih untuk menampilkan notifikasi dengan ukuran lebih kecil, atau pada posisi yang berbeda dalam daftar, dibandingkan dengan notifikasi dengan PRIORITY_DEFAULT.
PRIORITY_DEFAULT Prioritas notifikasi default. Jika aplikasi tidak memprioritaskan notifikasinya sendiri, gunakan nilai ini untuk semua notifikasi.
PRIORITY_HIGH Prioritas notifikasi yang lebih tinggi. Gunakan ini untuk notifikasi atau pemberitahuan yang lebih penting. UI dapat memilih untuk menampilkan notifikasi ini lebih besar, atau pada posisi yang berbeda dalam daftar notifikasi, dibandingkan dengan notifikasi dengan PRIORITY_DEFAULT.
PRIORITY_MAX Prioritas notifikasi tertinggi. Gunakan ini untuk item-item terpenting dalam aplikasi yang memerlukan perhatian atau input segera dari pengguna.

Visibilitas

Tingkat visibilitas notifikasi yang berbeda.

Enum
VISIBILITY_UNSPECIFIED Jika tidak ditentukan, setelan defaultnya adalah Visibility.PRIVATE.
PRIVATE Tampilkan notifikasi ini di semua layar kunci, tetapi sembunyikan informasi sensitif atau pribadi di layar kunci yang aman.
PUBLIC Tampilkan notifikasi ini secara keseluruhan di semua layar kunci.
SECRET Jangan ungkapkan bagian apa pun dari notifikasi ini di layar kunci yang aman.

Setelan Cahaya

Setelan untuk mengontrol LED notifikasi.

Representasi JSON
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
Kolom
color

object (Color)

Wajib diisi. Setel color LED dengan google.type.Color.

light_on_duration

string (Duration format)

Wajib diisi. Bersama dengan light_off_duration, tentukan kecepatan kedipan flash LED. Resolusi ditentukan oleh proto.Duration

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

light_off_duration

string (Duration format)

Wajib diisi. Bersama dengan light_on_duration, tentukan kecepatan kedipan flash LED. Resolusi ditentukan oleh proto.Duration

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

Warna

Mewakili warna dalam ruang warna RGBA. Representasi ini didesain untuk kemudahan konversi ke dan dari representasi warna dalam berbagai bahasa agar lebih ringkas. Misalnya, kolom representasi ini dapat diberikan dengan mudah ke konstruktor java.awt.Color di Java; kolom ini juga dapat diberikan dengan mudah ke metode +colorWithRed:green:blue:alpha UIColor di iOS; dan, hanya dengan sedikit usaha, kolom ini dapat dengan mudah diformat menjadi string rgba() CSS di JavaScript.

Halaman referensi ini tidak memiliki informasi tentang ruang warna absolut yang harus digunakan untuk menginterpretasikan nilai RGB—misalnya, sRGB, Adobe RGB, DCI-P3, dan BT.2020. Secara default, aplikasi harus mengasumsikan ruang warna sRGB.

Saat kesetaraan warna perlu ditentukan, implementasi, kecuali jika didokumentasikan lain, memperlakukan dua warna sebagai sama jika semua nilai merah, hijau, biru, dan alfa masing-masing berbeda maksimal 1e-5.

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

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

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

// ...
Representasi JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Kolom
red

number

Jumlah merah dalam warna sebagai nilai dalam interval [0, 1].

green

number

Jumlah hijau dalam warna sebagai nilai dalam interval [0, 1].

blue

number

Jumlah biru dalam warna sebagai nilai dalam interval [0, 1].

alpha

number

Fraksi warna ini yang harus diterapkan ke piksel. Yaitu, warna piksel akhir ditentukan oleh persamaan:

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

Ini berarti bahwa nilai 1,0 berarti warna solid, sedangkan nilai 0,0 berarti warna yang sepenuhnya transparan. Kode ini menggunakan pesan wrapper, bukan skalar float sederhana sehingga memungkinkan untuk membedakan antara nilai default dan nilai yang tidak disetel. Jika dihilangkan, objek warna ini dirender sebagai warna solid (seolah-olah nilai alfa telah secara eksplisit diberi nilai 1.0).

Proxy

Menyetel untuk mengontrol kapan notifikasi mungkin dilewatkan proxy.

Enum
PROXY_UNSPECIFIED Jika tidak ditentukan, setelan defaultnya adalah Proxy.IF_PRIORITY_LOWERED.
ALLOW Coba proxy untuk notifikasi ini.
DENY Jangan proxy untuk notifikasi ini.
IF_PRIORITY_LOWERED Hanya coba proxy notifikasi ini jika AndroidMessagePriority diturunkan dari HIGH menjadi NORMAL di perangkat.

Opsi AndroidFcm

Opsi untuk fitur yang disediakan oleh FCM SDK untuk Android.

Representasi JSON
{
  "analytics_label": string
}
Kolom
analytics_label

string

Label yang terkait dengan data analisis pesan.

WebpushConfig

Opsi protokol Webpush.

Representasi JSON
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
Kolom
headers

map (key: string, value: string)

Header HTTP yang ditentukan dalam protokol webpush. Lihat protokol Webpush untuk mengetahui header yang didukung, misalnya "TTL": "15".

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

data

map (key: string, value: string)

Payload kunci/nilai arbitrer. Jika ada, ini akan menggantikan google.firebase.fcm.v1.Message.data.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

notification

object (Struct format)

Opsi Notifikasi Web sebagai objek JSON. Mendukung properti instance Notification seperti yang ditentukan dalam Web Notification API. Jika ada, kolom "judul" dan "isi" akan menggantikan google.firebase.fcm.v1.Notification.title dan google.firebase.fcm.v1.Notification.body.

fcm_options

object (WebpushFcmOptions)

Opsi untuk fitur yang disediakan oleh FCM SDK untuk Web.

Opsi WebpushFcm

Opsi untuk fitur yang disediakan oleh FCM SDK untuk Web.

Representasi JSON
{
  "link": string,
  "analytics_label": string
}
Kolom
analytics_label

string

Label yang terkait dengan data analisis pesan.

ApnsConfig

Opsi khusus Apple Push Notification Service.

Representasi JSON
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
Kolom
headers

map (key: string, value: string)

Header permintaan HTTP yang ditentukan di Apple Push Notification Service. Lihat header permintaan APNs untuk header yang didukung seperti apns-expiration dan apns-priority.

Backend menetapkan nilai default untuk apns-expiration dari 30 hari dan nilai default untuk apns-priority dari 10 jika tidak ditetapkan secara eksplisit.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

payload

object (Struct format)

Payload APN sebagai objek JSON, termasuk kamus aps dan payload kustom. Lihat Referensi Kunci Payload. Jika ada, kode ini akan menggantikan google.firebase.fcm.v1.Notification.title dan google.firebase.fcm.v1.Notification.body.

fcm_options

object (ApnsFcmOptions)

Opsi untuk fitur yang disediakan oleh FCM SDK untuk iOS.

Opsi ApnsFcm

Opsi untuk fitur yang disediakan oleh FCM SDK untuk iOS.

Representasi JSON
{
  "analytics_label": string,
  "image": string
}
Kolom
analytics_label

string

Label yang terkait dengan data analisis pesan.

image

string

Berisi URL gambar yang akan ditampilkan dalam notifikasi. Jika ada, ini akan menggantikan google.firebase.fcm.v1.Notification.image.

Opsi Fcm

Opsi yang tidak bergantung platform untuk fitur yang disediakan oleh FCM SDK.

Representasi JSON
{
  "analytics_label": string
}
Kolom
analytics_label

string

Label yang terkait dengan data analisis pesan.

Metode

send

Mengirim pesan ke target yang ditentukan (token pendaftaran, topik, atau kondisi).