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)

Input saja. 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 "seconds.notification."). 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)

Input saja. Template notifikasi dasar untuk digunakan di semua platform.

android

object (AndroidConfig)

Input saja. Opsi spesifik Android untuk pesan yang dikirim melalui server koneksi FCM.

webpush

object (WebpushConfig)

Input saja. Opsi Protokol Webpush.

apns

object (ApnsConfig)

Input saja. Opsi khusus Apple Push Notification Service.

fcm_options

object (FcmOptions)

Input saja. Template untuk opsi fitur FCM SDK yang akan digunakan di semua platform.

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

string

Token pendaftaran yang akan dikirimi pesan.

topic

string

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

condition

string

Kondisi untuk dikirimi pesan, mis. "'foo' dalam topik && 'bar' dalam topik".

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 di perangkat dan ditampilkan dalam notifikasi. JPEG, PNG, BMP memiliki dukungan penuh di seluruh platform. Video dan GIF animasi hanya berfungsi di iOS. WebP dan HEIF memiliki tingkat dukungan yang berbeda di seluruh platform dan versi platform. Android memiliki batas ukuran gambar 1 MB. Penggunaan kuota dan implikasi/biaya untuk menghosting gambar di Firebase Storage: https://firebase.google.com/pricing

AndroidConfig

Opsi spesifik 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 grup pesan yang dapat diciutkan, sehingga hanya pesan terakhir yang akan dikirim saat pengiriman dapat dilanjutkan. Maksimum 4 kunci penciutan berbeda yang diizinkan pada satu waktu tertentu.

priority

enum (AndroidMessagePriority)

Prioritas pesan. Dapat mengambil "normal" dan "tinggi" masing-masing. Untuk mengetahui informasi lebih lanjut, lihat Menetapkan prioritas pesan.

ttl

string (Duration format)

Durasi (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 berakhiran di akhiran "s" (menunjukkan detik) dan didahului dengan jumlah detik, dengan nanodetik yang 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, yang diakhiri dengan 's'. Contoh: "3.5s".

restricted_package_name

string

Nama paket aplikasi tempat token pendaftaran harus cocok agar dapat menerima pesan.

data

map (key: string, value: string)

Payload kunci/nilai arbitrer. Jika ada, parameter 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 untuk dikirimkan 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 berada dalam mode booting langsung. Lihat Mendukung mode Direct Boot.

AndroidMessagePriority

Prioritas pesan untuk 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, misalnya notifikasi email baru atau data lain yang perlu disinkronkan, pilih prioritas pengiriman normal.
HIGH Prioritas default untuk pesan notifikasi. FCM berusaha untuk segera mengirimkan pesan berprioritas tinggi, yang memungkinkan layanan FCM membangunkan perangkat yang sedang tidur jika memungkinkan dan membuka koneksi jaringan ke server aplikasi Anda. Aplikasi dengan pesan instan, chat, atau pemberitahuan panggilan suara, misalnya, secara umum perlu membuka koneksi jaringan dan memastikan FCM mengirimkan pesan ke perangkat tanpa penundaan. Tetapkan prioritas tinggi jika pesan bersifat mendesak dan memerlukan interaksi langsung pengguna, tetapi berhati-hatilah karena mengatur pesan ke prioritas tinggi akan lebih menghabiskan daya baterai dibandingkan dengan pesan prioritas normal.

AndroidNotification

Notifikasi untuk dikirimkan 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,
  "bypass_proxy_notification": boolean,
  "proxy": enum (Proxy)
}
Kolom
title

string

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

body

string

Teks isi notifikasi. Jika ada, parameter 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 sumber daya suara yang dipaketkan dalam aplikasi. File suara harus berada di /res/raw/.

tag

string

ID yang digunakan untuk mengganti notifikasi yang ada di panel samping notifikasi. Jika tidak ditentukan, setiap permintaan akan membuat notifikasi baru. Jika ditetapkan 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 saat pengguna mengklik notifikasi.

body_loc_key

string

Kunci untuk 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 Penataan Gaya untuk informasi lebih lanjut.

title_loc_key

string

