Wysyłanie powiadomień wypychanych za pomocą usługi Azure Notification Hubs: często zadawane pytania

Ogólne

Jaka jest struktura zasobów usługi Notification Hubs?

Usługa Azure Notification Hubs ma dwa poziomy zasobów: centra i przestrzenie nazw. Koncentrator to pojedynczy zasób wypychania, który może przechowywać międzyplatformowe informacje wypychane jednej aplikacji. Przestrzeń nazw to kolekcja centrów w jednym regionie. Zalecane mapowanie odpowiada jednej przestrzeni nazw z jedną aplikacją. W przestrzeni nazw możesz mieć centrum produkcyjne, które współpracuje z aplikacją produkcyjną, centrum testowania, które współpracuje z aplikacją testową itd.

Jaki jest model cen dla usługi Notification Hubs?

Najnowsze szczegóły cennika można znaleźć na stronie Cennik usługi Notification Hubs. Opłaty za usługę Notification Hubs są naliczane na poziomie przestrzeni nazw. (Aby uzyskać definicję przestrzeni nazw, zobacz "Jaka jest struktura zasobów usługi Notification Hubs?") Usługa Notification Hubs oferuje trzy warstwy:

  • Bezpłatna: ta warstwa jest dobrym punktem wyjścia do eksplorowania możliwości wypychania. Nie jest zalecane w przypadku aplikacji produkcyjnych. Otrzymasz 500 urządzeń i 1 milion wypchnięć uwzględnionych w ramach subskrypcji miesięcznie bez gwarancji dotyczącej poziomu usług (SLA).
  • Podstawowa: ta warstwa (lub warstwa Standardowa) jest zalecana dla mniejszych aplikacji produkcyjnych. Otrzymasz 200 000 urządzeń i 10 milionów wypchnięć uwzględnionych w ramach subskrypcji miesięcznie jako punkt odniesienia.
  • Standardowa: ta warstwa jest zalecana w przypadku średnich i dużych aplikacji produkcyjnych. Otrzymasz 10 milionów urządzeń i 10 milionów wypchnięć uwzględnionych w ramach subskrypcji miesięcznie jako punkt odniesienia. Zawiera rozbudowane dane telemetryczne (dodatkowe dane dotyczące stanu wypychania).

Funkcje warstwy Standardowa:

  • Rozbudowane dane telemetryczne: możesz użyć usługi Notification Hubs na telemetrię komunikatów, aby śledzić żądania wypychania i opinie dotyczące systemu powiadomień platformy na potrzeby debugowania.
  • Obsługa wielu dzierżaw: możesz pracować z poświadczeniami systemu powiadomień platformy na poziomie przestrzeni nazw. Ta opcja umożliwia łatwe podzielenie dzierżaw na centra w ramach tej samej przestrzeni nazw.
  • Zaplanowane wypychanie: możesz zaplanować wysyłanie powiadomień w dowolnym momencie.
  • Operacje zbiorcze: włącza funkcje eksportowania/importowania, zgodnie z opisem w dokumencie Eksportowanie/importowanie rejestracji.

Co to jest umowa SLA usługi Notification Hubs?

W przypadku warstw Podstawowa i Standardowa usługi Notification Hubs aplikacje prawidłowo skonfigurowane mogą wysyłać powiadomienia wypychane lub wykonywać operacje zarządzania rejestracją co najmniej 99,9 procent czasu. Aby dowiedzieć się więcej na temat umowy SLA, przejdź do strony umowy SLA usługi Notification Hubs.

Uwaga

Ponieważ powiadomienia wypychane zależą od systemów powiadomień platformy innych firm, takich jak usługa powiadomień wypychanych (APNs) firmy Apple i usługa Firebase Cloud Messaging (FCM), nie ma gwarancji SLA dla dostarczania tych komunikatów. Po wysłaniu partii usługi Notification Hubs do systemów powiadomień platformy (gwarantowana umowa SLA) odpowiada systemom powiadomień platformy za dostarczanie wypychań (bez gwarantowanej umowy SLA).

Jak mogę uaktualnić lub obniżyć moją przestrzeń nazw lub centrum do innej warstwy?

Przejdź do przestrzeni nazw usługi Notification Hubs w witrynie Azure Portal>lub usługi Notification Hubs. Wybierz zasób, który chcesz zaktualizować, a następnie przejdź do warstwy cenowej. Zwróć uwagę na następujące wymagania:

  • Zaktualizowana warstwa cenowa ma zastosowanie do wszystkich centrów w przestrzeni nazw, z którą pracujesz.
  • Jeśli liczba urządzeń przekroczy limit warstwy, do której przechodzisz na starszą dół, musisz usunąć urządzenia przed obniżeniem poziomu.

