Sign inGet started

Wysyłanie zdarzeń do członka

Wysyłaj osobiste zdarzenia, takie jak aktualizacje zamówień, powiadomienia o udostępnionych dokumentach czy zmiany salda, bezpośrednio do członka. Nie musisz tworzyć kanału dla każdej osoby.
Ten przewodnik wyjaśnia, jak odbierać zdarzenia członka, wysyłać je z serwera i wybierać między zdarzeniami członka a kanałami prywatnymi.

Zanim zaczniesz

Połączenie musi być zalogowane z tożsamością członka. Zobacz Wymaganie autoryzowanych połączeń, aby poznać signin() i jego endpoint autoryzacji.

Odbieranie zdarzeń w aplikacji

Gdy signin() zakończy się powodzeniem, powiąż nazwę zdarzenia z bird.member. Użyj tej samej nazwy, którą serwer wysyła jako event. Zdarzenia członka nie wymagają subskrypcji kanału.
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`);
});
Klient zachowuje powiązanie, loguje się ponownie po reconnekcie, a następnie wznawia dostarczanie zdarzeń członka.
signin() jest asynchroniczne we wszystkich trzech klientach. W przeglądarce zwraca promise, w Swift używa async, a w Kotlinie zawiesza korutynę. Wywołuj je z odpowiedniego kontekstu asynchronicznego. Jedno wywołanie aktywuje automatyczne logowanie po kolejnych reconnektach.

Wysyłanie zdarzenia z serwera

Wywołaj members.send z identyfikatorem aplikacji, identyfikatorem członka i zdarzeniem:
await bird.realtime.members.send("rap_01krdgeqcxet5s7t44vh8rt9mg", "u_42", {
  event: "order.shipped",
  data: { order_id: "ord_123" },
});
u_42 to member_id podpisany przez Twój endpoint autoryzacji. Użyj istniejącego identyfikatora ze swojego systemu, jeśli spełnia wymagania dotyczące identyfikatora członka.

Kto otrzymuje zdarzenie

  • Każde połączenie, które ten członek utrzymuje, na wszystkich kartach i urządzeniach. Jedno wywołanie, bez względu na liczbę połączeń.
  • Nikt inny, nawet jeśli aplikacja innego członka powiąże tę samą nazwę zdarzenia.
  • Nic, jeśli członek nie ma aktywnych połączeń. Wywołanie i tak kończy się powodzeniem, ponieważ dostarczanie nie jest kolejkowane i nie można potwierdzić obecności. Zapisuj trwałe powiadomienia i ładuj je, gdy członek wróci.

Zdarzenie członka czy kanał prywatny

Użyj zdarzenia członkaUżyj kanału prywatnego
Odbiorca jest celem: osobiste powiadomienia, zmiany kontaCelem jest współdzielony zasób obserwowany przez kilka osób: dokument, zamówienie, pokój
Nie trzeba nazywać ani autoryzować kanałuNazywasz kanał i autoryzujesz każdą subskrypcję
Brak obecności, liczników połączeń i zdarzeń klientaObecność, liczniki połączeń i zdarzenia klienta są dostępne

Następne kroki

Powiązane zasoby

Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.

Wypróbuj ćwiczenie i uzyskaj brief wdrożeniowy