DEV Community

Cover image for Jak monitorować i moderować konwersacje za pomocą BizOps Workspace

Jak monitorować i moderować konwersacje za pomocą BizOps Workspace

Ten artykuł instruktażowy jest częścią serii artykułów omawiających możliwości zarządzania danymi PubNub, znane pod wspólną nazwą BizOps Workspace:

BizOps Workspace to zestaw narzędzi, które pomagają zarządzać aplikacją. W tym artykule przyjrzymy się funkcji "Channel Monitor", która umożliwia administratorowi oglądanie podglądu na żywo konwersacji odbywających się w czasie rzeczywistym i podejmowanie działań w celu ręcznego moderowania tej konwersacji, na przykład poprzez wyciszanie lub banowanie użytkowników.

Wymagania wstępne dla funkcji Channel Monitor

Zalecanym przez PubNub sposobem tworzenia aplikacji cz atu jest użycie naszego dedykowanego Chat SDK, który obsługuje Typescript i JavaScript. Chat SDK jest zbudowany na infrastrukturze PubNub, dzięki czemu zyskujesz skalowalność i solidność PubNub przy użyciu API zaprojektowanego dla przypadków użycia czatu, takich jak "konwersacje", "wskaźniki pisania" i "wątkowanie".

Chociaż Channel Monitor może być używany przez wszystkie aplikacje PubNub korzystające z kontekstu aplikacji, te opracowane przy użyciu Chat SDK mają dostęp do dodatkowych funkcji, takich jak możliwość przeglądania i odpowiadania na wątki oraz obserwowania, wyciszania i blokowania użytkowników.

Konfiguracja monitora kanałów

Jeśli korzystasz z dedykowanego zestawu PubNub Chat SDK, struktura wiadomości jest wstępnie zdefiniowana, więc nie musisz się martwić o dodatkową konfigurację Channel Monitor.

Programiści nie korzystający z Chat SDK muszą zdefiniować, w jaki sposób aplikacja strukturyzuje swoje wiadomości i jak aplikacja obsługuje edycję i usuwanie wiadomości. Odbywa się to poprzez konfigurację Channel Monitor.

Wymagania dotyczące zestawu kluczy dla Channel Monitor

Aby korzystać z Channel Monitor, należy również włączyć następujące elementy w swoim zestawie kluczy w portalu administracyjnym PubNub:

  • Kontekstaplikacji- przechowuje metadane o kanałach i użytkownikach. Kontekst aplikacji omówiłem bardziej szczegółowo w moim poprzednim artykule na temat"Zarządzania użytkownikami i kanałami". Aby aplikacja otrzymywała aktualizacje po zmianie danych kontekstu aplikacji, należy włączyć następujące opcje: User Metadata Events, Channel Metadata Events i Membership Events.

  • Trwałość wiadomości- przechowuje historię wiadomości w PubNub, dzięki czemu administrator może przeglądać i edytować konwersacje.

Inne wymagania, takie jak dostępność w oparciu o plan PubNub, można znaleźć w dokumentacji Channel Monitor.

Inne właściwości zestawu kluczy, choć nie są wymagane, są zdecydowanie zalecane, aby uzyskać jak najwięcej korzyści z aplikacji Chat:

  • Access Manager Zapobiega nieautoryzowanemu dostępowi do danych i jest wymagany do stworzenia bezpiecznego rozwiązania moderacji, jak omówiono w dalszej części tego artykułu.

  • Zakładając, że korzystasz z Chat SDK, dokumentacja konfiguracyjna zawiera również listę Presence do śledzenia, czy użytkownik jest online czy offline.

Czym jest monitor kanałów?

Channel Monitor umożliwia moderatorom czatu oglądanie na żywo podglądu konwersacji odbywających się w czasie rzeczywistym na wielu kanałach. Jeśli moderator zauważy coś niepokojącego, na przykład niewłaściwie zachowującego się użytkownika lub obraźliwe wiadomości, może natychmiast podjąć działania w celu złagodzenia problemu.

Moderator ma dużą swobodę w zakresie podejmowanych działań:

  • Obserwować użytkownika bez ograniczania jego praw dostępu(watch)

  • Edytować obraźliwą wiadomość

  • Usunąć obraźliwą wiadomość

  • ograniczyć użytkownikowi możliwość publikowania wiadomości (wyciszyć)

  • ograniczyć użytkownikowi możliwość czytania lub publikowania wiadomości (ban).

