Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Bayangkan sebuah komputer rumah yang setiap malam membuat cadangan data penting. Hasilnya dicatat dalam log sistem: operasi selesai dengan sukses atau terjadi kesalahan.
Dari segi teknis, semuanya berfungsi. Masalah muncul di pagi hari: pengguna harus secara manual membuka log dan memeriksa hasilnya. Program ini tidak memiliki aplikasi mobile, pengiriman notifikasi tidak disediakan oleh pengembang, dan membuat infrastruktur terpisah hanya untuk satu fungsi tidak akan dilakukan oleh kebanyakan orang.
Dengan PushMeld, proses ini dapat ditambahkan permintaan sederhana. Setelah cadangan selesai, pengguna akan menerima pesan di ponsel: cadangan telah dibuat atau operasi berakhir dengan error. Jika perlu, notifikasi yang sama juga dapat diterima melalui email.
Dasar dari ide ini adalah MaxCode — kode tunggal yang aman, melalui mana PushMeld menerima semua informasi yang diperlukan untuk pengiriman notifikasi selanjutnya.
Saat saya pertama kali berkenalan dengan proyek ini, MaxCode adalah bagian yang paling menarik bagi saya. Push-notifikasi dan email bukan hal baru lagi. Yang lebih penting adalah bahwa program sumber tidak lagi mengelola pengiriman mereka. Program hanya memberi tahu PushMeld tentang kejadian, dan semua proses setelahnya dilakukan di luar sistem.
Saya akan langsung jelaskan konteksnya: PushMeld merupakan bagian dari sistem MELD®, dan DigiMeld UG adalah perusahaan yang mengembangkannya.
Sumber hanya tahu tentang kejadian
Integrasi notifikasi biasa cepat menjadi sangat rumit secara teknis. Diperlukan penentuan proyek, pengaturan akses, penyimpanan kunci, pengelolaan token perangkat, pengaturan pengiriman email dan memenuhi persyaratan platform mobile yang berbeda.
PushMeld memindahkan semua ini dari sistem sumber ke sebuah lingkaran manajemen terpisah.
Program cadangan hanya tahu satu hal: operasi selesai berhasil atau berakhir dengan error. Program ini mengirimkan MaxCode, judul dan isi pesan.
Ia tidak perlu tahu:
berapa perangkat yang terhubung ke proyek;
telepon mana yang aktif saat ini;
melalui penyedia mana push harus dikirim;
apakah pengiriman email diaktifkan;
apakah pengguna memiliki smartphone baru;
apakah tablet lama telah dimatikan;
siapa yang harus menerima notifikasi tertentu.
Semua ini sudah ditentukan di dalam PushMeld.
Menurut saya, di sinilah letak inti arsitektur utama proyek ini: MaxCode memindahkan pengelolaan notifikasi dari program, tempat kejadian terjadi, ke sistem yang mengatur pengirimannya.
Satu MaxCode menggantikan sekumpulan kunci
Biasanya, saat mengintegrasikan layanan eksternal, kita harus bekerja dengan beberapa entitas sekaligus. Ada ID proyek tersendiri, kunci akses terpisah, tambahan mungkin rahasia, token perangkat, dan pengaturan penyedia tertentu.
MaxCode menggabungkan semua yang diperlukan untuk pengiriman dalam satu kode yang aman.
Setiap proyek memiliki MaxCode tersendiri. Di dalamnya terintegrasi identifikasi proyek, hak pengiriman, dan data yang memungkinkan PushMeld menerapkan konfigurasi pengiriman yang relevan.
Sistem pengirim tidak perlu menyimpan secara terpisah:
ID proyek;
API key dan rahasia tambahan;
Token perangkat yang terhubung;
Parameter setiap penerima;
Kunci penyedia push yang berbeda;
Pengaturan berbeda untuk push dan email.
Dalam program, situs, atau skrip hanya perlu menambahkan satu MaxCode. Setelah menerima ini bersama pesan, PushMeld akan secara otomatis mengenali proyek, memverifikasi permintaan, menemukan perangkat yang terhubung, dan memilih saluran yang tersedia.
Itulah sebabnya MaxCode tidak boleh dianggap sekadar kunci tambahan. Fungsinya adalah menggantikan sekumpulan kunci, token, dan ID yang terpisah dengan satu kode tunggal.
Notifikasi dari tempat yang tidak menyediakan
MaxCode dapat digunakan di sistem apa pun yang mampu menjalankan permintaan HTTP secara mandiri atau melalui skrip kecil.
Misalnya, PushMeld dapat memberitahu ketika:
server rumah tidak merespons;
cadangan selesai atau berakhir dengan error;
skrip internal menyelesaikan tugas lama;
printer 3D selesai mencetak;
sensor mendeteksi kebocoran;
pintu terbuka atau alarm aktif;
informasi tertentu muncul di situs;
harga barang berubah;
ruang penyimpanan kosong;
program lama menyelesaikan proses file besar;
toko online kecil menerima pesanan baru.
Masing-masing sumber ini mungkin tidak memiliki aplikasi sendiri. Beberapa perangkat hanya mampu mengakses alamat yang diberikan, lain dapat menjalankan perintah pengguna, dan beberapa dapat dilengkapi skrip otomatisasi singkat.
Ini sudah cukup untuk mengirimkan kejadian ke PushMeld.
Delimiting sumber tidak menjadikannya layanan notifikasi mandiri. Ia hanya merekam kejadian dan mengirim pesan dengan MaxCode. Segalanya — penerima, perangkat, saluran, dan jalur teknis — tetap di sisi PushMeld.
Bukan hanya push, tapi juga email
Nama PushMeld pertama-tama berasosiasi dengan notifikasi di ponsel, namun kemampuan proyek ini tidak terbatas pada itu.
Pengiriman bisa dilakukan via push, email, atau keduanya — tergantung pengaturan proyek dan kemampuan yang tersedia.
Misalnya, pesan pencadangan berhasil cukup ditampilkan di ponsel. Masalah serius bisa dikirim juga melalui email.
Program sumber hanya melakukan satu permintaan yang sama dengan MaxCode. Tidak perlu mengatur server email secara terpisah, menyimpan pengaturan, atau membuat skrip kedua yang independen.
Keputusan tentang saluran pengiriman dibuat di dalam PushMeld. Jika nanti pengguna menambahkan email ke proyek yang sudah ada, program pencadangan tidak perlu diubah.
Selain itu, email di sini tidak digunakan sebagai pengiriman massal umum, tetapi sebagai cara tambahan untuk menginformasikan kejadian dari proyek yang terhubung.
Satu proyek — satu sumber kejadian
Proyek memungkinkan pemisahan notifikasi sesuai dengan tujuan mereka.
Pengguna biasa bisa membuat, misalnya:
HomeServer— status server rumah;Backups— hasil cadangan;SmartHome— sensor dan otomatisasi rumah;PriceMonitor— perubahan harga;Website— permintaan baru dari situs pribadi.
Setiap proyek mendapatkan MaxCode sendiri. Dengan begitu, otomatisasi rumah tidak memakai kode situs, dan pemantauan harga tidak bercampur dengan backup data.
Dalam aplikasi, langsung terlihat dari mana pesan berasal dan tugas apa yang dimaksud.
Pemisahan ini sangat berguna saat jumlah sumber meningkat. Alih-alih satu aliran besar, pengguna mendapatkan beberapa channel independen, setiap satu dengan pengaturan pengiriman sendiri.
Telepon baru tidak memerlukan perubahan program
Token push yang umum terkait dengan instalasi aplikasi di perangkat tertentu.
Jika pengguna punya dua telepon dan satu tablet, ini berarti beberapa token. Setelah reinstall aplikasi atau penggantian perangkat, token tertentu bisa berubah atau berhenti bekerja.
MaxCode berada di atas level itu. Ia terkait dengan proyek, bukan satu perangkat.
Pengguna sendiri menentukan perangkat mana yang terkait dengan proyek dan harus menerima pesannya. Misalnya, notifikasi server rumah dikirim ke ponsel pribadi dan tablet, sementara kejadian dari situs kerja hanya ke ponsel kantor.
Jika pengguna membeli ponsel baru atau mematikan perangkat lama, skrip sumber tetap menggunakan MaxCode yang sama. Daftar penerima yang benar-benar aktif berubah di dalam PushMeld.
Hal yang sama berlaku untuk menambahkan email atau mengubah pengaturan pengiriman lainnya.
Itulah sebabnya MaxCode bukan sekadar cara mengurangi jumlah kunci. Ia membuat batas antara kejadian dan jalur distribusinya. Apapun yang setelah batas ini bisa diubah tanpa menyentuh program sumber.
Gratis untuk tugas rutin
Produk infrastruktur sering digambarkan melalui sistem korporat, perintah server, dan volume data besar. Karena itu, mungkin berpikir bahwa PushMeld dirancang khusus untuk pengembang profesional dan perusahaan.
Dalam praktiknya, Anda bisa memulai dari tugas rumahan biasa.
Apps sendiri gratis. Fitur utama MaxCode juga berfungsi tanpa biaya dalam batas nominal penggunaan gratis. Pengguna dapat membuat proyek, menghubungkan perangkat, dan menerima notifikasi dari server, situs, skrip, atau otomatisasi rumah mereka.
Ini bukan modus demo sementara yang berhenti setelah mencoba produk. Untuk skenario sehari-hari, fitur gratis cukup memadai.
Paket berbayar diperlukan saat jumlah permintaan meningkat, fitur tambahan diperlukan, atau sistem mulai digunakan dalam skala lebih besar.
Satu prinsip untuk individu dan perusahaan
mekanisme MaxCode tidak berubah tergantung skala tugas.
Pengguna menerima pesan keberhasilan cadangan. Bengkel kecil tahu bahwa printer 3D selesai cetak panjang. Toko online menerima pesanan baru. Tim teknis mendapat notifikasi error di server.
Perbedaan ada pada volume dan jumlah proyek, tetapi prinsip dasarnya tetap sama.
Bayangkan sebuah organisasi dengan tiga sumber kejadian:
Orders— pesanan baru;Payments— pembayaran dan pengembalian;ServerStatus— error teknis.
Untuk masing-masing dibuat MaxCode tersendiri dan perangkat diatur sesuai kebutuhan. Pesanan bisa dikirim ke pemilik dan manajer, kejadian keuangan ke petugas terkait, dan error ke tim teknis server.
Sistem perusahaan pada semua kasus melakukan hal yang sama: mengirim isi kejadian dan MaxCode dari proyek terkait.
Jika pegawai, perangkat, atau metode pengiriman berubah, sistem sumber tidak perlu disetel ulang. Pengelolaan tetap di dalam PushMeld.
APNs, FCM, dan HMS tetap di luar program
Untuk pengiriman push di berbagai perangkat, dapat digunakan APNs, FCM, atau HMS. Setiap penyedia memiliki aturan, token, dan fitur teknis sendiri.
Biasanya, perbedaan ini harus diperhitungkan saat mengembangkan sistem pengirim. Dalam PushMeld, perbedaan ini berada di luar MaxCode.
Server rumah, situs, atau skrip tidak harus menentukan perangkat yang digunakan penerima dan jaringan yang harus dilalui pesan. Mereka hanya melakukan satu permintaan, dan PushMeld memilih jalur yang diperlukan.
MaxCode tidak menggantikan infrastruktur Apple, Google, atau Huawei. Ia menciptakan satu pintu masuk tunggal di depannya.
Dengan cara ini, sistem sumber tidak perlu mengikuti perubahan perangkat pengguna. Pesan hari ini bisa lewat FCM, besok lewat APNs, dan proyek berikutnya mendapat perangkat baru atau email berbeda. Program yang mengandung kejadian tidak akan berubah.
MaxCode dan API-KEY biasa — berbeda
API-KEY biasa biasanya hanya mengizinkan akses ke layanan tertentu. Setelah diverifikasi, sistem tetap harus memberi tahu proyek, penerima, dan jalur pengiriman secara terpisah.
MaxCode menggabungkan semua konteks ini ke dalam satu kode.
Ini memungkinkan PushMeld mengenali proyek, memverifikasi permintaan, dan menerapkan pengaturan yang relevan. Program eksternal hanya mengirim MaxCode dan isi kejadian, tanpa mengelola jalur pengiriman.
Perbedaan utama bisa diringkas: API-KEY membuka akses ke fungsi, sementara MaxCode sekaligus menentukan konteks fungsi tersebut harus dijalankan.
Notifikasi sebagai fitur yang bisa diaktifkan
Setelah mengenal PushMeld, saya tidak akan menyebutnya sekadar aplikasi untuk push-notifikasi.
Lebih tepatnya, ini adalah cara menambahkan notifikasi ke tempat yang sebelumnya tidak ada, lalu mengelolanya secara independen dari program sumbernya.
Sumbernya bisa berupa server rumah, sensor, aplikasi lama, toko online, skrip internal, atau sistem perusahaan. Jika mampu melakukan permintaan HTTP sendiri atau lewat adapter kecil, kejadian bisa dikirim ke PushMeld.
Selanjutnya, MaxCode membentuk batas antara kejadian dan pengirimannya. Di satu sisi ada program yang melaporkan apa yang terjadi. Di sisi lain ada PushMeld yang mengidentifikasi proyek, perangkat, saluran, dan jalur teknis.
Karena itu, fitur utama MaxCode bukan hanya mengubah banyak kunci menjadi satu kode. Ia memindahkan pengelolaan notifikasi dari sistem sumber menuju ke luar.
Ponsel bisa diganti, email bisa ditambahkan, perangkat lama bisa dinonaktifkan, dan jalur pengiriman bisa diubah. Program tetap melakukan satu hal yang sama: melaporkan kejadian.
\n ,\n \"seo_title\": \"MaxCode instead of multiple keys: how PushMeld manages notifications\",\n \"seo_description\": \"PushMeld menggunakan MaxCode untuk mempermudah pengiriman notifikasi ke perangkat dan email, memisahkan pengelolaan dari sistem sumber dan memperluas kemungkinan.\",\n \"og_title\": \"Odin MaxCode Ganti Sepuluh Kunci: Bagaimana PushMeld Menambahkan Notifikasi ke Tempat yang Sebelumnya Tidak Ada\",\n \"og_description\": \"Bagaimana MaxCode memindahkan pengelolaan push- dan email-Notifikasi dari situs, server, skrip dan perangkat ke PushMeld.\"\n}"}