Sign inGet started

Mengecualikan penerima event

Jika klien menerapkan perubahan secara optimistis sebelum server Anda menerbitkannya, menerima event yang sama dapat menerapkan perubahan itu dua kali. Ini dapat menyebabkan kedipan atau item duplikat.
Kirimkan connection ID klien yang melakukan aksi untuk mengirim event ke setiap koneksi berlangganan lainnya.
await bird.realtime.publish(appId, {
  event: "message.created",
  channels: ["presence-room-1"],
  data: { body: "hello" },
  exclude_connection_id: "26896.319537",
});

Mendapatkan connection ID

Klien membaca connection ID-nya dan mengirimkannya bersama permintaan yang memicu perubahan:
const bird = new BirdRealtime({ appKey: "your-app-key", region: "us1" });

await fetch("/messages", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    body: "hello",
    connection_id: bird.connection.connectionId,
  }),
});
ID bernilai null hingga koneksi terbentuk dan berubah setelah koneksi ulang. Baca bird.connection.connectionId di browser atau bird.connectionId di Swift dan Kotlin saat Anda membuat permintaan.
Kirimkan nilainya ke exclude_connection_id setelah memvalidasinya sebagai data permintaan yang tidak tepercaya. Field ini dapat menekan pengiriman ke satu koneksi tetapi tidak dapat memberikan akses ke suatu event.

Perilaku koneksi yang dikecualikan

Hanya koneksi yang disebutkan yang dikecualikan. Tab lain milik orang yang sama menggunakan koneksi terpisah dan tetap menerima event.
Mengecualikan connection ID yang tidak berlangganan, atau sudah tidak ada, bukan merupakan kesalahan. Publish tetap dikirim secara normal ke semua koneksi lainnya.

Kapan tidak menggunakan pengecualian

Gunakan pengecualian untuk antarmuka optimistis. Jika klien menunggu event sebelum menerapkan perubahan, jangan kecualikan klien tersebut. Jika tidak, tab yang melakukan aksi akan tetap usang.

Langkah selanjutnya

Sumber daya terkait

Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.

Coba praktiknya dan dapatkan ringkasan implementasi