Kunci ke string judul di dalam resource string aplikasi yang akan digunakan untuk melokalkan teks judul ke pelokalan 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 Penataan Gaya untuk informasi lebih lanjut.

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 "ticker" Teks, yang dikirim ke layanan aksesibilitas. Sebelum API level 21 (Lollipop), menetapkan teks yang ditampilkan di status bar saat notifikasi pertama kali masuk.

sticky

boolean

Jika kebijakan 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 bahkan saat pengguna mengkliknya.

event_time

string (Timestamp format)

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

Stempel waktu dalam RFC3339 UTC "Zulu" , dengan resolusi nanodetik dan hingga sembilan digit pecahan. 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 agar notifikasi ini tidak dihubungkan. Lihat panduan Wear OS

notification_priority

enum (NotificationPriority)

Tetapkan prioritas relatif untuk notifikasi ini. Prioritas adalah indikasi seberapa banyak perhatian pengguna harus digunakan oleh notifikasi ini. Notifikasi prioritas rendah mungkin disembunyikan dari pengguna dalam situasi tertentu, sementara pengguna mungkin terganggu untuk notifikasi prioritas lebih tinggi. Efek dari penetapan prioritas yang sama mungkin sedikit berbeda di berbagai platform. 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 ditetapkan ke benar (true) dan vibrate_timings juga ditetapkan, 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 ditetapkan ke benar (true) dan light_settings juga ditetapkan, light_settings yang ditentukan pengguna akan digunakan, bukan nilai default.

vibrate_timings[]

string (Duration format)

Setel 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 membuat vibrator tetap aktif. Nilai berikutnya bergantian antara Duration untuk menonaktifkan vibrator dan mengaktifkan vibrator. Jika vibrate_timings ditetapkan dan default_vibrate_timings ditetapkan ke true, nilai default akan digunakan, bukan vibrate_timings yang ditentukan pengguna.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang 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 merepresentasikan beberapa pesan baru, tetapi Anda ingin penghitungan di sini mewakili jumlah total pesan baru. Jika nol atau tidak ditentukan, sistem yang mendukung badge akan menggunakan setelan default, yaitu menaikkan angka yang ditampilkan pada menu tekan lama setiap kali notifikasi baru masuk.

light_settings

object (LightSettings)

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

image

string

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

bypass_proxy_notification
(deprecated)

boolean

Jika disetel, notifikasi tampilan yang dikirimkan ke perangkat akan ditangani oleh aplikasi, bukan proxy.

proxy

enum (Proxy)

Setelan untuk mengontrol waktu notifikasi dapat di-proxy-kan.

PrioritasNotifikasi

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 mendetail.
PRIORITY_LOW Prioritas notifikasi yang lebih rendah. UI dapat memilih untuk menampilkan notifikasi yang 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 penting lainnya. UI dapat memilih untuk menampilkan notifikasi ini dalam ukuran 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 aplikasi yang paling penting yang memerlukan perhatian atau input cepat dari pengguna.

Visibilitas

Tingkat visibilitas notifikasi yang berbeda.

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

Pengaturan 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 lampu LED. Resolusi yang ditentukan oleh proto.Duration

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

light_off_duration

string (Duration format)

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

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

Warna

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

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

Saat kesetaraan warna perlu ditentukan, implementasi, kecuali jika didokumentasikan sebaliknya, memperlakukan dua warna sama jika semua nilai merah, hijau, biru, dan alfa masing-masing berbeda paling banyak sebesar 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 secara eksplisit diberi nilai 1,0).

Proxy

Setelan untuk mengontrol waktu notifikasi dapat di-proxy-kan.

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

OpsiAndroidFcm

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, mis. "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, parameter 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 Notifikasi seperti yang ditentukan dalam Web Notification API. Jika ada, "title" dan "body" kolom 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.

WebpushFcmOptions

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 mengetahui header yang didukung seperti apns-expiration dan apns-priority.

Backend menetapkan nilai default untuk apns-expiration selama 30 hari dan nilai default untuk apns-priority sebesar 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, atribut 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.

ApnsFcmOptions

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, parameter ini akan menggantikan google.firebase.fcm.v1.Notification.image.

OpsiFcm

Opsi independen 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 tertentu (token, topik, atau kondisi pendaftaran).