Projektowanie i programowanie

Które platformy po stronie serwera są obsługiwane?

Zestawy SDK serwera są dostępne dla platform .NET, Java, Node.js, PHP i Python. Interfejsy API usługi Notification Hubs są oparte na interfejsach REST, więc możesz pracować bezpośrednio z interfejsami API REST, jeśli używasz różnych platform lub nie potrzebujesz dodatkowej zależności. Aby uzyskać więcej informacji, przejdź do strony Interfejsy API REST usługi Notification Hubs .

Które platformy klienckie obsługujesz?

Powiadomienia wypychane są obsługiwane w systemach iOS, Android, Uniwersalnych systemu Windows, Windows Telefon, Android Chinach (za pośrednictwem Baidu), Xamarin iOS i Android oraz Safari. Aby uzyskać więcej informacji, zobacz stronę Samouczki z wprowadzeniem do usługi Notification Hubs .

Czy obsługujesz wiadomości SMS, wiadomości e-mail lub powiadomienia internetowe?

Usługa Notification Hubs wysyła powiadomienia do urządzeń z uruchomionymi aplikacjami mobilnymi. Nie zapewnia możliwości wiadomości e-mail ani wiadomości SMS. Usługa Notification Hubs również nie udostępnia gotowej usługi dostarczania powiadomień wypychanych w przeglądarce. Klienci mogą zaimplementować tę funkcję przy użyciu usługi SignalR na obsługiwanych platformach po stronie serwera.

Ile urządzeń mogę obsługiwać, jeśli wysyłam powiadomienia wypychane za pośrednictwem usługi Notification Hubs?

Szczegółowe informacje na temat liczby obsługiwanych urządzeń można znaleźć na stronie Cennik usługi Notification Hubs.

Jeśli potrzebujesz obsługi ponad 10 milionów zarejestrowanych urządzeń, musisz podzielić urządzenia na wiele przestrzeni nazw.

Ile powiadomień wypychanych można wysłać?

W zależności od wybranej warstwy usługa Azure Notification Hubs automatycznie skaluje się w górę na podstawie liczby powiadomień przepływających przez system.

Uwaga

Całkowity koszt użycia może wzrosnąć w zależności od liczby wysłanych powiadomień wypychanych. Upewnij się, że znasz limity warstw opisane na stronie Cennik usługi Notification Hubs.

Nasi klienci używają usługi Notification Hubs do wysyłania milionów powiadomień wypychanych codziennie. Nie musisz wykonywać żadnych specjalnych czynności, aby skalować zasięg powiadomień wypychanych, o ile używasz usługi Azure Notification Hubs.

Jak długo trwa wysyłanie powiadomień wypychanych do mojego urządzenia?

W scenariuszu normalnego użycia, w którym obciążenie przychodzące jest spójne, a nawet usługa Azure Notification Hubs może przetwarzać co najmniej 1 milion powiadomień wypychanych wysyłanych minutę. Ta szybkość może się różnić w zależności od liczby tagów, charakteru wysyłanych przychodzących i innych czynników zewnętrznych.

W szacowanej godzinie dostarczania usługa oblicza elementy docelowe na platformę i kieruje komunikaty do usługi powiadomień wypychanych (PNS) na podstawie zarejestrowanych tagów lub wyrażeń tagów. Odpowiedzialność za usługę PNS jest odpowiedzialna za wysyłanie powiadomień do urządzenia.

PnS nie gwarantuje żadnej umowy SLA dotyczącej dostarczania powiadomień. Jednak większość powiadomień wypychanych jest dostarczana do urządzeń docelowych w ciągu kilku minut (zazwyczaj w ciągu 10 minut) od momentu wysłania ich do usługi Notification Hubs. Kilka powiadomień może zająć więcej czasu.

Uwaga

Usługa Azure Notification Hubs ma zasady umożliwiające usuwanie powiadomień wypychanych, które nie są dostarczane do systemu powiadomień PNS w ciągu 30 minut. To opóźnienie może wystąpić z wielu powodów, ale najczęściej z powodu ograniczania przepustowości aplikacji przez usługę PNS.

Czy istnieje gwarancja opóźnienia?

Ze względu na charakter powiadomień wypychanych (są one dostarczane przez zewnętrzną, specyficzną dla platformy pnS), nie ma gwarancji opóźnienia. Zazwyczaj większość powiadomień wypychanych jest dostarczana w ciągu kilku minut.

