Firebase Cloud Messaging: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
LaninBot (bicara | kontrib)
k Perubahan kosmetik tanda baca
Kim Nansa (bicara | kontrib)
Fitur saranan suntingan: 3 pranala ditambahkan.
Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala
 
(4 revisi perantara oleh 3 pengguna tidak ditampilkan)
Baris 1:
{{Orphan|date=Februari 2023}}
 
{{Infobox dot-com company
| name = Firebase Cloud Messaging
| logo =
| founder = James Tamplin, Andrew Lee<ref>{{cite web |url=https://angel.co/firebase |title=Firebase - AngelList |accessdate=Jun 11, 2014 |publisher=AngelList |archive-date=2014-07-06 |archive-url=https://web.archive.org/web/20140706035101/https://angel.co/firebase |dead-url=no }}</ref>
| industry =
| developer = [[Firebase]]
Baris 13 ⟶ 15:
| area_served = Seluruh Dunia
}}
'''Firebase Cloud Messaging''' biasa disebut FCM, sebelumnya dikenal sebagai Google Cloud Messaging (GCM), merupakan solusi dari cloud [[lintas platform]] untuk pesan dan layanan pemberitahuan untuk [[Android (sistem operasi)|Android]], [[iOS]], dan aplikasi [[web]], yang saat ini dapat digunakan tanpa biaya.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/|title=Firebase Cloud Messaging|website=Google Developers|language=en|access-date=2016-07-20|archive-date=2016-07-20|archive-url=https://web.archive.org/web/20160720185245/https://firebase.google.com/docs/cloud-messaging/|dead-url=no}}</ref>
Layanan Firebase Cloud Messaging ini disediakan oleh [[Firebase]], yang merupakan [[anak perusahaan]] dari [[Google]]. Pada tanggal 21 Oktober 2014, Firebase mengumumkan telah diakuisisi oleh Google untuk jumlah yang tidak diungkapkan.<ref name="google">{{cite web|url=https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html|title=Firebase is Joining Google!|publisher=Firebase, Inc|author=Tamplin, James|accessdate=October 21, 2014|archive-date=2016-06-23|archive-url=https://web.archive.org/web/20160623180108/https://firebase.googleblog.com/2014/10/firebase-is-joining-google.html|dead-url=no}}</ref> Situs web Google Cloud Messaging resmi menunjuk ke Firebase Cloud Messaging (Firebase Cloud Messaging) sebagai versi baru Google Cloud Messaging (GCM).<ref>{{cite web |title=Google Cloud Messaging - official website |accessdate=July 20, 2016 |url=https://developers.google.com/cloud-messaging/ |archive-date=2017-07-14 |archive-url=https://web.archive.org/web/20170714010232/https://developers.google.com/cloud-messaging/ |dead-url=no }}</ref>
Pihak Google menyarankan untuk aplikasi yang masih menggunakan Google Cloud Messaging untuk segera [[migrasi]] ke Firebase Cloud Messaging. Fitur-fitur yang diberikan oleh Firebase Cloud Messaging sebenarnya tidak terlalu jauh berbeda dengan Google Cloud Messaging. Dengan Firebase Cloud Messaging kita bisa memberikan pemberitahuan dan membuat komunikasi dua arah antara perangkat. Teknologi yang digunakan terbagi menjadi dua yaitu:
 
* XMPP (Extensible Messaging and Presence Protocol)
* [[HTTP]] ([[Hiperteks|Hypertext]] Transfer Protocol).
Untuk XMPP harus membangun server XMPP terlebih dahulu, sedangkan untuk HTTP bisa menggunakan [[console]] yang disediakan oleh Firebase.<ref>{{Cite web|url=https://coolnetkid.wordpress.com/2016/09/08/android-apa-itu-firebase/|title=Firebase Cloud Messaging|website=Google Developers|language=id|access-date= Oktober 16, 2018|archive-date=2019-04-10|archive-url=https://web.archive.org/web/20190410215137/https://coolnetkid.wordpress.com/2016/09/08/android-apa-itu-firebase/|dead-url=no}}</ref>
 
== Kemampuan Utama Firebase Cloud Messaging ==
Baris 25 ⟶ 27:
* Mengirim pesan notification atau pesan data: Mengirim pesan notification yang ditampilkan kepada pengguna. Atau mengirim pesan data dan menentukan sepenuhnya apa yang terjadi dalam kode aplikasi.
* Penargetan pesan serbaguna: Mendistribusikan pesan ke aplikasi klien dengan salah satu dari 3 cara — ke satu perangkat, ke grup perangkat, atau ke perangkat yang berlangganan topik.
* Mengirim pesan dari aplikasi klien: Mengirim notification, chat, dan pesan lain dari perangkat ke server melalui saluran koneksi FCM yang andal dan hemat baterai.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/?hl=id#key_capabilities/|title=Firebase Cloud Messaging|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-06-01|archive-url=https://web.archive.org/web/20230601154110/https://firebase.google.com/docs/cloud-messaging/?hl=ID#key_capabilities/|dead-url=no}}</ref>
 
== Pesan Firebase Cloud Messaging ==
Firebase Cloud Messaging (FCM) menawarkan beragam kemampuan dan opsi pengiriman pesan. Informasi ini dimaksudkan untuk membantu dalam memahami berbagai jenis pesan dari Firebase Cloud Messaging, serta apa yang dapat dilakukan dengan jenis pesan tersebut .<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/?hl=id#key_capabilities/|title=Firebase Cloud Messaging|website=Google Developers|language=id|access-date= Oktober 24, 2018|archive-date=2023-06-01|archive-url=https://web.archive.org/web/20230601154110/https://firebase.google.com/docs/cloud-messaging/?hl=ID#key_capabilities/|dead-url=no}}</ref>.
 
=== Jenis Pesan Firebase Cloud Messaging ===
 
==== Pesan notifikasi ====
Pesan notifikasi, terkadang dianggap sebagai "pesan tampilan". Pesan ini ditangani oleh Firebase Cloud Messaging SDK secara otomatis. Pesan notifikasi memiliki serangkaian kunci bawaan yang terlihat oleh pengguna. Pesan notifikasi bisa berisi data payload opsional untuk pasangan kunci-nilai kustom. Skenario penggunaan dalam pesan notifikasi yaitu Firebase Cloud Messaging secara otomatis menampilkan pesan ke perangkat pengguna akhir atas nama aplikasi klien.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#notifications|title=Pesan Notifikasi|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-05-29|archive-url=https://web.archive.org/web/20230529020039/https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#notifications|dead-url=no}}</ref>
Cara mengirim pesan notifikasi
* Dalam lingkungan tepercaya, seperti Cloud Functions atau server aplikasi, gunakan [[Admin]] SDK atau [[Protokol]] [[Server]] Firebase Cloud Messaging
Baris 39 ⟶ 41:
 
==== Pesan data ====
Pesan data, yang ditangani oleh aplikasi klien. pesan data hanya memuat key-value pair kustom buatan pengguna. Skenario penggunaan dalam pesan data, aplikasi klien bertanggung jawab memproses pesan data.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#data_messages|title= Pesan Data|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-05-29|archive-url=https://web.archive.org/web/20230529020039/https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#data_messages|dead-url=no}}</ref>
Cara mengirim pesan notifikasi:
Dalam lingkungan tepercaya, seperti Cloud Functions atau server aplikasi pengguna, gunakan Admin SDK atau [[Protokol]] [[Server]] Firebase Cloud Messaging: Setel kunci data saja.
 
=== Opsi pengiriman pesan ===
Firebase Cloud Messaging menyediakan sekumpulan opsi pengiriman khusus untuk pesan yang dikirim ke perangkat [[Android]], dan memungkinkan opsi serupa di [[iOS]] dan [[web]]. Perilaku pesan yang "dapat diperkecil" didukung di perangkat Android melalui collapse_key Firebase Cloud Messaging, di iOS melalui apns-collapse-id, dan di [[JavaScript]]/[[Web]] melalui Topic.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#delivery_options|title= Opsi pengiriman|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-05-29|archive-url=https://web.archive.org/web/20230529020039/https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#delivery_options|dead-url=no}}</ref>
 
==== Pesan yang tidak dapat diperkecil ====
Pesan yang tidak dapat diperkecil menunjukkan bahwa setiap pesan dikirimkan ke perangkat. Pesan yang tidak dapat diperkecil mengirimkan beberapa konten berguna, bukan pesan yang dapat diperkecil seperti "ping" konten bebas, ke aplikasi seluler untuk menghubungi [[server]] agar mengambil data. Untuk [[Android]], ada batas 100 pesan yang bisa disimpan tanpa diperkecil. Jika batas ini tercapai, semua pesan yang disimpan akan dihapus. Saat kembali daring, perangkat akan menerima pesan khusus yang memberitahukan bahwa batas telah tercapai. Selanjutnya, aplikasi bisa menangani situasi ini dengan tepat, umumnya dengan meminta sinkronisasi penuh dari server aplikasi. Skenario penggunaan dalam pesan yang tidak dapat diperkecil yaitu setiap pesan penting bagi aplikasi klien dan harus dikirimkan. Kecuali untuk pesan notifikasi, semua pesan tidak dapat diperkecil secara default.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#collapsible_and_non-collapsible_messages|title= Pesan tidak dapat diperkecil|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-05-29|archive-url=https://web.archive.org/web/20230529020039/https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#collapsible_and_non-collapsible_messages|dead-url=no}}</ref>
 
==== Pesan yang dapat diperkecil ====
Pesan yang dapat diperkecil adalah pesan yang dapat diganti dengan pesan baru jika pesan tersebut belum dikirimkan ke perangkat. Kasus penggunaan umum dalam pesan yang dapat diperkeciladalah pesan digunakan untuk memberi tahu aplikasi seluler untuk menyinkronkan data dari [[server]] karena hanya pesan terbaru yang dianggap relevan.
 
Untuk menandai pesan sebagai pesan yang dapat diperkecil di Android, pengguna dapat menyertakan parameter collapse_key dalam payload pesan. Firebase Cloud Messaging mendukung maksimal 4 kunci perkecil berbeda dari beberapa perangkat Android yang akan digunakan oleh server aplikasi pada waktu yang ditentukan. Dengan kata lain, server Firebase Cloud Messaging dapat menyimpan 4 pesan berbeda yang bisa diperkecil per perangkat secara bersamaan, masing-masing dengan kunci perkecil yang berbeda. Jika melampaui angka ini, Firebase Cloud Messaging hanya akan menyimpan 4 kunci perkecil, tanpa jaminan kunci mana yang akan disimpan.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#collapsible_and_non-collapsible_messages|title= Pesan dapat diperkecil|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-05-29|archive-url=https://web.archive.org/web/20230529020039/https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#collapsible_and_non-collapsible_messages|dead-url=no}}</ref>
 
=== Prioritas Pesan Firebase Cloud Messaging ===
Prioritas Pesan Firebase Cloud Messaging memiliki 2 opsi untuk menetapkan prioritas pengiriman ke pesan downstream di Android: prioritas normal dan tinggi. Pengiriman pesan berprioritas normal dan tinggi berfungsi sebagai berikut <ref name="Prioritas Pesan">{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#menetapkan-prioritas-pesan|title= Prioritas Pesan|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-05-29|archive-url=https://web.archive.org/web/20230529020039/https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#menetapkan-prioritas-pesan|dead-url=no}}</ref>
 
* '''Prioritas normal''' Ini adalah prioritas awal untuk pesan data. Pesan berprioritas normal segera dikirim saat aplikasi berjalan di depan latar . Saat perangkat sedang dalam kondisi istirahat atau aplikasi dalam kondisi aplikasi siaga, pengiriman mungkin ditunda untuk menghemat baterai. Untuk pesan yang tidak mendesak dari segi waktu, misalnya pemberitahuan [[email]] baru, selalu menyinkronkan [[antarmuka pengguna]], atau menyinkronkan data aplikasi di latar belakang, pilihlah prioritas pengiriman normal.<ref>{{Cite web|urlname=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#menetapkan-prioritas-pesan|title= "Prioritas Pesan|website=Google Developers|language=id|access-date= Oktober 25, 2018}}<"/ref>
Saat menerima pesan berprioritas normal di [[Android]] yang meminta sinkronisasi latar belakang data untuk aplikasi, pengguna harus menjadwalkan tugas FJD atau JobIntentService untuk menanganinya saat jaringan tersedia.
 
* '''Prioritas tinggi''' Firebase Cloud Messaging berusaha segera mungkin untuk mengirimkan pesan berprioritas tinggi, yang membuat layanan Firebase Cloud Messaging dapat membangunkan perangkat yang sedang tertidur jika diperlukan, dan menjalankan beberapa pemrosesan terbatas (termasuk akses jaringan yang sangat terbatas). Pesan berprioritas tinggi umumnya menimbulkan [[interaksi]] pengguna dengan [[aplikasi]]. Jika Firebase Cloud Messaging mendeteksi [[pola]] yang tidak ada, pesan mungkin tidak diprioritaskan.
Karena sebagian kecil populasi seluler [[Android]] menggunakan [[jaringan]] latensi tinggi, jangan buka koneksi ke [[server]] sebelum menampilkan pemberitahuan. Memanggil kembali server sebelum waktu akhir pemrosesan yang diizinkan dapat berisiko bagi pengguna pada jaringan latensi tinggi. Atau, sertakan [[konten]] pemberitahuan dalam pesan Firebase Cloud Messaging yang segera tampilkan. Jika harus menyinkronkan tambahan konten dalam aplikasi di Android, pengguna dapat menjadwalkan tugas FJD atau JobIntentService untuk menanganinya di latar belakang.<ref>{{Cite web|urlname=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#menetapkan-prioritas-pesan|title= "Prioritas Pesan|website=Google Developers|language=id|access-date= Oktober 25, 2018}}<"/ref>
 
=== Menetapkan Masa Aktif Pesan Firebase Cloud Messaging ===
Firebase Cloud Messaging biasanya segera mengirimkan pesan setelah pesan dikirim. Namun, hal tersebut terkadang tidak memungkinkan untuk dilakukan. Jika platformnya adalah [[Android]], perangkat akan dimatikan, [[luring]], atau tidak tersedia. Firebase Cloud Messaging sengaja menunda pesan agar aplikasi tidak menggunakan sumber secara berlebihan dan berpengaruh negatif pada masa pakai [[baterai]].
Jika ini terjadi, Firebase Cloud Messaging akan menyimpan pesan dan mengirimkannya segera setelah kondisinya memungkinkan. Meskipun dalam kebanyakan kasus hal ini tidak apa-apa, karena ada beberapa aplikasi yang tidak mengizinkan keterlambatan pengiriman pesan. Misalnya, untuk pemberitahuan panggilan masuk atau video obrolan, pesan hanya berguna untuk periode waktu yang singkat sebelum panggilan tersebut diakhiri.<ref>{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#ttl|title= Masa aktif pesan|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-05-29|archive-url=https://web.archive.org/web/20230529020039/https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#ttl|dead-url=no}}</ref>
Di [[Android]] dan [[Web]]/[[JavaScript]], dapat menentukan masa aktif maksimum suatu pesan. Nilainya harus berupa durasi dari 0 hingga 2.419.200 detik (28 hari), dan sama dengan [[periode]] waktu maksimum bagi Firebase Cloud Messaging untuk menyimpan dan mencoba mengirimkan pesan.
 
Baris 77 ⟶ 79:
=== Port Firebase Cloud Messaging dan Firewall ===
Jika pengguna memiliki [[tembok api]] untuk membatasi lalu lintas dari [[Internet]], pengguna harus mengkonfigurasinya agar perangkat seluler dapat terhubung dengan Firebase Cloud Messaging dan perangkat di [[jaringan]] dapat menerima pesan. Firebase Cloud Messaging biasanya menggunakan [[port]] 5228, tetapi terkadang menggunakan 5229 dan 5230.
Untuk koneksi keluar, Firebase Cloud Messaging tidak memberikan IP khusus karena rentang IP terlalu sering berubah dan aturan firewall mungkin sudah tidak berlaku, sehingga memengaruhi [[pengalaman pengguna]]. Idealnya, pengguna akan memberikan akses ke port 5228-5230 tanpa pembatasan IP. Namun, jika pengguna harus memiliki pembatasan [[Protokol Internet]], pengguna harus memberikan akses ke semua alamat IP dalam blok IPv4 dan IPv6 yang tercantum di ASN 15169 Google. Pengguna harus memperbarui aturan setiap bulan. Masalah yang disebabkan karena pembatasan IP firewall biasanya menghilang dan timbul lagi serta sulit didiagnosis.<ref name="firebase.google.com">{{Cite web|url=https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#ports_and_your_firewall|title= Port Firebase Cloud Messaging dan Firewall|website=Google Developers|language=id|access-date= Oktober 25, 2018|archive-date=2023-05-29|archive-url=https://web.archive.org/web/20230529020039/https://firebase.google.com/docs/cloud-messaging/concept-options?hl=id#ports_and_your_firewall|dead-url=no}}</ref>
 
'''Port yang harus dibuka untuk pesan masuk:'''
Baris 89 ⟶ 91:
 
'''Firewall Network Address Translation dan/atau Stateful Packet Inspection:'''
Jika jaringan pengguna menerapkan [[Network Address Translation]] (NAT) atau Stateful Packet Inspection (SPI), waktu penerapan tunggu 30 menit atau lebih untuk koneksi melalui port 5228-5230. Dengan begitu, pengembang dapat menyediakan konektivitas yang andal sekaligus mengurangi konsumsi [[baterai]] perangkat [[seluler]] pengguna.<ref>{{Cite web|urlname=https://"firebase.google.com"/docs/cloud-messaging/concept-options?hl=id#ports_and_your_firewall|title= Port Firebase Cloud Messaging dan Firewall|website=Google Developers|language=id|access-date= Oktober 25, 2018}}</ref>
 
== Referensi ==
Baris 95 ⟶ 97:
 
== Pranala luar ==
* [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging - official website] {{Webarchive|url=https://web.archive.org/web/20160720185245/https://firebase.google.com/docs/cloud-messaging/ |date=2016-07-20 }}
* [https://developers.google.com/cloud-messaging/ Google Cloud Messaging - official website] {{Webarchive|url=https://web.archive.org/web/20170714010232/https://developers.google.com/cloud-messaging/ |date=2017-07-14 }}
* [https://developers.google.com/cloud-messaging/faq GCM and FIREBASE CLOUD MESSAGING Frequently Asked Questions] {{Webarchive|url=https://web.archive.org/web/20170306081559/https://developers.google.com/cloud-messaging/faq |date=2017-03-06 }}
* [https://www.pushengage.com/blog/why-use-gcm-with-push-notifications/ How to Configure a Firebase/Google Cloud Messaging Key & Why You Should Use Firebase Cloud Messaging Key ] {{Webarchive|url=https://web.archive.org/web/20170922095936/https://www.pushengage.com/blog/why-use-gcm-with-push-notifications/ |date=2017-09-22 }}
 
[[Kategori:Layanan telekomunikasi seluler]]