Kanały publiczne
Kanał Realtime jest publiczny, chyba że jego nazwa zaczyna się od private- lub presence-. Klient potrzebuje tylko publicznego klucza aplikacji, aby zasubskrybować, więc traktuj kanał jako czytelny dla każdego, kto ma ten klucz.
const orders = bird.subscribe("orders");
orders.bind("order-updated", (data) => {
console.log(data);
});let orders = bird.subscribe("orders")
orders.bind("order-updated") { data in
print(data ?? "")
}val orders = bird.subscribe("orders")
orders.bind("order-updated") { data ->
println(data)
}Kanały publiczne nie wymagają rejestracji ani endpointu autoryzacji. Kanał istnieje, dopóki co najmniej jedno połączenie jest zasubskrybowane, i znika, gdy ostatnie połączenie się rozłączy.
Kiedy używać kanału publicznego
Używaj kanałów publicznych do danych, które może odczytać każdy odwiedzający, takich jak wyniki buildów, wyniki na żywo, informacje o lotach, liczniki wyświetleń czy incydenty na stronie statusu.
Używaj kanału prywatnego do danych przypisanych do użytkownika, konta lub tenanta. Subskrypcje kanałów publicznych nie wymagają autoryzacji, więc klient może wypróbować dowolną nazwę kanału, którą jest w stanie odgadnąć lub skonstruować.
Ograniczenia kanałów publicznych
- Tożsamość członków: Kanały publiczne nie śledzą członków ani nie udostępniają listy członków. Zdarzenia bird:member_added i bird:member_removed należą do kanałów obecności.
- Zdarzenia klienta: Kanały publiczne odrzucają zdarzenia, których nazwy zaczynają się od client-. Używaj autoryzowanego kanału prywatnego lub kanału obecności do zdarzeń inicjowanych przez klienta.
Liczniki połączeń
Zliczanie połączeń działa na każdym typie kanału. Włącz Connection counting i Connection count events, aby otrzymywać bird:connection_count z liczbą zasubskrybowanych połączeń.
Nazewnictwo
Nazwy kanałów rozróżniają wielkość liter i mogą zawierać do 164 liter, cyfr oraz następujące znaki: _ - = @ , . ;. Na przykład Orders i orders wskazują różne kanały.
Nie umieszczaj wrażliwych danych ani danych identyfikujących klienta w nazwach kanałów publicznych. orders nie ujawnia żadnych informacji o kliencie. orders-user-4821 ujawnia istnienie użytkownika 4821 każdemu, kto ma dostęp do aplikacji.
Następne kroki
- Kanały prywatne ograniczają subskrypcje do klientów zatwierdzonych przez Twój backend.
- Publikowanie zdarzeń wyjaśnia, jak publikować z serwera i rozgłaszać do wielu kanałów.
- Przegląd Realtime definiuje kanały, członków i połączenia.
Powiązane zasoby
Przejdź do dokumentacji, przewodników i przykładów dotyczących tego tematu.