Gdzie usługa Azure Notification Hubs przechowuje dane?

Usługa Azure Notification Hubs przechowuje dane rejestracji klientów w regionie wybranym przez klienta. Usługa Notification Hubs zapewnia pokrycie odzyskiwania po awarii metadanych (nazwa usługi Notification Hubs, parametry połączenia i inne informacje krytyczne). W przypadku wszystkich regionów z wyjątkiem Brazylii Południowej i Azji Południowo-Wschodniej kopia zapasowa metadanych jest hostowana w innym regionie (zazwyczaj sparowanym regionie platformy Azure). W przypadku regionów Brazylii Południowej i Azji Południowo-Wschodniej kopie zapasowe są przechowywane w tym samym regionie, aby spełnić wymagania dotyczące rezydencji danych dla tych regionów.

Co należy wziąć pod uwagę podczas projektowania rozwiązania z przestrzeniami nazw i centrami powiadomień?

Aplikacja mobilna/środowisko

  • Użyj jednego centrum powiadomień na aplikację mobilną na środowisko.
  • W scenariuszu z wieloma dzierżawami każda dzierżawa powinna mieć oddzielne centrum.
  • Nigdy nie udostępniaj tego samego centrum powiadomień dla środowisk produkcyjnych i testowych. Takie rozwiązanie może powodować problemy podczas wysyłania powiadomień. (Firma Apple oferuje punkty końcowe piaskownicy i wypychania produkcyjnego, z których każdy ma oddzielne poświadczenia).
  • Domyślnie powiadomienia testowe można wysyłać do zarejestrowanych urządzeń za pośrednictwem witryny Azure Portal lub zintegrowanego składnika platformy Azure w programie Visual Studio. Próg jest ustawiony na 10 urządzeń wybranych losowo z puli rejestracji.

Uwaga

Jeśli centrum zostało pierwotnie skonfigurowane przy użyciu certyfikatu piaskownicy firmy Apple, a następnie zostało ponownie skonfigurowane do używania certyfikatu produkcyjnego firmy Apple, oryginalne tokeny urządzenia są nieprawidłowe. Nieprawidłowe tokeny powodują niepowodzenie wypychania. Oddzielaj środowiska produkcyjne i testowe i używaj różnych centrów dla różnych środowisk.

Poświadczenia usługi PNS

Po zarejestrowaniu aplikacji mobilnej w portalu deweloperów platformy (na przykład Apple lub Google) są wysyłane identyfikator aplikacji i tokeny zabezpieczające. Zaplecze aplikacji udostępnia te tokeny do systemu powiadomień platformy, dzięki czemu powiadomienia wypychane mogą być wysyłane do urządzeń. Tokeny zabezpieczające mogą być w postaci certyfikatów (na przykład apple iOS lub Windows Telefon) lub kluczy zabezpieczeń (na przykład Google Android lub Windows). Należy je skonfigurować w centrach powiadomień. Konfiguracja jest zwykle wykonywana na poziomie centrum powiadomień, ale można ją również wykonać na poziomie przestrzeni nazw w scenariuszu obejmującym wiele dzierżaw.

Przestrzenie nazw

Przestrzenie nazw mogą służyć do grupowania wdrożeń. Mogą być one również używane do reprezentowania wszystkich centrów powiadomień dla wszystkich dzierżaw tej samej aplikacji w scenariuszu z wieloma dzierżawami.

Dystrybucja geograficzna

Dystrybucja geograficzna nie zawsze ma kluczowe znaczenie w scenariuszach powiadomień wypychanych. Różne systemy powiadomień (na przykład APNs lub FCM), które dostarczają powiadomienia wypychane do urządzeń, nie są równomiernie dystrybuowane.

Jeśli masz aplikację używaną globalnie, możesz tworzyć centra w różnych przestrzeniach nazw przy użyciu usługi Notification Hubs w różnych regionach świadczenia usługi Azure na całym świecie.

Uwaga

Nie zalecamy tego rozwiązania, ponieważ zwiększa koszty zarządzania, szczególnie w przypadku rejestracji. Należy to zrobić tylko wtedy, gdy istnieje wyraźna potrzeba.

Czy należy wykonywać rejestracje z zaplecza aplikacji lub bezpośrednio za pośrednictwem urządzeń klienckich?