Wszystkie możliwości w ramach funkcji "Monitor" są ręczne: Ręczne przeglądanie wiadomości, ręczne wyciszanie użytkowników itp. Automatyczne moderowanie nie zostało omówione w tym artykule.

Monitorowanie kanałów

Nasza dokumentacja "Monitoruj kanały" zawiera instrukcje krok po kroku, jak rozpocząć przeglądanie aktywności kanałów.

Podsumowując:

  1. Zaloguj się do portalu administratora, przejdź do sekcji BizOps Workspace w lewym panelu nawigacyjnym i wybierz Monitor kanałów. Jeśli nie widzisz sekcji BizOps Workspace, prawie na pewno musisz zaktualizować swój plan PubNub, ale w razie jakichkolwiek problemów skontaktuj się z naszym działem pomocy technicznej.

  2. Zostaniesz poproszony o włączenie kontekstu aplikacji na zestawie klawiszy, jeśli jest on obecnie wyłączony.

  3. Wybierz kanały, aby rozpocząć moderację. Jeśli nie widzisz żadnych kanałów lub tylko ich podzbiór, dzieje się tak, ponieważ wyświetlane są tylko kanały z powiązanym z nimi kontekstem kanału. Chat SDK automatycznie utworzy kontekst dla Ciebie lub możesz to zrobić ręcznie za pomocą interfejsu API setChannelMetadata() dostępnego dla wszystkich naszych zestawów SDK.

  4. Możesz wybrać do 5 kanałów do jednoczesnego moderowania.

Wiadomości kanału będą wyświetlane w czasie rzeczywistym, w tym poprzednie wiadomości, jeśli w zestawie kluczy włączono funkcję trwałości.

Aby uzyskać przegląd możliwości widoku monitora, zapoznaj się z dokumentacją"Monitor kanału". W pozostałej części tego artykułu omówimy bardziej szczegółowo moderację wiadomości i użytkowników, odnosząc się do przykładowej implementacji.

Przykładowa aplikacja Chat SDK

Ten sam zapracowany zespół inżynierów odpowiedzialny za rozwój Channel Monitor i Chat SDK stworzył również przykładową aplikację napisaną w React Native, która wykorzystuje Chat SDK.

Próbka pokazuje możliwości SDK, a także najlepsze praktyki tworzenia realistycznej i w pełni funkcjonalnej aplikacji do czatu przy użyciu PubNub. Próbka jest open source i częścią tego samego repozytorium w Github, które zawiera Chat SDK pod /samples/react-native-group-chat.

Ponieważ aplikacja jest autorytatywna, niniejszy artykuł wykorzysta ją do pokazania, w jaki sposób Channel Monitor może być używany z "prawdziwą" aplikacją. Aplikacja jest również hostowana jako część naszego demo Chat SDK for Mobile, dzięki czemu można z niej korzystać bez konieczności instalowania jej zależności (Expo, React Native, emulatory urządzeń).Jeśli chcesz podążać za niektórymi przykładami w tym poradniku, postępuj zgodnie z instrukcjami instalacji w README próbki (w chwili pisania tego tekstu najnowsze zatwierdzenie to 0c12f3f).

Przykładowe awatary aplikacji czatu

Aby uniknąć zależności, awatary używane przez aplikację czatu są osadzone w aplikacji i nie są przechowywane w kontekście aplikacji użytkownika. Oznacza to, że awatar wyświetlany w aplikacji nie będzie odpowiadał awatarowi wyświetlanemu w widoku monitora - jest to ograniczenie aplikacji, a nie PubNub.

Korzystanie z przykładowej aplikacji z Channel Monitor

Poniższe kroki pozwolą ci rozpocząć pracę z przykładową aplikacją i Channel Monitor:

  1. Sklonuj i zbuduj przykładową aplikację, postępując zgodnie z instrukcjami podanymi w pliku readme aplikacji.

  2. Uruchom aplikację na dwóch urządzeniach, aby wyświetlić rozmowę między dwiema osobami. Zrzuty ekranu w tym artykule wykorzystują emulator Androida i iOS.

  3. Zaloguj się do lewego urządzenia, a następnie zaloguj się do prawego urządzenia. Na prawym urządzeniu zainicjuj rozmowę za pomocą pływającego przycisku akcji. Wyślij wiadomość z prawego urządzenia, a pojawi się ona jako nieprzeczytana wiadomość na lewym urządzeniu.

  4. Uruchom monitor kanałów, jak opisano wcześniej. Wybierz odpowiedni kanał, który będzie miał nazwę "1:1 z XXX", gdzie XXX to nazwa, z którą zalogowałeś się na lewym urządzeniu.

  5. Jeśli zobaczysz coś podobnego do poniższego zrzutu ekranu, możesz teraz "Rozpocząć moderację".

