Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как отправлять push-уведомления браузера отдельным пользователям с помощью Центров уведомлений Azure.
На высоком уровне процесс:
Обзор
Веб-push-уведомления (или push-уведомления браузера) — это тип уведомлений, которые клиенты получают в своих настольных браузерах или, в некоторых случаях, в мобильных браузерах для каждого веб-сайта.
Центры уведомлений Azure теперь поддерживают отправку браузеров для всех основных браузеров, включая Microsoft Edge, Google Chrome и Mozilla Firefox. Apple Safari не входит в комплект. Для Apple Safari можно использовать существующую поддержку APNS, как описано в разделе "Настройка push-уведомлений Safari" с проверкой подлинности на основе сертификатов.
Push-отправка браузера поддерживается на разных платформах на устройствах со следующими операционными системами и браузерами.
Поддержка push-уведомлений браузера на ноутбуках:
Операционная система | Браузеры |
---|---|
ОС Windows | Google Chrome версии 48+ Microsoft Edge версии 17+ Mozilla Firefox версии 44+ Safari v7+ Опера версии 42+ |
macOS | Chrome версии 48+ Firefox версии 44+ Safari v7+ Опера версии 42+ |
ОС Linux | Chrome версии 48+ Firefox версии 44+ Safari v7+ Опера версии 42+ |
Поддержка push-уведомлений браузера на планшетных компьютерах:
Операционная система | Браузеры |
---|---|
ОС Windows | Chrome версии 48+ Firefox версии 44+ Опера версии 42+ |
iOS | Не поддерживается. |
Операционная система Android | Chrome версии 48+ Firefox версии 44+ Опера версии 42+ |
Поддержка push-уведомлений браузера на мобильных устройствах:
Операционная система | Браузеры |
---|---|
iOS | Не поддерживается. |
Операционная система Android | Chrome версии 48+ Firefox версии 44+ Опера версии 42+ |
Настройка учетных данных
Чтобы подписаться на push-уведомления браузера на веб-сайте, можно использовать ключи VAPID . Учетные данные VAPID можно создавать с помощью таких служб, как генератор ключей VAPID. Учетные данные должны выглядеть примерно так:
{
"location": "South Central US",
"properties": {
"browserCredential": {
"properties": {
"subject": "mailto:email@microsoft.com",
"vapidPublicKey": "some-vapid-public-key",
"vapidPrivateKey":"some-vapid-private-key"
}
}
}
}
Настройка учетных данных на портале Azure
Чтобы задать учетные данные push-уведомлений браузера на портале Azure, выполните следующие действия.
На портале Azure откройте колонку браузера (веб-push-отправка) в центре уведомлений.
Введите существующие ключи VAPID или создайте новую пару ключей VAPID с помощью службы, например генератора ключей VAPID.
Выберите Сохранить.
Настройка учетных данных с помощью REST API
Вы также можете задать учетные данные браузера для браузерных уведомлений с помощью REST API, например, с помощью метода Create или Update Hub REST API, API Azure Resource Manager или RP версии 2.
Введите учетные данные в этом формате, указав идентификатор подписки, группу ресурсов, пространство имен и концентратор уведомлений:
https://management.azure.com/subscriptions/{subscription}/resourceGroups/{resource-group}/providers/Microsoft.NotificationHubs/namespaces/{namespace}/notificationHubs/{hub}api-version=2016-03-01
Настройка учетных данных с помощью пакетов SDK Azure
Данные для подлинности браузерных уведомлений можно установить с помощью средств разработки SDK Azure. Ниже приведен пример использования пакета SDK для .NET:
var browserCreds = new BrowserCredential
{
Subject = "<subject>",
VapidPublicKey = "<vapid public key>",
VapidPrivateKey = "<vapid private key>",
}
и:
await nhManagementClient.NotificationHubs.CreateOrUpdateAsync(config.ResourceGroupName, config.NamespaceName, config.HubName, new NotificationHubCreateOrUpdateParameters(config.Location)
{
BrowserCredential = browserCreds
});
Создание регистраций и установок
Массовые отправки требуют регистрации или установки. Вы также можете использовать регистрации и установки в отладочных отправках.
В следующих примерах показан текст запроса регистрации для собственной регистрации, регистрации шаблона и установки браузера.
Текст запроса на собственную регистрацию
<?xml version="1.0" encoding="utf-8"?><entry xmlns="http://www.w3.org/2005/Atom"><content type="application/xml"><BrowserRegistrationDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"><Endpoint></Endpoint><P256DH></P256DH><Auth></Auth></BrowserRegistrationDescription></content></entry>
Текст запроса на регистрацию шаблона браузера
<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://www.w3.org/2005/Atom">
<content type="application/xml">
<BrowserTemplateRegistrationDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">
<Endpoint></Endpoint>
<P256DH></P256DH>
<Auth></Auth>
<BodyTemplate><![CDATA[{"title":"asdf","message":"xts"}]]></BodyTemplate>
</BrowserTemplateRegistrationDescription>
</content>
</entry>
Текст запроса на установку
{
"installationId": "installation-id",
"platform": "browser",
"pushChannel": {
"endpoint": "",
"p256dh": "",
"auth": ""
}
}
Создание нативных регистраций (SDK)
await notificationHubClient.CreateBrowserNativeRegistrationAsync(subscriptionInfo, tagSet);
Создание регистраций шаблонов (SDK)
await notificationHubClient.CreateBrowserTemplateRegistrationAsync(subscriptionInfo, template, tagSet);
Создание установок браузера (SDK)
var browserPushSubscription = new BrowserPushSubscription
{
Endpoint = "",
P256DH = "",
Auth = "",
};
var browserInstallation = new BrowserInstallation
{
InstallationId = installationId,
Tags = tags,
Subscription = browserPushSubscription,
UserId = userId,
ExpirationTime = DateTime.UtcNow.AddDays(1),
};
await notificationHubClient.CreateOrUpdateInstallationAsync(browserInstallation);
Отправка push-уведомлений
После установки учетных данных для push-уведомлений в браузер и создания регистраций и инсталляций для устройств вы будете готовы создавать push-уведомления. В этом разделе описывается, как создать уведомление для прямой отправки, отправки аудитории и отправки для отладки (тестирования).
Создание прямой отправки
Для прямой отправки требуется URI конечной точки, ключ p25DH и секрет проверки подлинности из подписки браузера. Дополнительные сведения о прямой отправке уведомлений см. в разделе "Прямая отправка".
Чтобы создать уведомление прямой отправки, выполните следующие действия.
Задайте следующие заголовки для push-уведомлений браузера:
ServiceBusNotification-Format - browser
-
ServiceBusNotification-DeviceHandle - endpoint
endpoint
: поле из подписки -
P256DH
p256dh
: поле из подписки -
Auth
auth
: поле из подписки
Создайте текст сообщения. Текст сообщения обычно находится в следующем формате:
{ "title": "Some Title", "body": "Some body of a message" }
Вы можете указать другие поля в тексте; Например,
icon
чтобы изменить значок для каждого сообщения.Отправьте уведомление.
Вы также можете использовать пакет SDK для .NET для создания прямой отправки:
var browserSubscriptionEndpoint = "";
var browserPushHeaders = new Dictionary<string, string>
{
{ "P256DH", "" },
{ "Auth", "" },
};
var directSendOutcome = await notificationHubClient.SendDirectNotificationAsync(new BrowserNotification("payload", browserPushHeaders), browserSubscriptionEndpoint);
Отправка сообщений аудитории
Для отправки сообщения аудитории используйте тот же ServiceBus Notification-Format
заголовок, который используется для прямой отправки, и измените полезные данные сообщения по мере необходимости. При необходимости укажите выражение тега с помощью заголовка ServiceBusNotification-Tags
. Дополнительные сведения о создании отправки аудитории см. в статье "Отправка собственного уведомления APNS".
Чтобы создать рассылку для аудитории с помощью пакета SDK, используйте следующую команду:
var outcome = await notificationHubClient.SendNotificationAsync(new BrowserNotification(payload, tagExpression);
Создание отладочных и тестовых отправок
Отладочные отправки создаются на портале Azure и требуют регистрации и установки.
После создания регистраций для устройств выполните следующие действия, чтобы создать уведомление об отладочной отправке:
На портале Azure откройте колонку "Отправка тестов " в центре уведомлений.
В поле "Платформа" выберите "Браузер".
Укажите выражение "Отправить в тег".
Измените Payload на нужное вам сообщение.
Выберите Отправить.