Co to jest usługa Azure Notification Hubs?
Usługa Azure Notification Hubs udostępnia łatwy w użyciu i skalowalny aparat wypychania, który umożliwia wysyłanie powiadomień do dowolnej platformy (iOS, Android, Windows itp.) z dowolnego zaplecza (chmury lub środowiska lokalnego). Usługa Notification Hubs działa świetnie w scenariuszach przeznaczonych dla firm i użytkowników. Poniżej przedstawiono kilka przykładowych scenariuszy:
- Wysyłanie powiadomień o najważniejszych wiadomościach do milionów osób z małym opóźnieniem.
- Wysyłanie kuponów opartych na lokalizacji do segmentów zainteresowanych użytkowników.
- Wysyłanie powiadomień o zdarzeniach do użytkowników lub grup dla aplikacji związanych z mediami, sportem i finansami oraz gier.
- Wypychanie promocyjnej zawartości do aplikacji w celu zaangażowania klientów i wprowadzania aplikacji na rynek.
- Powiadamianie użytkowników o zdarzeniach przedsiębiorstwa, takich jak nowe komunikaty i elementy robocze.
- Wysyłanie kodów uwierzytelniania wieloskładnikowego.
Uwaga
Aby uzyskać informacje na temat wycofywania i migracji usługi Firebase Cloud Messaging, zobacz Migracja usługi Google Firebase Cloud Messaging.
Co to są powiadomienia push?
Powiadomienia wypychane to forma komunikacji między aplikacjami, w której użytkownicy aplikacji mobilnych są powiadamiani o pewnych żądanych informacjach, zwykle w oknie podręcznym lub oknie dialogowym na urządzeniu przenośnym. Użytkownicy zazwyczaj wybierają wyświetlanie lub odrzucanie komunikatu; Wybranie poprzedniego powoduje otwarcie aplikacji mobilnej, która powiadomiła powiadomienie. Niektóre powiadomienia są dyskretne — dostarczane w tle, aby aplikacja przetwarzała i decydowała, co zrobić.
Powiadomienia push są istotne w przypadku aplikacji użytkowników, ponieważ powodują zwiększenie zaangażowania i użycia aplikacji, a w przypadku aplikacji dla przedsiębiorstw, ponieważ są używane podczas codziennej komunikacji obejmującej informacje biznesowe. Jest to najlepsza komunikacja między aplikacjami, ponieważ jest wydajna energetycznie dla urządzeń przenośnych, elastyczna dla nadawców powiadomień i dostępna, gdy odpowiednie aplikacje nie są aktywne.
Uwaga
Usługa Azure Notification Hubs nie obsługuje oficjalnie powiadomień wypychanych protokołu Voice Over Internet Protocol (VOIP); W tym artykule opisano jednak sposób używania powiadomień VOIP usługi APNS za pośrednictwem usługi Azure Notification Hubs.
Aby uzyskać więcej informacji o powiadomieniach push dla kilku popularnych platform, zobacz następujące tematy:
Jak działają powiadomienia wypychane?
Powiadomienia push są dostarczane przy użyciu infrastruktur poszczególnych platform nazywanych systemami powiadomień platformy (PNS, Platform Notification System). Oferują one podstawowe funkcje wypychania, aby dostarczać komunikat do urządzenia z podanym uchwytem i nie mają wspólnego interfejsu. Aby wysłać powiadomienie do wszystkich klientów w systemach Android, iOS i Windows w wersji aplikacji, deweloper musi pracować oddzielnie z usługą Apple Push Notification Service (APNS), Firebase Cloud Messaging (FCM) i Usługą powiadomień systemu Windows (WNS).
Poniżej przedstawiono sposób działania na wysokim poziomie:
- Aplikacja chce otrzymywać powiadomienie, dlatego kontaktuje się z usługą PNS dla platformy docelowej, na której działa aplikacja, i żąda unikatowej i tymczasowej obsługi wypychania. Typ uchwytu zależy od systemu (na przykład usługa WNS używa identyfikatorów URI, podczas gdy usługa APNS używa tokenów).
- Aplikacja kliencka przechowuje ten uchwyt w zapleczu aplikacji lub dostawcy.
- Aby wysłać powiadomienie wypychane, zaplecze aplikacji kontaktuje się z systemem powiadomień przy użyciu dojścia do określonej aplikacji klienckiej.
- System powiadomień platformy przekazuje następnie powiadomienie do urządzenia określonego przez dojście.
Wyzwania związane z powiadomieniami push
Systemy powiadomień platformy to zaawansowane rozwiązania. Deweloper aplikacji musi jednak wykonać dużo pracy, aby zaimplementować nawet typowe scenariusze dotyczące powiadomień push, takie jak emitowanie powiadomień push do segmentów użytkowników.
Wysyłanie powiadomień wypychanych wymaga złożonej infrastruktury niepowiązanej z główną logiką biznesową aplikacji. Oto niektóre wyzwania związane z infrastrukturą:
-
Zależności dotyczące platformy
- Zaplecze wymaga złożonej i trudnej do utrzymania logiki zależnej od platformy do wysyłania powiadomień do urządzeń na różnych platformach, ponieważ systemy POWIADOMIEŃ nie są ujednolicone.
-
Skalowanie
- Zgodnie z wytycznymi pnS tokeny urządzeń muszą być odświeżane przy każdym uruchomieniu aplikacji. Zaplecze zajmuje się dużą ilością ruchu i dostępu do bazy danych tylko w celu zapewnienia aktualności tokenów. Gdy liczba urządzeń rośnie do setek, tysięcy lub milionów, koszt tworzenia i konserwacji tej infrastruktury jest ogromny.
- Większość systemów powiadomień platformy nie obsługuje emisji do wielu urządzeń. Prosta emisja do milionów urządzeń powoduje miliony wywołań systemów powiadomień platformy. Skalowanie tej ilości ruchu sieciowego z minimalnym opóźnieniem to poważne zadanie.
-
Routing
- Chociaż systemy powiadomień zapewniają sposób wysyłania komunikatów do urządzeń, większość powiadomień aplikacji jest przeznaczona dla użytkowników lub grup zainteresowań. Zaplecze musi obsługiwać rejestr, aby skojarzyć urządzenia z grupami zainteresowań, użytkownikami, właściwościami itp. To obciążenie zwiększa czas obrotu i kosztów konserwacji aplikacji.
Dlaczego warto korzystać z usługi Azure Notification Hubs?
Usługa Notification Hubs eliminuje wszystkie złożoności związane z wysyłaniem powiadomień wypychanych samodzielnie z zaplecza aplikacji. Jej międzyplatformowa, skalowana w poziomie infrastruktura powiadomień push zmniejsza ilość kodowania i upraszcza zaplecze. Dzięki usłudze Notification Hubs urządzenia są odpowiedzialne jedynie za rejestrację swoich dojść systemu powiadomień platformy w centrum, a zaplecze wysyła komunikaty do użytkowników lub grup zainteresowań, jak przedstawiono na poniższym rysunku:
Usługa Notification Hubs to gotowy do użycia aparat wypychania z następującymi zaletami:
-
Obsługa wielu platform
- Obsługa wszystkich głównych platform wypychanych.
- Wspólny interfejs wypychania do wszystkich platform w formatach specyficznych dla platformy lub niezależnych od platformy bez zadań specyficznych dla platformy.
- Zarządzanie dojściami urządzeń w jednym miejscu.
-
Obsługa wielu zapleczy
- Chmura lub lokalna.
- .NET, Node.js, Java, Python itp.
-
Rozbudowany zestaw wzorców dostarczania
- Emisja do co najmniej jednej platformy: możesz natychmiast rozgłaszać miliony urządzeń na różnych platformach za pomocą jednego wywołania interfejsu API.
- Wypychanie do urządzenia: można kierować powiadomienia do poszczególnych urządzeń.
- Wypychanie do użytkownika: tagi i szablony ułatwiają dostęp do wszystkich urządzeń międzyplatformowych dla użytkownika.
- Wypychanie do segmentu przy użyciu tagów dynamicznych: funkcja tagów ułatwia segmentowanie urządzeń i wypychanie do nich zgodnie z potrzebami, niezależnie od tego, czy wysyłasz do jednego segmentu, czy do wyrażenia segmentów (na przykład aktywne i mieszka w Seattle NIE nowy użytkownik). Zamiast ograniczać się do publikowania-subskrybowania, można aktualizować tagi urządzeń w dowolnym miejscu i czasie.
- Zlokalizowane wypychanie: funkcja szablonów pomaga osiągnąć lokalizację bez wpływu na kod zaplecza.
- Wypychanie dyskretne: można włączyć wzorzec wypychania i ściągania, wysyłając dyskretne powiadomienia do urządzeń i wyzwalając je w celu zakończenia wybranych operacji ściągnięcia lub akcji.
- Zaplanowane wypychanie: możesz zaplanować wysyłanie powiadomień w dowolnym momencie.
- Wypychania bezpośrednie: można pominąć rejestrowanie urządzeń w usłudze Notification Hubs i bezpośrednio wypchnąć partię do listy dojść urządzeń.
- Spersonalizowane wypychanie: zmienne wypychania urządzenia ułatwiają wysyłanie spersonalizowanych powiadomień wypychanych specyficznych dla urządzenia z dostosowanymi parami klucz-wartość.
-
Skalowalność
- Wysyłaj szybkie komunikaty do milionów urządzeń bez ponownego tworzenia architektury ani fragmentowania urządzeń.
-
Bezpieczeństwo
- Uwierzytelnianie przy użyciu wpisu tajnego dostępu współdzielonego (SAS, Shared Access Secret) lub uwierzytelnianie federacyjne.
Następne kroki
Rozpocznij tworzenie centrum powiadomień i korzystanie z niego, wykonując kroki opisane w temacie Samouczek: wypychanie powiadomień do aplikacji mobilnych.