Поделиться через


Руководство по отправке уведомлений в приложения универсальной платформы Windows с помощью Центров уведомлений Azure

В этом руководстве вы создадите центр уведомлений для отправки push-уведомлений в приложение универсальной платформы Windows (UWP). Вы создаете пустое приложение Магазина Windows, которое получает push-уведомления с помощью службы push-уведомлений Windows (WNS). Затем вы используете центр уведомлений для трансляции push-уведомлений на все устройства, на которых работает ваше приложение.

Примечание.

Полный код для работы с этим руководством можно найти на портале GitHub.

Выполните следующие действия.

  • Создание приложения в Магазине Windows
  • Создание концентратора уведомлений
  • Создание примера приложения Для Windows
  • Отправка проверочных уведомлений

Предпосылки

  • Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Microsoft Visual Studio 2017 или более поздней версии. В этом руководстве используется Visual Studio 2019.
  • Установленные средства разработки приложений UWP
  • Активная учетная запись Магазина Windows
  • Убедитесь, что включена функция получения уведомлений из приложений и других отправителей .
    • Запустите окно "Параметры " на компьютере.
    • Выберите плитку System .
    • Выберите уведомления и действия в меню слева.
    • Убедитесь, что включен параметр получения уведомлений из приложений и других отправителей . Если он не включен, включите его.

Завершение работы с этим руководством является обязательным условием для всех других руководств по Центрам уведомлений для приложений UWP.

Создание приложения в Магазине Windows

Примечание.

Служба push-уведомлений Майкрософт (MPNS) устарела и больше не поддерживается.

Чтобы отправить push-уведомления в приложения UWP, свяжите приложение с Магазином Windows. Затем настройте центр уведомлений для интеграции с WNS.

  1. Перейдите в Центр разработки для Windows, войдите с помощью учетной записи Майкрософт и выберите "Создать новое приложение".

    Кнопка

  2. Введите имя приложения и выберите "Зарезервировать имя продукта". При этом создается новая регистрация Магазина Windows для вашего приложения.

    Имя приложения Магазина

  3. Разверните Управление продуктом и выберите Идентификатор продукта. Take note of the Package SID, Package/Identity/Name, Package/Identity/Publisher, and Package/Properties/PublisherDisplayName values.

    Приложения Центра партнеров

  4. В разделе "Управление продуктами" выберите WNS/MPNS и выберите портал регистрации приложений. Войдите в свою учетную запись Майкрософт. Откроется страница регистрации приложения на новой вкладке.

    Страница WNS

  5. В разделе Essentials выберите учетные данные клиента: добавьте сертификат или секрет.

    Параметры Центра уведомлений на портале Azure

  6. На странице "Сертификаты и секреты" в разделе секретов клиента выберите новый секрет клиента. После создания секрета клиента (также называемого секретом приложения), запишите его перед выходом из страницы.

    Предупреждение

    После их создания можно просматривать только значения секрета клиента (секрет приложения). Перед выходом из страницы сохраните секрет.

    Секрет клиента на портале

    Предупреждение

    Секрет приложения и идентификатор безопасности пакета являются важными учетными данными безопасности. Не делитесь этими значениями с кем-либо и не распространяйте их вместе с вашим приложением.

Создание центра уведомлений

  1. Войдите на портал Azure.

  2. В меню слева выберите Все службы. Снимок экрана: выбор всех служб для существующего пространства имен.

  3. Введите Центры уведомлений в текстовое поле Фильтрация служб. Щелкните значок звездочки рядом с именем службы, чтобы добавить ее в раздел Избранное в меню слева. Выберите Центры уведомлений.

    Снимок экрана: фильтрация по центрам уведомлений.

  4. На странице Центры уведомлений выберите Добавить на панели инструментов.

    Снимок экрана: создание нового концентратора уведомлений.

  5. На вкладке Основные сведения на странице Центр уведомлений выполните следующие действия:

    1. В поле Подписка выберите имя подписки Azure, которую вы хотите использовать, а затем выберите существующую группу ресурсов или создайте новую.

    2. Введите уникальное имя нового пространства имен в разделе Сведения о пространстве имен.

    3. Пространство имен содержит один или несколько концентраторов уведомлений, поэтому укажите имя концентратора в поле Сведения о Концентраторе уведомлений.

    4. Выберите значение в раскрывающемся списке Расположение. Это значение определяет расположение, в котором создается центр.

      Снимок экрана: сведения о центре уведомлений.

    5. Просмотрите параметр Зоны доступности. Если вы выбрали регион с зонами доступности, флажок будет установлен по умолчанию. Зоны доступности является платной функцией, поэтому дополнительная плата добавляется на ваш уровень.

    6. Выберите вариант аварийного восстановления: Нет, парный регион восстановления или гибкий регион восстановления. If you choose Paired recovery region, the failover region is displayed. Если выбрать гибкий регион восстановления, используйте раскрывающийся список регионов восстановления.

      Снимок экрана: сведения о зоне доступности.

    7. Выберите Создать.

  6. После завершения развертывания выберите "Перейти к ресурсу".