Moderowanie wiadomości

Chociaż Channel Monitor może być używany przez wszystkie aplikacje PubNub, które używają kontekstu aplikacji do edycji lub usuwania wiadomości, te opracowane przy użyciu Chat SDK mają dostęp do dodatkowych funkcji, takich jak możliwość obserwowania, wyciszania i blokowania użytkowników.

Edytowanie wiadomości jako moderator

Możesz edytować dowolną wiadomość jako moderator. Spowoduje to aktualizację interfejsu administratora, a także wiadomości wyświetlanej na klientach. Poniższy zrzut ekranu pokazuje wiadomość "Hello" edytowaną na "Hello - edytowane przez moderatora"

Pod przykrywką widok monitora wywołał metodę Chat SDK message edit(). Klient otrzymuje aktualizację automatycznie za pomocą API streamUpdatesOn(). W przykładowej aplikacji można to zobaczyć w Chat.tsx.

Należy pamiętać, że oryginalna wiadomość nie jest usuwana, ale edycja jest przechowywana jako dodatek (akcja) do oryginalnej wiadomości. Aby uzyskać więcej informacji, zobacz dokumentację wiadomości edit ().

Wysyłanie wiadomości jako moderator.

Jako moderator możesz publikować wiadomości na określonym kanale, które otrzymają wszyscy członkowie kanału. Poniższy zrzut ekranu pokazuje wiadomość "Zgadza się, jestem moderatorem" odbieraną przez wszystkich klientów. Pamiętaj, że możesz edytować i usuwać swoje wiadomości jako moderator, ale (oczywiście) nie możesz wyciszyć ani zbanować siebie.

Aby móc uczestniczyć w rozmowie, Channel Monitor utworzył nowego użytkownika z identyfikatorem ustawionym na "PUBNUB_INTERNAL_MODERATOR", który można wyświetlić za pomocą karty Zarządzanie użytkownikami.

Ponieważ przykładowa aplikacja nie obsługuje specjalnie użytkownika "PUBNUB_INTERNAL_MODERATOR", pojawia się on po prostu jako standardowa wiadomość w konwersacji z domyślnym awatarem. Możesz chcieć obsłużyć tę wiadomość moderatora w swojej aplikacji, przypisując jej specjalne znaczenie, na przykład zmieniając kolor tła.

W bardzo podstawowym przykładzie można zmodyfikować logikę, która wyświetla tekst wiadomości i dodać pewne wskazanie, że wiadomość pochodzi na przykład od moderatora:

{messageProps.currentMessage?.originalPnMessage.userId == 
  "PUBNUB_INTERNAL_MODERATOR" ? "MOD: " : ""}
Enter fullscreen mode Exit fullscreen mode

Wtedy interfejs użytkownika wyglądałby tak:

Usuwanie wiadomości jako moderator

Jeśli naciśniesz przycisk "Usuń" obok wiadomości, wiadomość zostanie oznaczona jako usunięta w widoku "Monitor", a klienci zostaną powiadomieni o aktualizacji.

Usunięcie wiadomości jest takie samo jak wywołanie metody Chat SDK"delete()" i bardzo ważne jest, aby pamiętać, że jest to miękkie usunięcie, co oznacza, że wiadomość pozostaje w pamięci i jest tylko oznaczona jako "usunięta". Do klienta należy odczytanie statusu flagi "usuniętej" i podjęcie odpowiednich działań; jak widać, przykładowa aplikacja decyduje się zastąpić tekst wiadomości słowami "(Wiadomość została miękko usunięta)".

Odpowiednia sekcja aplikacji klienckiej znajduje się poniżej lub można ją również znaleźć na Githubie

<Text variant="body">
          {messageProps.currentMessage?.originalPnMessage.deleted
            ? "(Message softly deleted)"
            : messageElements.map((msgPart, index) =>
                renderMessagePart(
                  msgPart,
                  index,
                  messageProps.currentMessage?.originalPnMessage.userId || ""
                )
              )}
        </Text>
