Wysyłanie powiadomień wypychanych przy użyciu usługi Azure Notification Hubs i Node.js

Omówienie

Ważne

Do wykonania kroków tego samouczka potrzebne jest aktywne konto platformy Azure. Jeśli nie masz konta, utwórz bezpłatne konto w wersji próbnej w ciągu zaledwie kilku minut za pośrednictwem bezpłatnej wersji próbnej platformy Azure.

W tym przewodniku pokazano, jak wysyłać powiadomienia wypychane za pomocą usługi Azure Notification Hubs bezpośrednio z aplikacji Node.js .

Omówione scenariusze obejmują wysyłanie powiadomień wypychanych do aplikacji na następujących platformach:

  • Android
  • iOS
  • Platforma uniwersalna systemu Windows
  • Windows Phone

Notification Hubs

Usługa Azure Notification Hubs zapewnia łatwą w użyciu, wieloplatformową, skalowalną infrastrukturę do wysyłania powiadomień wypychanych na urządzenia przenośne. Aby uzyskać szczegółowe informacje na temat infrastruktury usług, zobacz stronę Azure Notification Hubs .

Tworzenie aplikacji Node.js

Pierwszym krokiem w tym samouczku jest utworzenie nowej pustej aplikacji Node.js. Aby uzyskać instrukcje dotyczące tworzenia aplikacji Node.js, zobacz Tworzenie i wdrażanie aplikacji Node.js w witrynie internetowej platformy Azure,Node.js usłudze w chmurze przy użyciu Windows PowerShell lub witryny sieci Web za pomocą programu WebMatrix.

Konfigurowanie aplikacji do korzystania z usługi Notification Hubs

Aby korzystać z usługi Azure Notification Hubs, musisz pobrać i użyć pakietu platformy Azure Node.js, który zawiera wbudowany zestaw bibliotek pomocników komunikujących się z usługami REST powiadomień wypychanych.

Uzyskiwanie pakietu za pomocą menedżera pakietów node (NPM)

  1. Użyj interfejsu wiersza polecenia, takiego jak program PowerShell (Windows), terminal (Mac) lub powłoka Bash (Linux) i przejdź do folderu, w którym utworzono pustą aplikację.
  2. Wykonaj npm install azure-sb polecenie w oknie polecenia.
  3. Możesz ręcznie uruchomić ls polecenie lub dir , aby sprawdzić, czy node_modules folder został utworzony.
  4. W tym folderze znajdź pakiet platformy Azure zawierający biblioteki potrzebne do uzyskania dostępu do centrum powiadomień.

Uwaga

Więcej informacji na temat instalowania serwera NPM można dowiedzieć się na oficjalnym blogu NPM.

Importowanie modułu

Za pomocą edytora tekstów dodaj następujące elementy w górnej części server.js pliku aplikacji:

var azure = require('azure-sb');

Konfigurowanie połączenia usługi Azure Notification Hub

Obiekt NotificationHubService umożliwia pracę z centrami powiadomień. Poniższy kod tworzy NotificationHubService obiekt dla centrum powiadomień o nazwie hubname. Dodaj go w górnej części server.js pliku po instrukcji , aby zaimportować moduł platformy Azure:

var notificationHubService = azure.createNotificationHubService('hubname','connectionstring');

Uzyskaj wartość połączenia connectionstring z Azure Portal, wykonując następujące kroki:

  1. W okienku nawigacji po lewej stronie kliknij pozycję Przeglądaj.
  2. Wybierz pozycję Notification Hubs, a następnie znajdź centrum, którego chcesz użyć dla przykładu. Jeśli potrzebujesz pomocy przy tworzeniu nowego centrum powiadomień, możesz zapoznać się z samouczkiem dotyczącym Wprowadzenie sklepu Windows Store.
  3. Wybierz pozycję Ustawienia.
  4. Kliknij pozycję Zasady dostępu. Wyświetlane są zarówno parametry połączenia udostępnionego, jak i pełnego dostępu.

Azure Portal — Notification Hubs

Uwaga

Parametry połączenia można również pobrać za pomocą Get-AzureSbNamespace polecenia cmdlet w Azure PowerShell lub azure sb namespace show polecenia w klasycznym interfejsie wiersza polecenia platformy Azure.

Architektura ogólna

Obiekt NotificationHubService uwidacznia następujące wystąpienia obiektów do wysyłania powiadomień wypychanych do określonych urządzeń i aplikacji:

  • Android — użyj GcmService obiektu, który jest dostępny pod adresem notificationHubService.gcm
  • iOS — użyj ApnsService obiektu, który jest dostępny pod adresem notificationHubService.apns
  • Windows Phone — użyj MpnsService obiektu, który jest dostępny pod adresemnotificationHubService.mpns
  • platforma uniwersalna systemu Windows — użyj WnsService obiektu, który jest dostępny pod adresemnotificationHubService.wns

Uwaga

Usługa powiadomień wypychanych firmy Microsoft (MPNS) została przestarzała i nie jest już obsługiwana.

Instrukcje: wysyłanie powiadomień wypychanych do aplikacji systemu Android

