iOS Small Talks: PubNub, czyli sposób na komunikację w czasie rzeczywistym

iOS Small Talks: PubNub, czyli sposób na komunikację w czasie rzeczywistym

Z aplikacjami działającymi w czasie rzeczywistym spotykamy się na każdym kroku. Pierwszy lepszy czat czy gra wykorzystuje taką technologię. Stworzenie komunikacji, opartej o założenie, że to co dzieje się w rzeczywistości powinno być niezwłocznie odzwierciedlone w aplikacji, nie jest niestety łatwe ani tanie. Dla niewielkich aplikacji wcale nie musimy jednak wydawać ogromnych pieniędzy na dedykowaną infrastrukturę. Z pomocą przychodzi PubNub.

Jak korzystać z PubNuba?

Na stronie PubNuba wyczytamy, że wysłanie wiadomości pomiędzy dwoma dowolnymi urządzeniami na ziemi trwa krócej niż ¼ sekundy. Sprawdźmy. Przygotowałem krótkie demo, pokazujące prostą integrację PubNub z naszą aplikacją.

Aby przetestować PubNub, nie musimy zakładać konta. Na potrzeby przykładu skorzystałem z udostępnionej konsoli. Dostępna jest ona pod linkiem: https://www.pubnub.com/console/.

Żeby zacząć publikować i odbierać wiadomości, musimy zainicjować instancję klasy PubNub używając naszych testowych kluczy.

PNConfiguration *configuration = [PNConfiguration configurationWithPublishKey:@"holdapp_demo" subscribeKey:@"holdapp_demo"];
self.client = [PubNub clientWithConfiguration:configuration];
[self.client addListener:self];

gdzie:

PNConfiguration *configuration = [PNConfiguration configurationWithPublishKey:@"holdapp_demo" subscribeKey:@"holdapp_demo"];
self.client = [PubNub clientWithConfiguration:configuration];
[self.client addListener:self];

Aby móc odbierać wiadomości przychodzące na dany kanał, musimy go zasubskrybować.

[self.client subscribeToChannels: @[@”holdapp_test_channel”] withPresence:YES];

Teraz już możemy przejść do wysyłania wiadomości. Wiadomością może być każdy poprawny JSON o maksymalnej wielkości 32Kb.

NSString *message = [NSString stringWithFormat: @"Message:%@" ,self.messageTextField.text];
[self.client publish: @{@"message": message} toChannel:@”holdapp_test_channel” withCompletion:^(PNPublishStatus *status) {}];

Odbieranie wiadomości możliwe jest po zaimplementowaniu metod protokołu PNObjectEventListener, co przedstawiłem w przykładowym projekcie.

Cały proces publikowania i odbierania wiadomości jest bardzo prosty.

Nie musimy tworzyć konkretnego kanału. Wysłanie wiadomości na dany kanał to wszystko, co musimy zrobić. Wszystkie urządzenia, które zasubskrybowały konkretny kanał otrzymają naszą wiadomość.

Oprócz podstawowego publikowania i odbierania wiadomości, mamy dostęp do wielu inny ciekawych rzeczy, takich jak:

  • śledzenie statusu online konkretnych użytkowników,
  • dostęp do historii publikowanych wiadomości,
  • Access Manager, zapewniający bezpieczeństwo wymiany danych,
  • wysyłanie notyfikacji push,
  • Stream Controller, dający możliwość zarządzania tysiącami kanałów,
  • Analytics.

PubNub udostępnia SDK na kilkadziesiąt platform, w tym na iOS oraz Android. Dla zainteresowanych stworzeniem aplikacji opublikowana została seria tutoriali, nazwanych University of PubNub. Będą one przydatne zarówno dla początkujących deweloperów, jak i tych chcących zbudować zaawansowaną aplikację.

Zaletą PubNub jest to, że jeśli nasza aplikacja nie przekracza 100 użytkowników dziennie lub 100 milionów wysyłanych wiadomości miesięcznie, mamy dostęp do wszystkich dodatków za darmo. Niestety ten warunek spełniają tylko niewielkie aplikacje i potem wiąże się to już z konkretnymi kosztami.

 

Integracja PubNub z naszą aplikacją jest banalnie prosta. W kilku liniach kodu możemy wysyłać i odbierać wiadomości w czasie rzeczywistym, a sam proces komunikacji odbywa się błyskawicznie. Jeśli chcesz spróbować stworzenia aplikacji działającej w czasie rzeczywistym, PubNub jest warty rozważenia.

Dowiedz się więcej

Wycena projektu

Opowiedz nam o swoim projekcie i napisz, jak możemy Ci pomóc.

Dlaczego warto rozwijać z nami projekty?

Logo Mobile Trends Awards

Mobile Trends Awards 2021

Wygrana w kategorii
ŻYCIE CODZIENNE

Nagroda Legalnych Bukmacherów

Nagroda Legalnych Bukmacherów 2019

Najlepsza aplikacja mobilna

Mobile Trends Awards logo

Mobile Trends Awards 2023

Wygrana w kategorii
MCOMMERCE ROZWÓJ

23

opinie klientów

Clutch logo