Enter fullscreen mode Exit fullscreen mode

Korzystając z nietrwałego miękkiego usuwania, wiadomość może zostać później przywrócona przez moderatora lub innego autoryzowanego użytkownika, jeśli zajdzie taka potrzeba.

Przywracanie wiadomości jako moderator.

Przywracanie wiadomości jest dokładnym przeciwieństwem usuwania wiadomości i jest odpowiednikiem wywołania metody Chat SDK"restore()".

Usunięty tekst wiadomości jest przywracany w widoku "Monitor", a flaga "deleted" nie jest ustawiana na obiekcie wiadomości. Zobacz kod podany powyżej, który obsługuje flagę "deleted" w przykładowej aplikacji, aby przywrócić oryginalny tekst.

Moderowanie użytkowników

Składniki rozwiązania do moderacji

Zanim omówimy sposób, w jaki moderacja działa z Channel Monitor, przyjrzyjmy się różnym komponentom solidnego i dojrzałego rozwiązania moderacyjnego oraz temu, jak mapują się one na to, co jest dostępne w Chat SDK.

Ograniczenie działań, które może wykonywać użytkownik:

Jeśli użytkownik zachował się niewłaściwie, będziesz chciał ograniczyć jego możliwość publikowania postów (wyciszenie) lub ograniczyć jego możliwość interakcji z kimkolwiek innym (ban).

Po stronie serwera potrzebny jest sposób, w jaki moderator może wyciszyć lub zbanować użytkownika, a także sposób, w jaki ten użytkownik może zostać wyciszony lub odbanowany. Musisz także wprowadzić reguły, które zapewnią, że wiadomości nie będą mogły być wysyłane lub odbierane do użytkowników, którzy nie powinni ich otrzymywać - robienie tego na serwerze jest znacznie bezpieczniejsze niż poleganie na moderacji po stronie klienta, którą szkodliwy użytkownik może ominąć.

Chat SDK udostępnia metodę setRestrictions (), która "wycisza" lub "banuje" użytkownika na określonym kanale, a także pozwala zdefiniować "powód banowania". Sam interfejs API setRestrictions() NIE nakłada żadnych ograniczeń na to, co może zrobić klient; po prostu powiadamia rejestrujących, że zastosowano ograniczenie. Zarówno klient, jak i serwer muszą nasłuchiwać zdarzeń "moderacji" za pomocą metody listenForEvents() zestawu Chat SDK.

Nasłuchiwanie zmian w ograniczeniach użytkownika:

Gdy uprawnienia użytkownika ulegną zmianie, ważne jest, aby zmiany te zostały natychmiast zastosowane i odzwierciedlone w całym rozwiązaniu. Gdy użytkownik zostanie zbanowany (na przykład przez moderatora korzystającego z interfejsu internetowego), aplikacja kliencka użytkownika wyświetli komunikat informujący, że użytkownik został zbanowany. Każda próba obejścia zakazu przez użytkownika, na przykład poprzez "zhakowanie" aplikacji klienckiej w celu ominięcia kontroli po stronie klienta, powinna natychmiast zakończyć się niepowodzeniem z powodu dodatkowych kontroli po stronie serwera.

Metoda listenForEvents() Chat SDK powiadomi każdą zainteresowaną stronę, że uprawnienia użytkownika w określonym kanale zostały zaktualizowane. Klient powinien nasłuchiwać tych zmian, aby zaktualizować doświadczenie użytkownika i zażądać nowego tokena dostępu od serwera. Na serwerze każdy poprzedni token dostępu powinien zostać unieważniony za pomocą funkcji revokeToken(), a nowy token powinien zostać wygenerowany ze zaktualizowanymi regułami dostępu za pomocą funkcji grantToken().

Zapytanie o obowiązujące ograniczenia:

Musisz być w stanie zapytać, jakie ograniczenia obowiązują dla użytkowników w Twoim rozwiązaniu. Jeśli tworzysz pulpit moderacji, który działa na serwerze, musisz być w stanie zapytać, czy użytkownik jest już obsadzony lub wyciszony, aby wyświetlić ten stan moderatorowi.

Po stronie klienta potrzebna jest możliwość zapytania, czy odbiorca wiadomości jest wyciszony lub zbanowany, aby aplikacja mogła ostrzec użytkownika, że jego wiadomość nie zostanie odebrana i nie może zostać wysłana.