Obiekt GcmService udostępnia metodę send , która może służyć do wysyłania powiadomień wypychanych do aplikacji systemu Android. Metoda send akceptuje następujące parametry:

  • Tagi — identyfikator tagu. Jeśli nie podano tagu, powiadomienie jest wysyłane do wszystkich klientów.
  • Payload — ładunek JSON lub nieprzetworzonego ładunku ciągu komunikatu.
  • Wywołanie zwrotne — funkcja wywołania zwrotnego.

Aby uzyskać więcej informacji na temat formatu ładunku, zobacz dokumentację ładunku Payload.

Poniższy kod używa GcmService wystąpienia uwidocznionego przez NotificationHubService element , aby wysłać powiadomienie wypychane do wszystkich zarejestrowanych klientów.

var payload = {
  data: {
    message: 'Hello!'
  }
};
notificationHubService.gcm.send(null, payload, function(error){
  if(!error){
    //notification sent
  }
});

Instrukcje: wysyłanie powiadomień wypychanych do aplikacji systemu iOS

Podobnie jak w przypadku opisanych powyżej ApnsService aplikacji systemu Android obiekt udostępnia metodę send , która może służyć do wysyłania powiadomień wypychanych do aplikacji systemu iOS. Metoda send akceptuje następujące parametry:

  • Tagi — identyfikator tagu. Jeśli nie podano tagu, powiadomienie jest wysyłane do wszystkich klientów.
  • Payload — ładunek JSON lub ładunek ciągu komunikatu.
  • Wywołanie zwrotne — funkcja wywołania zwrotnego.

Aby uzyskać więcej informacji na temat formatu ładunku, zobacz sekcję Zawartość powiadomieniaw przewodniku UserNotifications.

Poniższy kod używa ApnsService wystąpienia uwidocznionego przez NotificationHubService obiekt , aby wysłać komunikat alertu do wszystkich klientów:

var payload={
    alert: 'Hello!'
  };
notificationHubService.apns.send(null, payload, function(error){
  if(!error){
      // notification sent
  }
});

Instrukcje: wysyłanie powiadomień wypychanych do aplikacji Windows Phone

Obiekt MpnsService udostępnia metodęsend, która może służyć do wysyłania powiadomień wypychanych do aplikacji Windows Phone. Metoda send akceptuje następujące parametry:

  • Tagi — identyfikator tagu. Jeśli nie podano tagu, powiadomienie jest wysyłane do wszystkich klientów.
  • Payload — ładunek XML komunikatu.
  • Targetname - toast wyskakujące powiadomienia. token w przypadku powiadomień dotyczących kafelków.
  • NotificationClass — priorytet powiadomienia. Zobacz sekcję Elementy nagłówka HTTP w dokumencie Powiadomienia wypychane z serwera , aby uzyskać prawidłowe wartości.
  • Opcje — opcjonalne nagłówki żądań.
  • Wywołanie zwrotne — funkcja wywołania zwrotnego.

Aby zapoznać się z listą prawidłowych TargetNameopcji nagłówka i , NotificationClass zapoznaj się ze stroną Powiadomień wypychanych na serwerze .

Poniższy przykładowy kod używa MpnsService wystąpienia uwidocznionego przez NotificationHubService element , aby wysłać wyskakujące powiadomienie wypychane:

var payload = '<?xml version="1.0" encoding="utf-8"?><wp:Notification xmlns:wp="WPNotification"><wp:Toast><wp:Text1>string</wp:Text1><wp:Text2>string</wp:Text2></wp:Toast></wp:Notification>';
notificationHubService.mpns.send(null, payload, 'toast', 22, function(error){
  if(!error){
    //notification sent
  }
});

Instrukcje: wysyłanie powiadomień wypychanych do aplikacji platforma uniwersalna systemu Windows (UWP)

Obiekt WnsService udostępnia metodęsend, która może służyć do wysyłania powiadomień wypychanych do aplikacji platforma uniwersalna systemu Windows. Metoda send akceptuje następujące parametry:

  • Tagi — identyfikator tagu. Jeśli nie podano tagu, powiadomienie zostanie wysłane do wszystkich zarejestrowanych klientów.
  • Payload — ładunek komunikatu XML.
  • Typ — typ powiadomienia.
  • Opcje — opcjonalne nagłówki żądań.
  • Wywołanie zwrotne — funkcja wywołania zwrotnego.

Aby uzyskać listę prawidłowych typów i nagłówków żądań, zobacz Wypychanie żądań usługi powiadomień i nagłówki odpowiedzi.

Poniższy kod używa WnsService wystąpienia uwidocznionego przez NotificationHubService element , aby wysłać wyskakujące powiadomienie wypychane do aplikacji platformy UWP:

var payload = '<toast><visual><binding template="ToastText01"><text id="1">Hello!</text></binding></visual></toast>';
notificationHubService.wns.send(null, payload , 'wns/toast', function(error){
  if(!error){
      // notification sent
  }
});

Następne kroki

Powyższe przykładowe fragmenty kodu umożliwiają łatwe tworzenie infrastruktury usług w celu dostarczania powiadomień wypychanych do wielu różnych urządzeń. Teraz, gdy znasz już podstawy korzystania z usługi Notification Hubs z Node.js, skorzystaj z tych linków, aby dowiedzieć się więcej na temat dalszego rozszerzania tych możliwości.