Rejestracje z zaplecza aplikacji są przydatne podczas uwierzytelniania klientów przed utworzeniem rejestracji. Są one również przydatne, gdy masz tagi, które muszą zostać utworzone lub zmodyfikowane przez zaplecze aplikacji na podstawie logiki aplikacji. Aby uzyskać więcej informacji, przejdź do wskazówek dotyczących rejestracji zaplecza i wskazówek dotyczących rejestracji zaplecza 2 strony.

Jaki jest model zabezpieczeń dostarczania powiadomień wypychanych?

Usługa Azure Notification Hubs używa modelu zabezpieczeń opartego na sygnaturze dostępu współdzielonego. Tokeny sygnatury dostępu współdzielonego można używać na poziomie głównej przestrzeni nazw lub na poziomie szczegółowego centrum powiadomień. Tokeny sygnatury dostępu współdzielonego można ustawić tak, aby postępowały zgodnie z różnymi regułami autoryzacji, na przykład w celu wysyłania uprawnień do wiadomości lub nasłuchiwania uprawnień powiadomień. Aby uzyskać więcej informacji, zobacz dokument Dotyczący modelu zabezpieczeń usługi Notification Hubs.

Jak obsługiwać poufny ładunek w powiadomieniach wypychanych?

Wszystkie powiadomienia są dostarczane do urządzeń docelowych przez usługę PNS platformy. Po wysłaniu powiadomienia do usługi Azure Notification Hubs jest ono przetwarzane i przekazywane do odpowiedniego systemu powiadomień.

Wszystkie połączenia od nadawcy do usługi Azure Notification Hubs do systemu powiadomień platformy Azure używają protokołu HTTPS.

Uwaga

Usługa Azure Notification Hubs nie rejestruje ładunku komunikatów.

Aby wysyłać poufne ładunki, zalecamy użycie wzorca bezpiecznego wypychania. Nadawca dostarcza powiadomienie ping z identyfikatorem komunikatu do urządzenia bez poufnego ładunku. Gdy aplikacja na urządzeniu odbiera ładunek, aplikacja wywołuje bezpieczny interfejs API bezpośrednio, aby pobrać szczegóły komunikatu. Aby uzyskać przewodnik dotyczący implementowania tego wzorca, przejdź do strony samouczka Bezpiecznego wypychania usługi Notification Hubs.

Operations

Jaka jest obsługa odzyskiwania po awarii?

Czy wszystkie moje dane są przechowywane w postaci zaszyfrowanej?

Usługa Azure Notification Hubs szyfruje wszystkie dane klientów magazynowanych z wyjątkiem tagów rejestracji. Z tego powodu nie należy przechowywać danych osobowych ani poufnych przy użyciu tagów.

Czy istnieje możliwość rejestrowania inspekcji?

Tak. Wszystkie operacje zarządzania usługi Notification Hubs aktualizują dziennik aktywności platformy Azure, do którego jest uwidoczniony w witrynie Azure Portal. Dziennik aktywności platformy Azure oferuje wgląd w operacje wykonywane na zasobach w subskrypcjach. Korzystając z dziennika aktywności, możesz określić, kto i kiedy dla dowolnych operacji zapisu (PUT, POST, DELETE) dla zasobów w ramach subskrypcji. Możesz również zrozumieć stan operacji i innych odpowiednich właściwości. Jednak. Dziennik aktywności nie zawiera operacji odczytu (GET).

Monitorowanie i rozwiązywanie problemów

Jakie możliwości rozwiązywania problemów są dostępne?

Usługa Azure Notification Hubs udostępnia kilka funkcji do rozwiązywania problemów, szczególnie w przypadku najbardziej typowego scenariusza porzuconych powiadomień. Aby uzyskać szczegółowe informacje, zobacz oficjalny dokument dotyczący rozwiązywania problemów z usługą Notification Hubs.

Jakie funkcje telemetrii są dostępne?

Usługa Azure Notification Hubs umożliwia wyświetlanie danych telemetrycznych w witrynie Azure Portal. Szczegóły metryk są dostępne na stronie Metryki usługi Notification Hubs.

Można również programowo uzyskiwać dostęp do metryk. Aby uzyskać więcej informacji, zobacz następujące artykuły:

Uwaga

Pomyślne powiadomienia oznaczają po prostu, że powiadomienia wypychane zostały dostarczone do zewnętrznej usługi PNS (na przykład usługi APNs dla systemów iOS i macOS lub FCM dla urządzeń z systemem Android). Odpowiedzialność za usługę PNS jest odpowiedzialna za dostarczanie powiadomień do urządzeń docelowych. Zazwyczaj system powiadomień nie ujawnia metryk dostarczania stronom trzecim.