Chat SDK udostępnia rodzinę interfejsów API do pobierania bieżących ograniczeń: getChannelRestrictions() i getUserRestrictions(), które działają na użytkownika, oraz getUsersRestrictions(), który działa na kanał.

Zgłaszanie wiadomości lub użytkowników za nieodpowiednie treści:

Aby zapewnić bezpieczne i przyjemne doświadczenie czatu dla wszystkich użytkowników, powinni oni czuć się uprawnieni do zgłaszania problematycznych użytkowników lub wiadomości do moderatora w celu sprawdzenia i podjęcia działań.

Po stronie klienta aplikacja czatu będzie potrzebować sposobu, aby użytkownik mógł oznaczyć wiadomość jako problematyczną i dostarczyć opcjonalną dodatkową informację zwrotną. Chat SDK udostępnia w tym celu metody message.report ( ) i user.report( ), które klient powinien wywołać.

Po stronie serwera należy odsłuchać te raporty wiadomości i wyświetlić je administratorowi, aby mógł on podjąć działania. Może on zdecydować się na edycję/usunięcie samej wiadomości lub, jeśli problem będzie się powtarzał, wykonać pewne działania na użytkowniku, takie jak wyciszenie lub zbanowanie go. Chat SDK udostępnia metodę listenForEvents () do odbierania zgłoszonych wiadomości, zwykle obsługiwanych przez serwer.

Gdzie Channel Monitor pasuje do tej architektury moderacji?

Channel Monitor zapewnia pulpit nawigacyjny do wyciszania lub banowania użytkowników na podstawie ręcznego przeglądu wysyłanych przez nich wiadomości. Pulpit nawigacyjny zajmie się wywołaniem funkcji setRestrictions() za Ciebie i zawsze przedstawi Ci najnowsze informacje o tym, którzy z Twoich użytkowników są zbanowani w każdym kanale.

Tobie, jako deweloperowi, pozostaje zintegrowanie tych żądań banowania i wyciszania z szerszą architekturą aplikacji. W szczególności, jako klient PubNub, który wdrożył aplikację produkcyjną, używasz już PubNub Access Managera do kontrolowania dostępu do swoich danych, zapewniając, że użytkownicy mają dostęp tylko do RW, którego potrzebują dla każdego kanału. W oparciu o aktualizacje "mute" i "ban" otrzymane z listenForEvents(), wywołaj istniejący komponent serwera Access Manager, aby cofnąć i przyznać nowe tokeny dostępu dla danego użytkownika.

Należy również upewnić się, że aplikacja kliencka podejmuje odpowiednie kroki w oparciu o aktualizacje otrzymane z funkcji listenForEvents( ) lub rodziny interfejsów API getXRestrictions(). Nie zezwalaj użytkownikowi na wysyłanie wiadomości do zbanowanego użytkownika, ponieważ nigdy nie zostaną one odebrane.

Wyciszanie i blokowanie użytkowników: Demo przy użyciu przykładowej aplikacji

Jak wyjaśniono w poprzedniej sekcji, Channel Monitor jest jednym z elementów solidnego rozwiązania do moderacji.

Ten artykuł pokaże, w jaki sposób można podjąć działanie na kliencie, gdy użytkownik zostanie wyciszony lub zablokowany na pulpicie nawigacyjnym, chociaż aplikacja produkcyjna będzie również zawierać logikę serwera, która integruje się z menedżerem dostępu PubNub.

Domyślna przykładowa aplikacja nie implementuje funkcji listenForEvents() dla API, więc musimy wprowadzić niewielką zmianę.

W HomeScreen.tsx dodaj import TimetokenUtils i Alert, jak pokazano:

import { Channel, Membership, TimetokenUtils } from "@pubnub/chat"
import { StyleSheet, ScrollView, TouchableHighlight, TouchableOpacity, Alert } from "react-native"
Enter fullscreen mode Exit fullscreen mode

Następnie, w tym samym useEffect, w którym zdefiniowany jest listener" invite", zdefiniuj drugi listener, aby wyświetlić zdarzenie "moderation" jako alert, jak poniżej:

