REST Resource: projects.messages

Sumber: Pesan

Pesan untuk dikirim melalui Firebase Cloud Messaging Service.

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.
}
Bidang
name

string

Keluaran Saja. Pengidentifikasi pesan yang dikirim, dalam format projects/*/messages/{message_id} .

data

map (key: string, value: string)

Hanya masukan. Payload kunci/nilai sewenang-wenang, yang harus dikodekan UTF-8. Kuncinya tidak boleh berupa kata yang dicadangkan ("dari", "tipe_pesan", atau kata apa pun yang dimulai dengan "google" atau "gcm"). Saat mengirim muatan yang hanya berisi bidang data ke perangkat iOS, hanya prioritas normal ( "apns-priority": "5" ) yang diperbolehkan di ApnsConfig .

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

notification

object ( Notification )

Hanya masukan. Templat notifikasi dasar untuk digunakan di semua platform.

android

object ( AndroidConfig )

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

webpush

object ( WebpushConfig )

Hanya masukan. Opsi protokol webpush .

apns

object ( ApnsConfig )

Hanya masukan. Opsi khusus Layanan Pemberitahuan Push Apple .

fcm_options

object ( FcmOptions )

Hanya masukan. Templat untuk opsi fitur FCM SDK untuk digunakan di semua platform.

target lapangan serikat pekerja. Diperlukan. Hanya masukan. Target untuk mengirim pesan ke. target hanya dapat berupa salah satu dari berikut ini:
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 mengirim pesan, misalnya "'foo' dalam topik && 'bar' dalam topik".

Pemberitahuan

Templat notifikasi dasar untuk digunakan di semua platform.

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

string

Judul notifikasi.

body

string

Teks isi notifikasi.

image

string

Berisi URL gambar yang akan diunduh ke perangkat dan ditampilkan dalam notifikasi. JPEG, PNG, BMP memiliki dukungan penuh di seluruh platform. GIF dan video animasi hanya berfungsi di iOS. WebP dan HEIF memiliki tingkat dukungan yang berbeda-beda di seluruh platform dan versi platform. Android memiliki batas ukuran gambar 1MB. Penggunaan kuota dan implikasi/biaya untuk menghosting gambar di Firebase Storage: https://firebase.google.com/pricing

Konfigurasi Android

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
}
Bidang
collapse_key

string

Pengidentifikasi sekelompok pesan yang dapat diciutkan, sehingga hanya pesan terakhir yang terkirim saat pengiriman dapat dilanjutkan. Maksimal 4 kunci penciutan berbeda diperbolehkan pada waktu tertentu.

priority

enum ( AndroidMessagePriority )

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

ttl

string ( Duration format)

Berapa lama (dalam detik) pesan harus disimpan di penyimpanan FCM jika perangkat sedang offline. Waktu maksimum untuk hidup yang didukung adalah 4 minggu, dan nilai defaultnya adalah 4 minggu jika tidak disetel. Setel ke 0 jika ingin segera mengirim pesan. Dalam format JSON, tipe Durasi dikodekan sebagai string, bukan objek, dengan string diakhiri dengan akhiran "s" (menunjukkan detik) dan diawali dengan jumlah detik, dengan nanodetik dinyatakan sebagai pecahan detik. Misalnya, 3 detik dengan 0 nanodetik harus dikodekan 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 hingga sembilan digit pecahan, diakhiri dengan ' s '. Contoh: "3.5s" .

restricted_package_name

string

Nama paket aplikasi tempat token pendaftaran harus cocok untuk menerima pesan.

data

map (key: string, value: string)

Muatan kunci/nilai sewenang-wenang. Jika ada, ini akan menggantikan google.firebase.fcm.v1.Message.data .

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

notification

object ( AndroidNotification )

Pemberitahuan untuk dikirim ke perangkat Android.

fcm_options

object ( AndroidFcmOptions )

Opsi fitur yang disediakan oleh FCM SDK untuk Android.

direct_boot_ok

boolean

Jika disetel ke true, pesan akan diizinkan untuk dikirim ke aplikasi saat perangkat berada dalam mode booting langsung. Lihat Mendukung mode Boot Langsung .

Prioritas Pesan Android

Prioritas pesan untuk dikirim ke perangkat Android. Perhatikan bahwa prioritas ini adalah konsep FCM yang mengontrol kapan pesan dikirimkan. Lihat panduan FCM . Selain itu, Anda dapat menentukan prioritas tampilan notifikasi pada perangkat Android yang ditargetkan menggunakan AndroidNotification.NotificationPriority .

Enum
NORMAL Prioritas default untuk pesan data. Pesan prioritas normal tidak akan membuka koneksi jaringan pada perangkat yang sedang tidur, dan pengirimannya mungkin tertunda untuk menghemat baterai. Untuk pesan yang tidak terlalu sensitif terhadap waktu, seperti pemberitahuan email baru atau data lain yang akan disinkronkan, pilih prioritas pengiriman normal.
HIGH Prioritas default untuk pesan notifikasi. FCM berupaya mengirimkan pesan berprioritas tinggi dengan segera, sehingga layanan FCM dapat membangunkan perangkat yang tertidur bila memungkinkan dan membuka koneksi jaringan ke server aplikasi Anda. Aplikasi dengan pesan instan, chat, atau peringatan panggilan suara, misalnya, umumnya perlu membuka koneksi jaringan dan memastikan FCM mengirimkan pesan ke perangkat tanpa penundaan. Tetapkan prioritas tinggi jika pesan bersifat mendesak dan memerlukan interaksi langsung dari pengguna, namun berhati-hatilah karena menetapkan pesan Anda ke prioritas tinggi akan menyebabkan lebih banyak pengurasan baterai dibandingkan dengan pesan prioritas normal.

Pemberitahuan Android

Pemberitahuan untuk 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,
}
Bidang
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 mengirimkan kunci ini dalam permintaan, FCM akan menampilkan ikon peluncur yang ditentukan dalam manifes aplikasi Anda.

color

string

Warna ikon notifikasi, dinyatakan dalam format #rrggbb.

sound

string

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

tag

string

Pengenal 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 baru akan menggantikan notifikasi yang sudah ada di panel samping notifikasi.

click_action

string

Tindakan yang terkait dengan pengguna mengklik notifikasi. Jika ditentukan, aktivitas dengan filter maksud yang cocok akan diluncurkan saat pengguna mengklik notifikasi.

body_loc_key

string

Kunci string isi dalam sumber daya string aplikasi yang digunakan untuk melokalkan teks isi ke pelokalan pengguna saat ini. Lihat Sumber Daya String untuk informasi lebih lanjut.

body_loc_args[]

string

Nilai string variabel yang akan digunakan sebagai pengganti penentu format di body_loc_key yang akan digunakan untuk melokalisasi teks isi ke pelokalan pengguna saat ini. Lihat Pemformatan dan Penataan Gaya untuk informasi lebih lanjut.

title_loc_key

string

Kunci string judul dalam sumber daya string aplikasi yang digunakan untuk melokalkan teks judul ke lokalisasi pengguna saat ini. Lihat Sumber Daya String untuk informasi lebih lanjut.

title_loc_args[]

string

Nilai string variabel yang akan digunakan sebagai pengganti penentu format di title_loc_key yang akan digunakan untuk melokalisasi teks judul ke lokalisasi 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 pemberitahuan apa pun dengan ID saluran ini diterima. Jika Anda tidak mengirimkan ID saluran ini dalam permintaan, atau jika ID saluran yang diberikan belum dibuat oleh aplikasi, FCM akan menggunakan ID saluran yang ditentukan dalam manifes aplikasi.

ticker

string

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

sticky

boolean

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

event_time

string ( Timestamp format)

Atur waktu terjadinya peristiwa dalam notifikasi. Notifikasi di panel diurutkan berdasarkan waktu ini. Suatu titik waktu direpresentasikan menggunakan protobuf.Timestamp .

Stempel waktu dalam format 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

Setel apakah notifikasi ini hanya relevan untuk perangkat saat ini atau tidak. Beberapa notifikasi dapat dihubungkan ke perangkat lain untuk tampilan jarak jauh, seperti jam tangan Wear OS. Petunjuk ini dapat diatur untuk merekomendasikan agar notifikasi ini tidak dijembatani. Lihat panduan Wear OS

notification_priority

enum ( NotificationPriority )

Tetapkan prioritas relatif untuk notifikasi ini. Prioritas merupakan indikasi seberapa banyak perhatian pengguna yang harus dikonsumsi oleh notifikasi ini. Notifikasi berprioritas rendah mungkin disembunyikan dari pengguna dalam situasi tertentu, sementara pengguna mungkin terganggu untuk notifikasi berprioritas lebih tinggi. Pengaruh penetapan prioritas yang sama mungkin sedikit berbeda pada platform yang berbeda. Perhatikan bahwa prioritas ini berbeda dengan AndroidMessagePriority . Prioritas ini diproses oleh klien setelah pesan terkirim, sedangkan AndroidMessagePriority adalah konsep FCM yang mengontrol kapan pesan terkirim.

default_sound

boolean

Jika disetel ke true, gunakan suara default framework Android untuk notifikasi. Nilai default ditentukan di config.xml .

default_vibrate_timings

boolean

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

default_light_settings

boolean

Jika disetel ke true, gunakan setelan lampu LED default framework Android untuk notifikasi. Nilai default ditentukan di config.xml . Jika default_light_settings disetel ke true dan light_settings juga disetel, light_settings yang ditentukan pengguna akan digunakan sebagai pengganti nilai default.

vibrate_timings[]

string ( Duration format)

Atur pola getaran yang akan digunakan. Masukkan array protobuf.Duration untuk menghidupkan atau mematikan vibrator. Nilai pertama menunjukkan Duration menunggu sebelum menyalakan vibrator. Nilai berikutnya menunjukkan Duration agar vibrator tetap menyala. Nilai berikutnya bergantian antara Duration untuk mematikan vibrator dan untuk menghidupkan 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 hingga sembilan digit pecahan, diakhiri dengan ' s '. Contoh: "3.5s" .

visibility

enum ( Visibility )

Atur Notifikasi . visibilitas notifikasi.

notification_count

integer

Menetapkan jumlah item yang diwakili oleh notifikasi ini. Dapat ditampilkan sebagai jumlah lencana untuk peluncur yang mendukung pemberian lencana. Lihat Lencana Pemberitahuan . Misalnya, ini mungkin berguna jika Anda hanya menggunakan satu notifikasi untuk mewakili beberapa pesan baru, namun Anda ingin penghitungan di sini mewakili jumlah total pesan baru. Jika nol atau tidak ditentukan, sistem yang mendukung badge menggunakan default, yaitu menambah angka yang ditampilkan pada menu tekan lama setiap kali ada notifikasi baru yang masuk.

light_settings

object ( LightSettings )

Pengaturan untuk mengontrol kecepatan dan warna kedipan LED notifikasi 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 .

Prioritas Pemberitahuan

Tingkat prioritas pemberitahuan.

Enum
PRIORITY_UNSPECIFIED Jika prioritas tidak ditentukan, prioritas notifikasi 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 lebih rendah. UI dapat memilih untuk menampilkan notifikasi dengan ukuran lebih kecil, atau pada posisi berbeda dalam daftar, dibandingkan dengan notifikasi dengan PRIORITY_DEFAULT .
PRIORITY_DEFAULT Prioritas pemberitahuan default. Jika aplikasi tidak memprioritaskan notifikasinya sendiri, gunakan nilai ini untuk semua notifikasi.
PRIORITY_HIGH Prioritas notifikasi lebih tinggi. Gunakan ini untuk pemberitahuan atau peringatan yang lebih penting. UI dapat memilih untuk menampilkan notifikasi ini lebih besar, atau pada posisi berbeda dalam daftar notifikasi, dibandingkan dengan notifikasi dengan PRIORITY_DEFAULT .
PRIORITY_MAX Prioritas notifikasi tertinggi. Gunakan ini untuk item terpenting dalam aplikasi yang memerlukan perhatian atau masukan cepat dari pengguna.

Visibilitas

Tingkat visibilitas notifikasi yang berbeda.

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

Pengaturan Cahaya

Pengaturan untuk mengontrol LED notifikasi.

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

object ( Color )

Diperlukan. Atur color LED dengan google.type.Color .

light_on_duration

string ( Duration format)

Diperlukan. Bersamaan dengan light_off_duration , tentukan kecepatan kedipan LED. Resolusi ditentukan oleh proto.Duration

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

light_off_duration

string ( Duration format)

Diperlukan. Bersamaan dengan light_on_duration , tentukan kecepatan kedipan LED. Resolusi ditentukan oleh proto.Duration

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

Warna

Mewakili warna dalam ruang warna RGBA. Representasi ini dirancang untuk kesederhanaan konversi ke/dari representasi warna dalam berbagai bahasa dibandingkan kekompakan. Misalnya, bidang representasi ini dapat dengan mudah diberikan kepada konstruktor java.awt.Color di Java; itu juga dapat dengan mudah diberikan ke metode +colorWithRed:green:blue:alpha UIColor di iOS; dan, hanya dengan sedikit usaha, ini dapat dengan mudah diformat menjadi string CSS rgba() di JavaScript.

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

Ketika kesetaraan warna perlu diputuskan, implementasi, kecuali jika didokumentasikan sebaliknya, memperlakukan dua warna sebagai sama jika semua nilai merah, hijau, biru, dan alfa masing-masing berbeda paling banyak 1e-5.

Contoh (Jawa):

 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
}
Bidang
red

number

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

green

number

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

blue

number

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

alpha

number

Fraksi warna ini yang harus diterapkan pada piksel. Artinya, warna piksel akhir ditentukan oleh persamaan:

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

Artinya, nilai 1,0 berarti warna solid, sedangkan nilai 0,0 berarti warna transparan sepenuhnya. Ini menggunakan pesan pembungkus daripada skalar float sederhana sehingga memungkinkan untuk membedakan antara nilai default dan nilai yang tidak disetel. Jika dihilangkan, objek warna ini akan ditampilkan sebagai warna solid (seolah-olah nilai alpha secara eksplisit diberi nilai 1,0).

Opsi AndroidFcm

Opsi fitur yang disediakan oleh FCM SDK untuk Android.

Representasi JSON
{
  "analytics_label": string
}
Bidang
analytics_label

string

Label yang terkait dengan data analisis pesan.

Konfigurasi Webpush

Opsi protokol webpush .

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

map (key: string, value: string)

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

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

data

map (key: string, value: string)

Muatan kunci/nilai sewenang-wenang. Jika ada, ini akan menggantikan google.firebase.fcm.v1.Message.data .

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

notification

object ( Struct format)

Opsi Pemberitahuan Web sebagai objek JSON. Mendukung properti instance Notifikasi seperti yang ditentukan dalam API Notifikasi Web . Jika ada, kolom "title" dan "body" 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
}
Bidang
analytics_label

string

Label yang terkait dengan data analisis pesan.

Konfigurasi Apns

Opsi khusus Layanan Pemberitahuan Push Apple .

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

map (key: string, value: string)

Header permintaan HTTP ditentukan di Layanan Pemberitahuan Push Apple. Lihat header permintaan APN untuk header yang didukung seperti apns-expiration dan apns-priority .

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

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

payload

object ( Struct format)

Payload APN sebagai objek JSON, termasuk kamus aps dan payload khusus. Lihat Referensi Kunci Payload . Jika ada, 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
}
Bidang
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 independen platform untuk fitur yang disediakan oleh FCM SDK.

Representasi JSON
{
  "analytics_label": string
}
Bidang
analytics_label

string

Label yang terkait dengan data analisis pesan.

Metode

send

Kirim pesan ke target tertentu (token pendaftaran, topik atau ketentuan).