Sign inGet started

Events naar een member sturen

Stuur persoonlijke events, zoals orderupdates, meldingen over gedeelde documenten of saldowijzigingen, rechtstreeks naar een member. Je hoeft niet voor elke persoon een channel aan te maken.
Deze gids legt uit hoe je member-events ontvangt, ze vanaf je server verstuurt en kiest tussen member-events en private channels.

Voordat je begint

De verbinding moet ingelogd zijn met een member-identiteit. Zie Geautoriseerde verbindingen vereisen voor signin() en het autorisatie-endpoint.

Events ontvangen in je app

Nadat signin() slaagt, bind je de eventnaam op bird.member. Gebruik dezelfde naam die je server verstuurt als event. Member-events vereisen geen channelsubscriptie.
import { BirdRealtime } from "@messagebird/realtime";

const bird = new BirdRealtime({
  appKey: "your-app-key",
  region: "us1",
  memberAuthEndpoint: "/bird/auth/member",
});

await bird.signin();

bird.member.bind("order.shipped", (data) => {
  showToast(`Order ${data.order_id} is on its way`);
});
De client behoudt de binding, logt na herverbinding opnieuw in en hervat dan de bezorging van member-events.
signin() is asynchroon in alle drie de clients. In de browser retourneert het een promise, in Swift gebruikt het async en in Kotlin suspendt het. Roep het aan vanuit de juiste asynchrone context. Eén aanroep activeert automatisch inloggen na latere herverbindingen.

Een event versturen vanaf je server

Roep members.send aan met de app-ID, member-ID en het event:
await bird.realtime.members.send("rap_01krdgeqcxet5s7t44vh8rt9mg", "u_42", {
  event: "order.shipped",
  data: { order_id: "ord_123" },
});
u_42 is de member_id die door je autorisatie-endpoint is ondertekend. Gebruik de bestaande identifier van je systeem als deze voldoet aan de member-ID-vereisten.

Wie het event ontvangt

  • Elke verbinding die dat member heeft, over al diens tabbladen en apparaten. Eén aanroep, ongeacht het aantal verbindingen.
  • Niemand anders, zelfs niet als de app van een ander member dezelfde eventnaam bindt.
  • Niets als het member geen actieve verbindingen heeft. De aanroep slaagt alsnog, omdat bezorging niet in een wachtrij wordt geplaatst en aanwezigheid niet kan bevestigen. Sla duurzame meldingen op en laad ze wanneer het member terugkeert.

Member of private channel

Gebruik een member-eventGebruik een private channel
De ontvanger is de bestemming: persoonlijke meldingen, accountwijzigingenDe bestemming is een gedeeld object dat meerdere mensen volgen: een document, een order, een ruimte
Geen channel om te benoemen of te autoriserenJe benoemt het channel en autoriseert elke subscriptie
Geen presence, verbindingsaantallen of client-eventsPresence, verbindingsaantallen en client-events zijn beschikbaar

Volgende stappen

Gerelateerde bronnen

Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.

Probeer de oefening en ontvang een implementatieoverzicht