const removeModerationListener = chat.listenForEvents({
  channel: chat.currentUser.id,
  type: "moderation",
  callback: async (event: Event<"moderation">) => {
    Alert.alert(
      "Restriction: " + event.payload.restriction,
      `Reason (bans only): ${
        event.payload.reason == null ? "" : event.payload.reason
      }\nChannel Id: ${event.channelId}\nBy: ${
        event.userId
      }\nTime: ${TimetokenUtils.timetokenToDate(event.timetoken).toLocaleString([], {
        weekday: "short",
        month: "short",
        day: "numeric",
        hour: "numeric",
        minute: "numeric",
      })}`,
      [{ text: "OK" }]
    )
  },
})
Enter fullscreen mode Exit fullscreen mode

Chociaż jest to dalekie od kodu produkcyjnego, przynajmniej pokaże, że otrzymano zdarzenie moderacji.

Wyciszanie użytkowników w kanale

Po zmodyfikowaniu kodu działającego na obu urządzeniach, wyciszenie użytkownika test-user-607 wywoła zdarzenie "moderacja", jak pokazano poniżej:

Format zdarzenia moderacji jest podany w types.ts; w szczególności ModerationEventPayload będzie "wyciszony".

Należy zauważyć, że nie podano powodu wyciszenia użytkownika, ponieważ to pole dotyczy tylko banów.

Banowanie użytkowników z kanału

Zbanowanie użytkownika z kanału jest bardzo podobne do jego wyciszenia. Pulpit nawigacyjny poprosi administratora o podanie powodu bana, a powyższy zrzut ekranu pokazuje, że użytkownik test-935 właśnie otrzymał bana z powodem "Testowanie funkcji bana".

Podobnie jak w przypadku wyciszenia, format zdarzenia moderacji jest podany w types.ts, a ModerationEventPayload będzie "zbanowany".

Zniesienie wyciszenia lub bana użytkownika

Zniesienie bana lub wyciszenia spowoduje to samo zdarzenie, "zniesione". Powyższy zrzut ekranu pokazuje wynik zniesienia ograniczeń zarówno dla użytkownika test-user-607, jak i użytkownika test-user-935. Jak wspomniano wcześniej, format zdarzenia moderacji jest podany w types .ts.

Podsumowanie

Opracowanie dowolnej aplikacji cz atu to tylko pierwszy krok, a najtrudniejsze wyzwania pojawiają się po wdrożeniu tej aplikacji w celu obsługi rosnącej bazy użytkowników. BizOps Workspace to zestaw narzędzi zaprojektowanych do zarządzania każdym aspektem aplikacji czatu, upraszczając wyzwania po uruchomieniu.

Chociaż ten artykuł koncentruje się na Channel Monitor, nadal rozszerzamy funkcje BizOps Workspace. Ten artykuł koncentruje się również wyłącznie na Chat SDK - w chwili pisania tego artykułu ten SDK obsługuje pełny zestaw funkcji Channel Monitor, ale wypatruj przyszłych ogłoszeń dotyczących dodatkowej obsługi SDK.

Jeśli potrzebujesz pomocy lub wsparcia, skontaktuj się z naszym dedykowanym zespołem wsparcia lub napisz do naszego zespołu ds. relacji z programistami na adres devrel@pubnub.com.

Jak PubNub może ci pomóc?

Ten artykuł został pierwotnie opublikowany na PubNub.com

Nasza platforma pomaga programistom tworzyć, dostarczać i zarządzać interaktywnością w czasie rzeczywistym dla aplikacji internetowych, aplikacji mobilnych i urządzeń IoT.

Podstawą naszej platformy jest największa w branży i najbardziej skalowalna sieć komunikacyjna w czasie rzeczywistym. Dzięki ponad 15 punktom obecności na całym świecie obsługującym 800 milionów aktywnych użytkowników miesięcznie i niezawodności na poziomie 99,999%, nigdy nie będziesz musiał martwić się o przestoje, limity współbieżności lub jakiekolwiek opóźnienia spowodowane skokami ruchu.

Poznaj PubNub

Sprawdź Live Tour, aby zrozumieć podstawowe koncepcje każdej aplikacji opartej na PubNub w mniej niż 5 minut.

Rozpocznij konfigurację

Załóż konto PubNub, aby uzyskać natychmiastowy i bezpłatny dostęp do kluczy PubNub.

Rozpocznij

Dokumenty PubNub pozwolą Ci rozpocząć pracę, niezależnie od przypadku użycia lub zestawu SDK.

Top comments (0)