Я пытаюсь настроить мое приложение на использование WNS вместо MPNS (я использую Xamarin Forms и имею проект Win Phone 8.1 Silverlight с концентратором Azure Notification для задней части), для этого я обновил свой код, чтобы использовать мобильную услугу, чтобы зарегистрировать телефон для push-уведомлений и изменил службу уведомлений в WMAppManifest.xml на WNS. После выполнения этих изменений, когда я проверяю регистрацию телефонов через лазурь, он говорит о своем MPNS. Ниже приведены некоторые снимки экрана моей конфигурации и фрагменты кода о том, как я регистрирую приложение.Xamarin Forms WinPhone 8.1 Silverlight WNS push-уведомления
WMAppManifest.xml
Package.appxmanifest
NotificationManager Код
public class PushNotificationManager : IPushNotificationManager
{
private PushNotificationChannel channel;
public PushNotificationManager() { }
public static MobileServiceClient MobileService = new MobileServiceClient(Utilities.Constants.ApplicationURL, Utilities.Constants.ApplicationKey);
public async Task RegisterDevice()
{
try
{
channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
channel.PushNotificationReceived += Channel_PushNotificationReceived;
await this.RegisterWinDevice(channel.Uri);
NotificationTask.UnregisterBackgroundTask();
NotificationTask.RegisterBackgroundTask();
}
catch (Exception ex)
{
throw ex;
}
}
protected void Channel_PushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs args)
{
try
{
//Create notification
}
catch (Exception ex)
{
throw ex;
}
}
public async Task UnregisterDevice()
{
if(channel != null)
{
channel.Close();
}
await MobileService.GetPush().UnregisterNativeAsync();
}
private async Task RegisterWinDevice(string channelUri)
{
try
{
var tags = new List<string>() { };
User user = LocalStorage.GetUserInfo();
tags.Add(user.Id.ToString());
await MobileService.GetPush().RegisterNativeAsync(channelUri, tags.ToArray());
}
catch (Exception ex)
{
throw ex;
}
}
private void CreateNotification(string title, string message)
{
//Show Toast
}
}
В лазури я поставил окна пакет SID и секрет клиента. У меня также есть неаутентифицированные push-уведомления (хотя, по моему мнению, это для MPNS).
И, наконец, вот снимок экрана, как он регистрирует с помощью следующего кода:
Если у кого есть какие-либо идеи, как заставить его правильно зарегистрироваться WNS я очень ценю помощь. Благодаря!