Ignorar universal
Ignorar Universal, desenvolvido pela Central de Ações na Nuvem, significa que, quando você dispensa uma notificação de um dispositivo, a mesma notificação em seus outros dispositivos também é descartada.
Importante
Requer atualização de aniversário: você deve direcionar o SDK 14393 e estar executando o build 14393 ou posterior para usar o Descarte Universal.
O exemplo comum desse cenário são os lembretes de calendário... Você tem um aplicativo de calendário em ambos os seus dispositivos... Você recebe um lembrete no seu telefone e desktop... você clica em dispensar na sua área de trabalho... graças ao Universal Dismiss, o lembrete no seu telefone também é descartado! Habilitar o Descarte Universal requer apenas uma linha de código!
Nesse cenário, o fato principal é que o mesmo aplicativo está instalado em vários dispositivos, o que significa que cada dispositivo já está recebendo notificações. Um aplicativo de calendário é o exemplo icônico, já que você normalmente tem o mesmo aplicativo de calendário instalado no PC com Windows e no telefone, e cada instância do aplicativo já envia lembretes em cada dispositivo. Ao adicionar suporte para Dispensa Universal, essas instâncias dos mesmos lembretes podem ser vinculadas entre dispositivos.
Como habilitar o Descarte Universal
Como desenvolvedor, habilitar o Universal Dismiss é extremamente fácil. Você só precisa fornecer uma ID que nos permita vincular cada notificação entre dispositivos, para que, quando o usuário descartar uma notificação de um dispositivo, a notificação vinculada correspondente seja descartada do outro dispositivo.
RemoteId: um identificador que identifica exclusivamente uma notificação entre dispositivos.
t leva apenas uma linha de código para adicionar RemoteId, habilitando o suporte para Universal Dismiss! A forma como você gera seu RemoteId depende de você, no entanto, você precisa garantir que ele identifique exclusivamente sua notificação em todos os dispositivos e que o mesmo identificador possa ser gerado a partir de diferentes instâncias do seu aplicativo em execução em diferentes dispositivos.
Por exemplo, no meu aplicativo planejador de lição de casa, gero meu RemoteId dizendo que é do tipo "lembrete" e, em seguida, incluo o ID da conta online e o identificador online do item de lição de casa. Posso gerar consistentemente exatamente o mesmo RemoteId, independentemente de qual dispositivo está enviando a notificação, já que esses IDs online são compartilhados entre os dispositivos.
var toast = new ScheduledToastNotification(content.GetXml(), startTime);
// If the RemoteId property is present
if (ApiInformation.IsPropertyPresent(typeof(ScheduledToastNotification).FullName, nameof(ScheduledToastNotification.RemoteId)))
{
// Assign the RemoteId to add support for Universal Dismiss
toast.RemoteId = $"reminder_{account.AccountId}_{homework.Identifier}"
}
ToastNotificationManager.CreateToastNotifier().AddToSchedule(toast);
O código a seguir é executado no meu telefone e no aplicativo da área de trabalho, o que significa que a notificação em ambos os dispositivos terá o mesmo RemoteId.
Isso é tudo que você precisa fazer! Quando o usuário ignorar (ou clicar) em uma notificação, verificaremos se ela tem um RemoteId e, em caso afirmativo, distribuiremos um descarte desse RemoteId em todos os dispositivos do usuário.
Problema conhecido: recuperar o RemoteId por meio da ToastNotificationHistory.GetHistory()
API sempre retornará uma cadeia de caracteres vazia em vez do RemoteId especificado. Não se preocupe, tudo é funcional - está apenas recuperando o valor que está quebrado.
Observação
Se o usuário ou a empresa desabilitar o espelhamento de notificação para seu aplicativo (ou desabilitar completamente o espelhamento de notificação), o Descarte Universal não funcionará, pois não temos suas notificações na nuvem.
Dispositivos com suporte
Desde a Atualização de Aniversário, o Universal Dismiss tem suporte no Windows Mobile e no Windows Desktop. O Universal Dismiss funciona em ambas as direções, entre PC-PC, PC-Phone e Phone-Phone.
Windows developer