Xamarin.Forms Push-уведомления из центра уведомлений Azure

Я пытаюсь получать push-уведомления из Центра уведомлений Azure на Xamarin.Forms. Я попробовал пример Azure для Android. Проблема в том, что Учебник Azure подключается к базе данных, которая отправляет уведомления при изменении базы данных. Я не хочу этого. Уже есть CMS, которая запускает push-уведомления.

Итак, как мне подключить приложение только к концентратору уведомлений и прослушивать уведомления?


person Dushyant Bangal    schedule 11.09.2015    source источник


Ответы (2)


Решение найдено. Мне также пришлось зарегистрироваться в центре уведомлений Azure. Если кто-то застрял, выполните следующее:

https://azure.microsoft.com/en-us/documentation/articles/partner-xamarin-notification-hubs-android-get-started/

Или следуйте примеру, приведенному в компоненте Xamarin «Azure Messaging» здесь: https://components.xamarin.com/gettingstarted/azure-messaging

person Dushyant Bangal    schedule 19.10.2015

Я на самом деле делаю это прямо в эту самую секунду. Не с Xamarin, а с приложением для Windows Phone. Надеюсь, это может помочь.

  1. Убедитесь, что вы зарегистрировали свое приложение на портале разработки и создали ассоциацию WNS.
  2. Как только это будет сделано, вы можете вернуться в свою мобильную службу или центр уведомлений и добавить пакет ssid и секрет клиента, который вы только что получили с портала разработки.
  3. Добавьте код, чтобы связать ваше приложение с центром уведомлений.

    var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

    var hub = новый NotificationHub("", ""); var result = await hub.RegisterNativeAsync(channel.Uri);

Это может происходить в событии OnLaunched в App.xaml.cs. Это зарегистрирует приложение в хабе. Убедитесь, что вы выбрали тип уведомления, которое приложение будет отображать в манифесте пакета (тост и т. д.).

  1. Похоже, что для выполнения уведомления вам может потребоваться, чтобы пользовательский API вызывал концентратор уведомлений. Это то, что я делаю. Когда происходит определенное действие, я вызываю пользовательский API, и он выдает push.

Это подробно описано по следующему адресу: https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-started/

Есть и другие хорошие документы, если вы не хотите уведомлять всех, например, уведомлять только подписчиков категории. Надеюсь это поможет. Это может быть не на 100% правильно с Xamarin, но должно быть близко.

person jdruid    schedule 11.09.2015
comment
Я уже сделал это для универсального проекта WinRT. Это просто. но я не могу найти то же самое для Xamarin - person Dushyant Bangal; 14.09.2015
comment
Тогда я не уверен, что вы спрашиваете. Вы упомянули, что документ Azure показывает, как инициировать push при изменении БД. Я задокументировал, как создать API, с которым ваша CMS сможет обращаться при изменении вашей CMS. - person jdruid; 14.09.2015
comment
› Уже установлена ​​CMS, которая запускает push-уведомления. Что мне нужно, так это код на стороне клиента, то есть Xamarin.Forms или Xamarin.Android, по крайней мере, для получения push-уведомления. - person Dushyant Bangal; 15.09.2015