Настройка параметров WNS для концентратора

  1. В категории "ПАРАМЕТРЫ УВЕДОМЛЕНИЯ" выберите Windows (WNS).

  2. Введите значения идентификатора безопасности пакета (например, ms-app://<Your Package SID>) и ключа безопасности ( секрет приложения), которые вы указали из предыдущего раздела.

  3. Нажмите кнопку "Сохранить " на панели инструментов.

    The Package SID and Security Key boxes

Теперь центр уведомлений настроен для работы с WNS. У вас есть строки подключения для регистрации приложения и отправки уведомлений.

Создание примера приложения Для Windows

  1. В Visual Studio откройте меню Файл и выберите Создать, а затем — Проект.

  2. В диалоговом окне "Создание проекта" выполните следующие действия:

    1. В поле поиска в верхней части введите Windows Universal.

    2. В результатах поиска выберите пустое приложение (универсальное приложение Windows) и нажмите кнопку "Далее".

      диалоговое окно

    3. В диалоговом окне "Настройка нового проекта " введите имя проекта и расположение для файлов проекта.

    4. Выберите Создать.

  3. Примите значения по умолчанию для целевых и минимальных версий платформы и нажмите кнопку "ОК".

  4. В обозревателе решений щелкните правой кнопкой мыши проект приложения Магазина Windows, выберите "Опубликовать" и выберите "Связать приложение с Магазином". Откроется мастер связывания приложения с Магазином Windows.

  5. In the wizard, sign in with your Microsoft account.

  6. Выберите приложение, зарегистрированного на шаге 2, нажмите кнопку "Далее", а затем нажмите кнопку "Связать". Это позволяет добавить необходимые сведения о регистрации Магазина Windows в манифест приложения.

  7. В Visual Studio щелкните решение правой кнопкой мыши и выберите пункт "Управление пакетами NuGet". Откроется окно "Управление пакетами NuGet ".

  8. В поле поиска введите WindowsAzure.Messaging.Managed, выберите "Установить" и примите условия использования.

    Окно

    Это действие загружает, устанавливает и добавляет ссылку на библиотеку Центров уведомлений Azure для Windows с помощью пакета NuGet Microsoft.Azure.NotificationHubs.

  9. App.xaml.cs Откройте файл проекта и добавьте следующие инструкции:

    using Windows.Networking.PushNotifications;
    using Microsoft.WindowsAzure.Messaging;
    using Windows.UI.Popups;
    
  10. В файле проекта App.xaml.cs найдите App класс и добавьте следующее InitNotificationsAsync определение метода. Замените <your hub name> на имя концентратора уведомлений, который вы создали на портале Azure, а <Your DefaultListenSharedAccessSignature connection string> на строку подключения DefaultListenSharedAccessSignature со страницы Политики доступа вашего концентратора уведомлений.

    private async void InitNotificationsAsync()
    {
        var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
    
        var hub = new NotificationHub("<your hub name>", "<Your DefaultListenSharedAccessSignature connection string>");
        var result = await hub.RegisterNativeAsync(channel.Uri);
    
        // Displays the registration ID so you know it was successful
        if (result.RegistrationId != null)
        {
            var dialog = new MessageDialog("Registration successful: " + result.RegistrationId);
            dialog.Commands.Add(new UICommand("OK"));
            await dialog.ShowAsync();
        }
    }
    

    Этот код извлекает URI канала для приложения из WNS, а затем регистрирует URI канала в центре уведомлений.

    Примечание.

    Замените заполнитель hub name именем концентратора уведомлений, отображаемым на портале Azure. Also replace the connection string placeholder with the DefaultListenSharedAccessSignature connection string that you obtained from the Access Polices page of your notification hub in a previous section.

  11. At the top of the OnLaunched event handler in App.xaml.cs, add the following call to the new InitNotificationsAsync method:

    InitNotificationsAsync();
    

    Это действие гарантирует, что универсальный код ресурса (URI) канала регистрируется в центре уведомлений при каждом запуске приложения.

  12. Щелкните правой кнопкой мыши Package.appxmanifest и выберите команду View Code (F7). Найдите <Identity .../> и замените значение Name на Package/Identity/Name, а его значение Publisher на значение Package/Identity/Publisher из созданного вами ранее приложения.

  13. Чтобы запустить приложение, нажмите клавишу F5 клавиатуры. Откроется диалоговое окно, содержащее ключ регистрации. Чтобы закрыть диалоговое окно, нажмите кнопку "ОК".

    Регистрация успешно завершена

Your app is now ready to receive toast notifications.

Отправка проверочных уведомлений

Вы можете быстро протестировать получение уведомлений в приложении, отправив уведомления на портале Azure.

  1. На портале Azure перейдите на вкладку "Обзор" и выберите "Проверить отправку " на панели инструментов.

    Кнопка

  2. В окне "Отправка теста" выполните следующие действия:

    1. Для платформ выберите Windows.

    2. For Notification Type, select Toast.

    3. Выберите Отправить.

      Область

  3. Просмотрите результат операции отправки в списке результатов в нижней части окна. Вы также увидите сообщение об оповещении.

    Результат операции отправки

  4. Появится уведомление: тестовое сообщение на рабочем столе.

    Сообщение об уведомлении

Дальнейшие действия

You have sent broadcast notifications to all your Windows devices by using the portal or a console app. Чтобы узнать, как отправлять push-уведомления на конкретные устройства, перейдите к следующему руководству: